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 int bgav_num_text_streams (bgav_t *bgav, int track)
 Get the number of text streams of a track. More...
 
BGAV_PUBLIC int bgav_num_overlay_streams (bgav_t *bgav, int track)
 Get the number of overlay 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...
 
BGAV_PUBLIC const gavl_chapter_list_t * bgav_get_chapter_list (bgav_t *bgav, int track)
 Get the chapter list. 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_num_tracks()

BGAV_PUBLIC int bgav_num_tracks ( bgav_t bgav)

Get the number of tracks.

Parameters
bgavA decoder instance
Returns
The number of tracks.

◆ bgav_get_description()

BGAV_PUBLIC const char* bgav_get_description ( bgav_t bgav)

Get a technical description of the format.

Parameters
bgavA decoder instance
Returns
Description

◆ bgav_get_duration()

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_num_audio_streams()

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_num_video_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_num_subtitle_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

Since version 1.3.0 the 2 categories of subtitles are referred to as text and overlay streams. The legacy functions still work as long as you use them consistently.

◆ bgav_num_text_streams()

BGAV_PUBLIC int bgav_num_text_streams ( bgav_t bgav,
int  track 
)

Get the number of text streams of a track.

Parameters
bgavA decoder instance
trackTrack index (starting with 0)
Returns
The number of subtitle streams

◆ bgav_num_overlay_streams()

BGAV_PUBLIC int bgav_num_overlay_streams ( bgav_t bgav,
int  track 
)

Get the number of overlay streams of a track.

Parameters
bgavA decoder instance
trackTrack index (starting with 0)
Returns
The number of subtitle streams

◆ bgav_get_track_name()

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_get_metadata()

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_select_track()

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_get_num_chapters()

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_get_chapter_name()

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_get_chapter_time()

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

◆ bgav_get_chapter_list()

BGAV_PUBLIC const gavl_chapter_list_t* bgav_get_chapter_list ( bgav_t bgav,
int  track 
)

Get the chapter list.

Parameters
bgavA decoder instance
trackTrack index (starts with 0)
Returns
A chapter list (or NULL)

Use this as a replacement for bgav_get_num_chapters , bgav_get_chapter_name and bgav_get_chapter_time