libgpac
Documentation of the core library of GPAC
+ Collaboration diagram for Track Groups:

Functions

GF_Err gf_isom_get_track_switch_group_count (GF_ISOFile *isom_file, u32 trackNumber, u32 *alternateGroupID, u32 *nb_groups)
 
const u32gf_isom_get_track_switch_parameter (GF_ISOFile *isom_file, u32 trackNumber, u32 group_index, u32 *switchGroupID, u32 *criteriaListSize)
 
GF_Err gf_isom_set_track_switch_parameter (GF_ISOFile *isom_file, u32 trackNumber, u32 trackRefGroup, Bool is_switch_group, u32 *switchGroupID, u32 *criteriaList, u32 criteriaListCount)
 
GF_Err gf_isom_reset_track_switch_parameter (GF_ISOFile *isom_file, u32 trackNumber, Bool reset_all_group)
 
GF_Err gf_isom_reset_switch_parameters (GF_ISOFile *isom_file)
 
GF_Err gf_isom_set_track_group (GF_ISOFile *isom_file, u32 trackNumber, u32 track_group_id, u32 group_type, Bool do_add)
 

Detailed Description

Function Documentation

◆ gf_isom_get_track_switch_group_count()

GF_Err gf_isom_get_track_switch_group_count ( GF_ISOFile isom_file,
u32  trackNumber,
u32 alternateGroupID,
u32 nb_groups 
)

gets the number of switching groups declared in this track if any

Parameters
isom_filethe target ISO file
trackNumberthe target track
alternateGroupIDalternate group id of track if speciifed, 0 otherwise
nb_groupsset to number of switching groups defined for this track
Returns
error if any

◆ gf_isom_get_track_switch_parameter()

const u32* gf_isom_get_track_switch_parameter ( GF_ISOFile isom_file,
u32  trackNumber,
u32  group_index,
u32 switchGroupID,
u32 criteriaListSize 
)

get the list of criteria (expressed as 4CC IDs, cf 3GPP TS 26.244)

Parameters
isom_filethe target ISO file
trackNumberthe track number
group_indexthe 1-based index of the group to inspect
switchGroupIDset to the ID of the switch group if any, 0 otherwise (alternate-only group)
criteriaListSizeset to the number of criteria items in returned list
Returns
list of criteria (four character codes, cf 3GPP TS 26.244) for the switch group

◆ gf_isom_set_track_switch_parameter()

GF_Err gf_isom_set_track_switch_parameter ( GF_ISOFile isom_file,
u32  trackNumber,
u32  trackRefGroup,
Bool  is_switch_group,
u32 switchGroupID,
u32 criteriaList,
u32  criteriaListCount 
)

sets a new (switch) group for this track

Parameters
isom_filethe target ISO file
trackNumberthe target track
trackRefGroupnumber of a track belonging to the same alternate group. If 0, a new alternate group will be created for this track
is_switch_groupif set, indicates that a switch group identifier shall be assigned to the created group. Otherwise, the criteria list is associated with the entire alternate group
switchGroupIDset to the ID of the switch group. On input, specifies the desired switchGroupID to use; if value is 0, next available switchGroupID in file is used. On output, is set to the switchGroupID used.
criteriaListlist of four character codes used as criteria - cf 3GPP TS 26.244
criteriaListCountnumber of criterias in list
Returns
error if any

◆ gf_isom_reset_track_switch_parameter()

GF_Err gf_isom_reset_track_switch_parameter ( GF_ISOFile isom_file,
u32  trackNumber,
Bool  reset_all_group 
)

resets track switch group information

Parameters
isom_filethe target ISO file
trackNumberthe target track
reset_all_groupif GF_TRUE, resets the entire alternate group this track belongs to; otherwise, resets switch group for the track only
Returns
error if any

◆ gf_isom_reset_switch_parameters()

GF_Err gf_isom_reset_switch_parameters ( GF_ISOFile isom_file)

resets all track switch group information in the entire movie

Parameters
isom_filethe target ISO file
Returns
error if any

◆ gf_isom_set_track_group()

GF_Err gf_isom_set_track_group ( GF_ISOFile isom_file,
u32  trackNumber,
u32  track_group_id,
u32  group_type,
Bool  do_add 
)

sets track in group of a given type and ID

Parameters
isom_filethe target ISO file
trackNumberthe target track
track_group_idID of the track group
group_typefour character code of the track group
do_addif GF_FALSE, track is removed from that group, otherwise it is added
Returns
error if any