GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
movie_fragments.c File Reference
+ Include dependency graph for movie_fragments.c:

Data Structures

struct  SIDXEntry
 

Functions

GF_TrackExtendsBoxGetTrex (GF_MovieBox *moov, u32 TrackID)
 
GF_TrackFragmentBoxGetTraf (GF_ISOFile *mov, u32 TrackID)
 
GF_Err gf_isom_set_movie_duration (GF_ISOFile *movie, u64 duration)
 
GF_Err gf_isom_finalize_for_fragment (GF_ISOFile *movie, u32 media_segment_type)
 
GF_Err gf_isom_change_track_fragment_defaults (GF_ISOFile *movie, u32 TrackID, u32 DefaultSampleDescriptionIndex, u32 DefaultSampleDuration, u32 DefaultSampleSize, u8 DefaultSampleIsSync, u8 DefaultSamplePadding, u16 DefaultDegradationPriority)
 
GF_Err gf_isom_setup_track_fragment (GF_ISOFile *movie, u32 TrackID, u32 DefaultSampleDescriptionIndex, u32 DefaultSampleDuration, u32 DefaultSampleSize, u8 DefaultSampleIsSync, u8 DefaultSamplePadding, u16 DefaultDegradationPriority)
 
u32 GetNumUsedValues (GF_TrackFragmentBox *traf, u32 value, u32 index)
 
void ComputeFragmentDefaults (GF_TrackFragmentBox *traf)
 
GF_Err gf_isom_set_fragment_option (GF_ISOFile *movie, u32 TrackID, u32 Code, u32 Param)
 
void update_trun_offsets (GF_ISOFile *movie, s32 offset)
 
u32 UpdateRuns (GF_ISOFile *movie, GF_TrackFragmentBox *traf)
 
static u32 moof_get_sap_info (GF_MovieFragmentBox *moof, u32 refTrackID, u32 *sap_delta, Bool *starts_with_sap)
 
u32 moof_get_duration (GF_MovieFragmentBox *moof, u32 refTrackID)
 
u32 moof_get_earliest_cts (GF_MovieFragmentBox *moof, u32 refTrackID)
 
GF_Err StoreFragment (GF_ISOFile *movie, Bool load_mdat_only, s32 data_offset_diff, u32 *moof_size)
 
static GF_Err sidx_rewrite (GF_SegmentIndexBox *sidx, GF_BitStream *bs, u64 start_pos)
 
GF_Err gf_isom_allocate_sidx (GF_ISOFile *movie, s32 subsegs_per_sidx, Bool daisy_chain_sidx, u32 nb_segs, u32 *frags_per_segment, u32 *start_range, u32 *end_range)
 
static GF_Err gf_isom_write_styp (GF_ISOFile *movie, Bool last_segment)
 
GF_Err gf_isom_flush_fragments (GF_ISOFile *movie, Bool last_segment)
 
static u64 get_presentation_time (u64 media_time, s32 ts_shift)
 
GF_Err gf_isom_close_segment (GF_ISOFile *movie, s32 subsegments_per_sidx, u32 referenceTrackID, u64 ref_track_decode_time, s32 ts_shift, u64 ref_track_next_cts, Bool daisy_chain_sidx, Bool last_segment, u32 segment_marker_4cc, u64 *index_start_range, u64 *index_end_range)
 
GF_Err gf_isom_close_fragments (GF_ISOFile *movie)
 
GF_Err gf_isom_start_segment (GF_ISOFile *movie, char *SegName, Bool memory_mode)
 
GF_Err gf_isom_set_fragment_reference_time (GF_ISOFile *movie, u32 reference_track_ID, u64 ntp, u64 timestamp)
 
GF_Err gf_isom_start_fragment (GF_ISOFile *movie, Bool moof_first)
 
GF_Err gf_isom_clone_pssh (GF_ISOFile *output, GF_ISOFile *input, Bool in_moof)
 
u32 GetRunSize (GF_TrackFragmentRunBox *trun)
 
GF_Err gf_isom_fragment_add_sample (GF_ISOFile *movie, u32 TrackID, GF_ISOSample *sample, u32 DescIndex, u32 Duration, u8 PaddingBits, u16 DegradationPriority, Bool redundant_coding)
 
GF_Err gf_isom_fragment_add_sai (GF_ISOFile *output, GF_ISOFile *input, u32 TrackID, u32 SampleNum)
 
GF_Err gf_isom_fragment_append_data (GF_ISOFile *movie, u32 TrackID, char *data, u32 data_size, u8 PaddingBits)
 
GF_Err gf_isom_fragment_add_subsample (GF_ISOFile *movie, u32 TrackID, u32 subSampleSize, u8 priority, u32 reserved, Bool discardable)
 
GF_Err gf_isom_fragment_copy_subsample (GF_ISOFile *dest, u32 TrackID, GF_ISOFile *orig, u32 track, u32 sampleNumber)
 
u32 gf_isom_is_track_fragmented (GF_ISOFile *movie, u32 TrackID)
 
u32 gf_isom_is_fragmented (GF_ISOFile *movie)
 
GF_Err gf_isom_set_traf_base_media_decode_time (GF_ISOFile *movie, u32 TrackID, u64 decode_time)
 
void gf_isom_set_next_moof_number (GF_ISOFile *movie, u32 value)
 
u32 gf_isom_get_next_moof_number (GF_ISOFile *movie)
 

Data Structure Documentation

