gavl
Data Structures | Functions
Chapter list

Chapter list. More...

Data Structures

struct  gavl_chapter_list_t
 Chapter list. More...
 

Functions

GAVL_PUBLIC gavl_chapter_list_tgavl_chapter_list_create (int num_chapters)
 Create chapter list.
 
GAVL_PUBLIC gavl_chapter_list_tgavl_chapter_list_copy (const gavl_chapter_list_t *list)
 Copy chapter list.
 
GAVL_PUBLIC void gavl_chapter_list_destroy (gavl_chapter_list_t *list)
 Destroy chapter list.
 
GAVL_PUBLIC void gavl_chapter_list_insert (gavl_chapter_list_t *list, int index, int64_t time, const char *name)
 Insert a chapter into a chapter list.
 
GAVL_PUBLIC void gavl_chapter_list_delete (gavl_chapter_list_t *list, int index)
 Delete a chapter from a chapter list.
 
GAVL_PUBLIC int gavl_chapter_list_get_current (gavl_chapter_list_t *list, gavl_time_t time)
 Get current chapter.
 
GAVL_PUBLIC int gavl_chapter_list_changed (gavl_chapter_list_t *list, gavl_time_t time, int *current_chapter)
 Get current chapter.
 
GAVL_PUBLIC void gavl_chapter_list_dump (const gavl_chapter_list_t *list)
 Dump a chapter list to stderr.
 

Detailed Description

Chapter list.

Chapters in gavl are simply seekpoints with (optionally) associated names.

Since 1.5.0

Function Documentation

◆ gavl_chapter_list_create()

GAVL_PUBLIC gavl_chapter_list_t * gavl_chapter_list_create ( int  num_chapters)

Create chapter list.

Parameters
num_chaptersInitial number of chapters

◆ gavl_chapter_list_copy()

GAVL_PUBLIC gavl_chapter_list_t * gavl_chapter_list_copy ( const gavl_chapter_list_t list)

Copy chapter list.

Parameters
listChapter list

◆ gavl_chapter_list_destroy()

GAVL_PUBLIC void gavl_chapter_list_destroy ( gavl_chapter_list_t list)

Destroy chapter list.

Parameters
listA chapter list

◆ gavl_chapter_list_insert()

GAVL_PUBLIC void gavl_chapter_list_insert ( gavl_chapter_list_t list,
int  index,
int64_t  time,
const char *  name 
)

Insert a chapter into a chapter list.

Parameters
listA chapter list
indexPosition (starting with 0) where the new chapter will be placed
timeStart time of the chapter
nameChapter name (or NULL)

◆ gavl_chapter_list_delete()

GAVL_PUBLIC void gavl_chapter_list_delete ( gavl_chapter_list_t list,
int  index 
)

Delete a chapter from a chapter list.

Parameters
listA chapter list
indexPosition (starting with 0) of the chapter to delete

◆ gavl_chapter_list_get_current()

GAVL_PUBLIC int gavl_chapter_list_get_current ( gavl_chapter_list_t list,
gavl_time_t  time 
)

Get current chapter.

Parameters
listA chapter list
timePlayback time
Returns
The current chapter index

Use this function after seeking to signal a chapter change

◆ gavl_chapter_list_changed()

GAVL_PUBLIC int gavl_chapter_list_changed ( gavl_chapter_list_t list,
gavl_time_t  time,
int *  current_chapter 
)

Get current chapter.

Parameters
listA chapter list
timePlayback time
current_chapterReturns the current chapter
Returns
1 if the chapter changed, 0 else

Use this function during linear playback to signal a chapter change

◆ gavl_chapter_list_dump()

GAVL_PUBLIC void gavl_chapter_list_dump ( const gavl_chapter_list_t list)

Dump a chapter list to stderr.

Parameters
listA chapter list

Use this for debugging