gmerlin
Data Structures | Typedefs | Functions
EDL support

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. More...
 

Functions

bg_edl_tbg_edl_create ()
 Create an empty EDL. More...
 
bg_edl_track_tbg_edl_add_track (bg_edl_t *e)
 Append a track to the EDL. More...
 
bg_edl_stream_tbg_edl_add_audio_stream (bg_edl_track_t *t)
 Append an audio stream to an EDL track. More...
 
bg_edl_stream_tbg_edl_add_video_stream (bg_edl_track_t *t)
 Append a video stream to an EDL track. More...
 
bg_edl_stream_tbg_edl_add_subtitle_text_stream (bg_edl_track_t *t)
 Append a text subtitle stream to an EDL track. More...
 
bg_edl_stream_tbg_edl_add_subtitle_overlay_stream (bg_edl_track_t *t)
 Append an overlay subtitle stream to an EDL track. More...
 
bg_edl_segment_tbg_edl_add_segment (bg_edl_stream_t *s)
 Append a segment to an EDL stream. More...
 
bg_edl_tbg_edl_copy (const bg_edl_t *e)
 Copy an entire EDL. More...
 
void bg_edl_destroy (bg_edl_t *e)
 Destroy an EDL and free all memory. More...
 
void bg_edl_dump (const bg_edl_t *e)
 Dump an EDL to stderr. More...
 
void bg_edl_save (const bg_edl_t *e, const char *filename)
 Save an EDL to an xml file. More...
 
bg_edl_tbg_edl_load (const char *filename)
 Load an EDL from an xml file. More...
 
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. More...
 

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

bg_edl_t* bg_edl_create ( )

Create an empty EDL.

Returns
A newly allocated EDL
bg_edl_track_t* bg_edl_add_track ( bg_edl_t e)

Append a track to the EDL.

Parameters
eAn EDL
Returns
The new track
bg_edl_stream_t* bg_edl_add_audio_stream ( bg_edl_track_t t)

Append an audio stream to an EDL track.

Parameters
tAn EDL track
Returns
The new stream
bg_edl_stream_t* bg_edl_add_video_stream ( bg_edl_track_t t)

Append a video stream to an EDL track.

Parameters
tAn EDL track
Returns
The new stream
bg_edl_stream_t* bg_edl_add_subtitle_text_stream ( bg_edl_track_t t)

Append a text subtitle stream to an EDL track.

Parameters
tAn EDL track
Returns
The new stream
bg_edl_stream_t* bg_edl_add_subtitle_overlay_stream ( bg_edl_track_t t)

Append an overlay subtitle stream to an EDL track.

Parameters
tAn EDL track
Returns
The new stream
bg_edl_segment_t* bg_edl_add_segment ( bg_edl_stream_t s)

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.