struct SIDXEntry
+ Collaboration diagram for SIDXEntry:
Data Fields
GF_SegmentIndexBox * sidx
u64 start_offset
u64 end_offset

Function Documentation

GF_TrackExtendsBox* GetTrex ( GF_MovieBox moov,
u32  TrackID 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_TrackFragmentBox* GetTraf ( GF_ISOFile *  mov,
u32  TrackID 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_set_movie_duration ( GF_ISOFile *  movie,
u64  duration 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_finalize_for_fragment ( GF_ISOFile *  movie,
u32  media_segment_type 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_change_track_fragment_defaults ( GF_ISOFile *  movie,
u32  TrackID,
u32  DefaultSampleDescriptionIndex,
u32  DefaultSampleDuration,
u32  DefaultSampleSize,
u8  DefaultSampleIsSync,
u8  DefaultSamplePadding,
u16  DefaultDegradationPriority 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_setup_track_fragment ( GF_ISOFile *  movie,
u32  TrackID,
u32  DefaultSampleDescriptionIndex,
u32  DefaultSampleDuration,
u32  DefaultSampleSize,
u8  DefaultSampleIsSync,
u8  DefaultSamplePadding,
u16  DefaultDegradationPriority 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 GetNumUsedValues ( GF_TrackFragmentBox traf,
u32  value,
u32  index 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void ComputeFragmentDefaults ( GF_TrackFragmentBox traf)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_set_fragment_option ( GF_ISOFile *  movie,
u32  TrackID,
u32  Code,
u32  Param 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void update_trun_offsets ( GF_ISOFile *  movie,
s32  offset 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 UpdateRuns ( GF_ISOFile *  movie,
GF_TrackFragmentBox traf 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u32 moof_get_sap_info ( GF_MovieFragmentBox moof,
u32  refTrackID,
u32 sap_delta,
Bool starts_with_sap 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 moof_get_duration ( GF_MovieFragmentBox moof,
u32  refTrackID 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 moof_get_earliest_cts ( GF_MovieFragmentBox moof,
u32  refTrackID 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err StoreFragment ( GF_ISOFile *  movie,
Bool  load_mdat_only,
s32  data_offset_diff,
u32 moof_size 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err sidx_rewrite ( GF_SegmentIndexBox sidx,
GF_BitStream *  bs,
u64  start_pos 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_allocate_sidx ( GF_ISOFile *  movie,
s32  subsegs_per_sidx,
Bool  daisy_chain_sidx,
u32  nb_segs,
u32 frags_per_segment,
u32 start_range,
u32 end_range 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static GF_Err gf_isom_write_styp ( GF_ISOFile *  movie,
Bool  last_segment 
)
static

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_flush_fragments ( GF_ISOFile *  movie,
Bool  last_segment 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static u64 get_presentation_time ( u64  media_time,
s32  ts_shift 
)
static

+ Here is the caller graph for this function:

GF_Err gf_isom_close_segment ( GF_ISOFile *  movie,
s32  subsegments_per_sidx,
u32  referenceTrackID,
u64  ref_track_decode_time,
s32  ts_shift,
u64  ref_track_next_cts,
Bool  daisy_chain_sidx,
Bool  last_segment,
u32  segment_marker_4cc,
u64 index_start_range,
u64 index_end_range 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_close_fragments ( GF_ISOFile *  movie)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_start_segment ( GF_ISOFile *  movie,
char *  SegName,
Bool  memory_mode 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_set_fragment_reference_time ( GF_ISOFile *  movie,
u32  reference_track_ID,
u64  ntp,
u64  timestamp 
)
GF_Err gf_isom_start_fragment ( GF_ISOFile *  movie,
Bool  moof_first 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_clone_pssh ( GF_ISOFile *  output,
GF_ISOFile *  input,
Bool  in_moof 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 GetRunSize ( GF_TrackFragmentRunBox trun)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_fragment_add_sample ( GF_ISOFile *  movie,
u32  TrackID,
GF_ISOSample sample,
u32  DescIndex,
u32  Duration,
u8  PaddingBits,
u16  DegradationPriority,
Bool  redundant_coding 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_fragment_add_sai ( GF_ISOFile *  output,
GF_ISOFile *  input,
u32  TrackID,
u32  SampleNum 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_isom_fragment_append_data ( GF_ISOFile *  movie,
u32  TrackID,
char *  data,
u32  data_size,
u8  PaddingBits 
)

+ Here is the call graph for this function:

GF_Err gf_isom_fragment_add_subsample ( GF_ISOFile *  movie,
u32  TrackID,
u32  subSampleSize,
u8  priority,
u32  reserved,
Bool  discardable 
)

+ Here is the call graph for this function:

GF_Err gf_isom_fragment_copy_subsample ( GF_ISOFile *  dest,
u32  TrackID,
GF_ISOFile *  orig,
u32  track,
u32  sampleNumber 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_isom_is_track_fragmented ( GF_ISOFile *  movie,
u32  TrackID 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_isom_is_fragmented ( GF_ISOFile *  movie)

+ Here is the caller graph for this function:

GF_Err gf_isom_set_traf_base_media_decode_time ( GF_ISOFile *  movie,
u32  TrackID,
u64  decode_time 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_isom_set_next_moof_number ( GF_ISOFile *  movie,
u32  value 
)

+ Here is the caller graph for this function:

u32 gf_isom_get_next_moof_number ( GF_ISOFile *  movie)

+ Here is the caller graph for this function: