gmerlin
Data Structures | Typedefs | Functions
EDL support
Media input

EDL support. More...

Data Structures

struct  bg_edl_segment_t
 One segment of a physical stream to appear in a logical stream. More...
struct  bg_edl_stream_t
 A locical stream. More...
struct  bg_edl_track_t
 A locical track. More...
struct  bg_edl_s
 EDL structure. More...

Typedefs

typedef struct bg_edl_s bg_edl_t
 Forward declaration for the EDL.

Functions

bg_edl_tbg_edl_create ()
 Create an empty EDL.
bg_edl_track_tbg_edl_add_track (bg_edl_t *e)
 Append a track to the EDL.
bg_edl_stream_tbg_edl_add_audio_stream (bg_edl_track_t *t)
 Append an audio stream to an EDL track.
bg_edl_stream_tbg_edl_add_video_stream (bg_edl_track_t *t)
 Append a video stream to an EDL track.
bg_edl_stream_tbg_edl_add_subtitle_text_stream (bg_edl_track_t *t)
 Append a text subtitle stream to an EDL track.
bg_edl_stream_tbg_edl_add_subtitle_overlay_stream (bg_edl_track_t *t)
 Append an overlay subtitle stream to an EDL track.
bg_edl_segment_tbg_edl_add_segment (bg_edl_stream_t *s)
 Append a segment to an EDL stream.
bg_edl_tbg_edl_copy (const bg_edl_t *e)
 Copy an entire EDL.
void bg_edl_destroy (bg_edl_t *e)
 Destroy an EDL and free all memory.
void bg_edl_dump (const bg_edl_t *e)
 Dump an EDL to stderr.
void bg_edl_save (const bg_edl_t *e, const char *filename)
 Save an EDL to an xml file.
bg_edl_tbg_edl_load (const char *filename)
 Load an EDL from an xml file.
void bg_edl_append_track_info (bg_edl_t *e, const bg_track_info_t *info, const char *url, int index, int num_tracks, const char *name)
 Append a bg_track_info_t to the EDL.

Detailed Description

EDL support.

Most media files contain one or more A/V streams. In addition however, there can be additional instructions, how the media should be played back. Basically you can have "logical" streams, where the EDL tells how they are composed from phyiscal streams.

To use EDLs with gmerlin, note the following:


Typedef Documentation

typedef struct bg_edl_s bg_edl_t

Forward declaration for the EDL.


Function Documentation

Create an empty EDL.

Returns:
A newly allocated EDL

Append a track to the EDL.

Parameters:
eAn EDL
Returns:
The new track

Append an audio stream to an EDL track.

Parameters:
tAn EDL track
Returns:
The new stream

Append a video stream to an EDL track.

Parameters:
tAn EDL track
Returns:
The new stream

Append a text subtitle stream to an EDL track.

Parameters:
tAn EDL track
Returns:
The new stream

Append an overlay subtitle stream to an EDL track.

Parameters:
tAn EDL track
Returns:
The new stream

Append a segment to an EDL stream.

Parameters:
sAn EDL stream
Returns:
The new segment
bg_edl_t* bg_edl_copy ( const bg_edl_t e)

Copy an entire EDL.

Parameters:
eAn EDL
Returns:
Copy of the EDL
void bg_edl_destroy ( bg_edl_t e)

Destroy an EDL and free all memory.

Parameters:
eAn EDL
void bg_edl_dump ( const bg_edl_t e)

Dump an EDL to stderr.

Parameters:
eAn EDL

Mainly used for debugging

void bg_edl_save ( const bg_edl_t e,
const char *  filename 
)

Save an EDL to an xml file.

Parameters:
eAn EDL
filenameName of the file
bg_edl_t* bg_edl_load ( const char *  filename)

Load an EDL from an xml file.

Parameters:
filenameName of the file
Returns:
The EDL or NULL.
void bg_edl_append_track_info ( bg_edl_t e,
const bg_track_info_t info,
const char *  url,
int  index,
int  num_tracks,
const char *  name 
)

Append a bg_track_info_t to the EDL.

Parameters:
eAn EDL
infoA track info (see bg_track_info_t)
urlThe location of the track
indexThe index of the track in the location
num_tracksThe total number of the tracks in the location
nameAn optional name.

This function takes a track info (e.g. from an opened input plugin) and creates an EDL track, which corresponds to that track.

If name is NULL, the track name will be constructed from the filename.