gmerlin-avdecoder
Functions
Query and select tracks

Functions

BGAV_PUBLIC int bgav_num_tracks (bgav_t *bgav)
 Get the number of tracks. More...
 
BGAV_PUBLIC const char * bgav_get_description (bgav_t *bgav)
 Get a technical description of the format. More...
 
BGAV_PUBLIC gavl_time_t bgav_get_duration (bgav_t *bgav, int track)
 Get the duration of a track. More...
 
BGAV_PUBLIC int bgav_num_audio_streams (bgav_t *bgav, int track)
 Get the number of audio streams of a track. More...
 
BGAV_PUBLIC int bgav_num_video_streams (bgav_t *bgav, int track)
 Get the number of video streams of a track. More...
 
BGAV_PUBLIC int bgav_num_subtitle_streams (bgav_t *bgav, int track)
 Get the number of subtitle streams of a track. More...
 
BGAV_PUBLIC const char * bgav_get_track_name (bgav_t *bgav, int track)
 Get the name a track. More...
 
BGAV_PUBLIC const bgav_metadata_tbgav_get_metadata (bgav_t *bgav, int track)
 Get metadata for a track. More...
 
BGAV_PUBLIC int bgav_select_track (bgav_t *bgav, int track)
 Select a track. More...
 
BGAV_PUBLIC int bgav_get_num_chapters (bgav_t *bgav, int track, int *timescale)
 Get the number of chapters. More...
 
BGAV_PUBLIC const char * bgav_get_chapter_name (bgav_t *bgav, int track, int chapter)
 Get the name of a chapter. More...
 
BGAV_PUBLIC int64_t bgav_get_chapter_time (bgav_t *bgav, int track, int chapter)
 Get the name of a chapter. More...
 

Detailed Description

Each opened decoder can have multiple tracks. You must select the track you wish to decode before you can do anything else.

Function Documentation

BGAV_PUBLIC int bgav_num_tracks ( bgav_t bgav)

Get the number of tracks.

Parameters
bgavA decoder instance
Returns
The number of tracks.
BGAV_PUBLIC const char* bgav_get_description ( bgav_t bgav)

Get a technical description of the format.

Parameters
bgavA decoder instance
Returns
Description
BGAV_PUBLIC gavl_time_t bgav_get_duration ( bgav_t bgav,
int  track 
)

Get the duration of a track.

Parameters
bgavA decoder instance
trackTrack index (starting with 0)
Returns
The duration of a track or GAVL_TIME_UNDEFINED if the duration is not known.
BGAV_PUBLIC int bgav_num_audio_streams ( bgav_t bgav,
int  track 
)

Get the number of audio streams of a track.

Parameters
bgavA decoder instance
trackTrack index (starting with 0)
Returns
The number of audio streams
BGAV_PUBLIC int bgav_num_video_streams ( bgav_t bgav,
int  track 
)

Get the number of video streams of a track.

Parameters
bgavA decoder instance
trackTrack index (starting with 0)
Returns
The number of video streams
BGAV_PUBLIC int bgav_num_subtitle_streams ( bgav_t bgav,
int  track 
)

Get the number of subtitle streams of a track.

Parameters
bgavA decoder instance
trackTrack index (starting with 0)
Returns
The number of subtitle streams
BGAV_PUBLIC const char* bgav_get_track_name ( bgav_t bgav,
int  track 
)

Get the name a track.

Parameters
bgavA decoder instance
trackTrack index (starting with 0)
Returns
The track name if present or NULL.
BGAV_PUBLIC const bgav_metadata_t* bgav_get_metadata ( bgav_t bgav,
int  track 
)

Get metadata for a track.

Parameters
bgavA decoder instance
trackTrack index (starts with 0)
Returns
A metadata container (see Metadata)
BGAV_PUBLIC int bgav_select_track ( bgav_t bgav,
int  track 
)

Select a track.

Parameters
bgavA decoder instance
trackTrack index (starts with 0)
Returns
0 if there was no such track, 1 else

Select the track. All subsequent function calls will refer to the track you selected.

BGAV_PUBLIC int bgav_get_num_chapters ( bgav_t bgav,
int  track,
int *  timescale 
)

Get the number of chapters.

Parameters
bgavA decoder instance
trackTrack index (starts with 0)
timescaleReturns the timescale of the seekpoints
Returns
The number of chapters or 0 if the format doesn't support chapters

Chapters are simply named seekpoints. Use bgav_get_chapter_time and bgav_get_chapter_name to query the chapters.

BGAV_PUBLIC const char* bgav_get_chapter_name ( bgav_t bgav,
int  track,
int  chapter 
)

Get the name of a chapter.

Parameters
bgavA decoder instance
trackTrack index (starts with 0)
chapterChapter index (starts with 0)
Returns
The name of the chapter or NULL
BGAV_PUBLIC int64_t bgav_get_chapter_time ( bgav_t bgav,
int  track,
int  chapter 
)

Get the name of a chapter.

Parameters
bgavA decoder instance
trackTrack index (starts with 0)
chapterChapter index (starts with 0)
Returns
The time of the chapter