libgpac
Documentation of the core library of GPAC
isom_write.c File Reference
#include <gpac/internal/isomedia_dev.h>
#include <gpac/constants.h>
#include <gpac/iso639.h>
#include <gpac/maths.h>
#include <gpac/utf.h>
#include <gpac/xml.h>
+ Include dependency graph for isom_write.c:

Macros

#define RESCALE_TSVAL(_tsval)
 

Functions

GF_Err CanAccessMovie (GF_ISOFile *movie, GF_ISOOpenMode Mode)
 
static GF_Err unpack_track (GF_TrackBox *trak)
 
GF_Err FlushCaptureMode (GF_ISOFile *movie)
 
static GF_Err CheckNoData (GF_ISOFile *movie)
 
GF_Err AddMovieIOD (GF_MovieBox *moov, u8 isIOD)
 
GF_EXPORT GF_Err gf_isom_add_track_to_root_od (GF_ISOFile *movie, u32 trackNumber)
 
GF_EXPORT GF_Err gf_isom_remove_root_od (GF_ISOFile *movie)
 
GF_EXPORT GF_Err gf_isom_remove_track_from_root_od (GF_ISOFile *movie, u32 trackNumber)
 
GF_EXPORT GF_Err gf_isom_set_creation_time (GF_ISOFile *movie, u64 ctime, u64 mtime)
 
GF_EXPORT GF_Err gf_isom_set_track_creation_time (GF_ISOFile *movie, u32 trackNumber, u64 ctime, u64 mtime)
 
GF_EXPORT GF_Err gf_isom_set_media_creation_time (GF_ISOFile *movie, u32 trackNumber, u64 ctime, u64 mtime)
 
GF_EXPORT GF_Err gf_isom_set_track_enabled (GF_ISOFile *movie, u32 trackNumber, Bool enableTrack)
 
GF_EXPORT GF_Err gf_isom_set_track_flags (GF_ISOFile *movie, u32 trackNumber, u32 flags, GF_ISOMTrackFlagOp op)
 
GF_EXPORT GF_Err gf_isom_set_media_language (GF_ISOFile *movie, u32 trackNumber, char *code)
 
static GF_Err gf_isom_set_root_iod (GF_ISOFile *movie)
 
GF_EXPORT GF_Err gf_isom_add_desc_to_root_od (GF_ISOFile *movie, const GF_Descriptor *theDesc)
 
GF_EXPORT GF_Err gf_isom_set_timescale (GF_ISOFile *movie, u32 timeScale)
 
GF_EXPORT GF_Err gf_isom_set_pl_indication (GF_ISOFile *movie, GF_ISOProfileLevelType PL_Code, u8 ProfileLevel)
 
GF_EXPORT GF_Err gf_isom_set_root_od_id (GF_ISOFile *movie, u32 OD_ID)
 
GF_EXPORT GF_Err gf_isom_set_root_od_url (GF_ISOFile *movie, const char *url_string)
 
GF_EXPORT GF_ISOTrackID gf_isom_get_last_created_track_id (GF_ISOFile *movie)
 
GF_EXPORT GF_Err gf_isom_load_extra_boxes (GF_ISOFile *movie, u8 *moov_boxes, u32 moov_boxes_size, Bool udta_only)
 
GF_EXPORT u32 gf_isom_new_track_from_template (GF_ISOFile *movie, GF_ISOTrackID trakID, u32 MediaType, u32 TimeScale, u8 *tk_box, u32 tk_box_size, Bool udta_only)
 
GF_Err gf_isom_set_track_stsd_templates (GF_ISOFile *movie, u32 trackNumber, u8 *stsd_data, u32 stsd_data_size)
 
GF_EXPORT u32 gf_isom_new_track (GF_ISOFile *movie, GF_ISOTrackID trakID, u32 MediaType, u32 TimeScale)
 
GF_EXPORT u32 gf_isom_new_external_track (GF_ISOFile *movie, GF_ISOTrackID trakID, GF_ISOTrackID refTrakID, u32 MediaType, u32 TimeScale, const char *uri)
 
GF_EXPORT GF_Err gf_isom_force_track_duration (GF_ISOFile *movie, u32 trackNumber, u64 dur)
 
GF_EXPORT GF_Err gf_isom_remove_stream_description (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex)
 
GF_EXPORT GF_Err gf_isom_new_mpeg4_description (GF_ISOFile *movie, u32 trackNumber, const GF_ESD *esd, const char *URLname, const char *URNname, u32 *outDescriptionIndex)
 
GF_Err gf_isom_flush_chunk (GF_TrackBox *trak, Bool is_final)
 
static GF_Err trak_add_sample (GF_ISOFile *movie, GF_TrackBox *trak, const GF_ISOSample *sample, u32 descIndex, u64 data_offset, u32 syncShadowSampleNum)
 
GF_EXPORT GF_Err gf_isom_add_sample (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, const GF_ISOSample *sample)
 
GF_EXPORT GF_Err gf_isom_add_sample_shadow (GF_ISOFile *movie, u32 trackNumber, GF_ISOSample *sample)
 
GF_EXPORT GF_Err gf_isom_append_sample_data (GF_ISOFile *movie, u32 trackNumber, u8 *data, u32 data_size)
 
GF_EXPORT GF_Err gf_isom_add_sample_reference (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, GF_ISOSample *sample, u64 dataOffset)
 
static GF_Err gf_isom_set_last_sample_duration_internal (GF_ISOFile *movie, u32 trackNumber, u64 dur_num, u32 dur_den, u32 mode)
 
GF_EXPORT GF_Err gf_isom_set_last_sample_duration (GF_ISOFile *movie, u32 trackNumber, u32 duration)
 
GF_EXPORT GF_Err gf_isom_patch_last_sample_duration (GF_ISOFile *movie, u32 trackNumber, u64 next_dts)
 
GF_EXPORT GF_Err gf_isom_set_last_sample_duration_ex (GF_ISOFile *movie, u32 trackNumber, u32 dur_num, u32 dur_den)
 
GF_EXPORT GF_Err gf_isom_update_sample (GF_ISOFile *movie, u32 trackNumber, u32 sampleNumber, GF_ISOSample *sample, Bool data_only)
 
GF_EXPORT GF_Err gf_isom_update_sample_reference (GF_ISOFile *movie, u32 trackNumber, u32 sampleNumber, GF_ISOSample *sample, u64 data_offset)
 
static void gf_isom_meta_track_remove (GF_ISOFile *movie, GF_TrackBox *trak, u32 sample_number)
 
GF_EXPORT GF_Err gf_isom_remove_sample (GF_ISOFile *movie, u32 trackNumber, u32 sampleNumber)
 
GF_EXPORT GF_Err gf_isom_set_final_name (GF_ISOFile *movie, char *filename)
 
GF_EXPORT GF_Err gf_isom_add_desc_to_description (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, const GF_Descriptor *theDesc)
 
GF_EXPORT GF_Err gf_isom_change_mpeg4_description (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, const GF_ESD *newESD)
 
GF_EXPORT GF_Err gf_isom_set_visual_info (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, u32 Width, u32 Height)
 
GF_EXPORT GF_Err gf_isom_set_visual_bit_depth (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, u16 bitDepth)
 
GF_EXPORT GF_Err gf_isom_set_pixel_aspect_ratio (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, s32 hSpacing, s32 vSpacing, Bool force_par)
 
GF_EXPORT GF_Err gf_isom_set_visual_color_info (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, u32 colour_type, u16 colour_primaries, u16 transfer_characteristics, u16 matrix_coefficients, Bool full_range_flag, u8 *icc_data, u32 icc_size)
 
GF_EXPORT GF_Err gf_isom_set_dolby_vision_profile (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, GF_DOVIDecoderConfigurationRecord *dvcc)
 
GF_EXPORT GF_Err gf_isom_set_high_dynamic_range_info (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, GF_MasteringDisplayColourVolumeInfo *mdcv, GF_ContentLightLevelInfo *clli)
 
GF_EXPORT GF_Err gf_isom_set_clean_aperture (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, u32 cleanApertureWidthN, u32 cleanApertureWidthD, u32 cleanApertureHeightN, u32 cleanApertureHeightD, s32 horizOffN, u32 horizOffD, s32 vertOffN, u32 vertOffD)
 
GF_Err gf_isom_update_aperture_info (GF_ISOFile *movie, u32 trackNumber, Bool remove)
 
GF_EXPORT GF_Err gf_isom_set_image_sequence_coding_constraints (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, Bool remove, Bool all_ref_pics_intra, Bool intra_pred_used, u32 max_ref_per_pic)
 
GF_EXPORT GF_Err gf_isom_set_image_sequence_alpha (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, Bool remove)
 
GF_EXPORT GF_Err gf_isom_set_audio_info (GF_ISOFile *movie, u32 trackNumber, u32 StreamDescriptionIndex, u32 sampleRate, u32 nbChannels, u8 bitsPerSample, GF_AudioSampleEntryImportMode asemode)
 
GF_EXPORT GF_Err gf_isom_set_audio_layout (GF_ISOFile *movie, u32 trackNumber, u32 sampleDescriptionIndex, GF_AudioChannelLayout *layout)
 
GF_EXPORT GF_Err gf_isom_set_storage_mode (GF_ISOFile *movie, GF_ISOStorageMode storageMode)
 
GF_EXPORT GF_Err gf_isom_enable_compression (GF_ISOFile *file, GF_ISOCompressMode compress_mode, u32 compress_flags)
 
GF_EXPORT GF_Err gf_isom_force_64bit_chunk_offset (GF_ISOFile *file, Bool set_on)
 
static GF_Err gf_isom_set_edit_internal (GF_ISOFile *movie, u32 trackNumber, u64 EditTime, u64 EditDuration, u64 MediaTime, u32 media_rate, GF_ISOEditType EditMode)
 
GF_EXPORT GF_Err gf_isom_set_edit (GF_ISOFile *movie, u32 trackNumber, u64 EditTime, u64 EditDuration, u64 MediaTime, GF_ISOEditType EditMode)
 
GF_EXPORT GF_Err gf_isom_set_edit_with_rate (GF_ISOFile *movie, u32 trackNumber, u64 EditTime, u64 EditDuration, u64 MediaTime, u32 media_rate)
 
GF_EXPORT GF_Err gf_isom_remove_edits (GF_ISOFile *movie, u32 trackNumber)
 
GF_EXPORT GF_Err gf_isom_remove_edit (GF_ISOFile *movie, u32 trackNumber, u32 seg_index)
 
GF_EXPORT GF_Err gf_isom_append_edit (GF_ISOFile *movie, u32 trackNumber, u64 EditDuration, u64 MediaTime, GF_ISOEditType EditMode)
 
GF_EXPORT GF_Err gf_isom_modify_edit (GF_ISOFile *movie, u32 trackNumber, u32 seg_index, u64 EditDuration, u64 MediaTime, GF_ISOEditType EditMode)
 
static void update_next_track_id (GF_ISOFile *movie)
 
GF_EXPORT GF_Err gf_isom_remove_track (GF_ISOFile *movie, u32 trackNumber)
 
GF_EXPORT GF_Err gf_isom_set_copyright (GF_ISOFile *movie, const char *threeCharCode, char *notice)
 
GF_EXPORT GF_Err gf_isom_add_track_kind (GF_ISOFile *movie, u32 trackNumber, const char *schemeURI, const char *value)
 
GF_EXPORT GF_Err gf_isom_remove_track_kind (GF_ISOFile *movie, u32 trackNumber, const char *schemeURI, const char *value)
 
GF_EXPORT GF_Err gf_isom_add_chapter (GF_ISOFile *movie, u32 trackNumber, u64 timestamp, char *name)
 
GF_EXPORT GF_Err gf_isom_remove_chapter (GF_ISOFile *movie, u32 trackNumber, u32 index)
 
GF_EXPORT GF_Err gf_isom_set_interleave_time (GF_ISOFile *movie, u32 InterleaveTime)
 
GF_EXPORT GF_Err gf_isom_use_compact_size (GF_ISOFile *movie, u32 trackNumber, Bool CompactionOn)
 
GF_EXPORT GF_Err gf_isom_disable_brand_rewrite (GF_ISOFile *movie, Bool do_disable)
 
GF_EXPORT GF_Err gf_isom_set_brand_info (GF_ISOFile *movie, u32 MajorBrand, u32 MinorVersion)
 
GF_EXPORT GF_Err gf_isom_modify_alternate_brand (GF_ISOFile *movie, u32 Brand, Bool AddIt)
 
GF_Err gf_isom_reset_alt_brands_ex (GF_ISOFile *movie, Bool leave_empty)
 
GF_EXPORT GF_Err gf_isom_reset_alt_brands (GF_ISOFile *movie)
 
GF_EXPORT GF_Err gf_isom_remove_user_data_item (GF_ISOFile *movie, u32 trackNumber, u32 UserDataType, bin128 UUID, u32 UserDataIndex)
 
GF_EXPORT GF_Err gf_isom_remove_user_data (GF_ISOFile *movie, u32 trackNumber, u32 UserDataType, bin128 UUID)
 
GF_EXPORT GF_Err gf_isom_add_user_data (GF_ISOFile *movie, u32 trackNumber, u32 UserDataType, bin128 UUID, u8 *data, u32 DataLength)
 
GF_EXPORT GF_Err gf_isom_add_user_data_boxes (GF_ISOFile *movie, u32 trackNumber, u8 *data, u32 DataLength)
 
GF_EXPORT GF_Err gf_isom_clone_pl_indications (GF_ISOFile *orig, GF_ISOFile *dest)
 
GF_EXPORT GF_Err gf_isom_clone_box (GF_Box *src, GF_Box **dst)
 
GF_EXPORT GF_Err gf_isom_get_raw_user_data (GF_ISOFile *file, u8 **output, u32 *output_size)
 
static GF_Err gf_isom_get_trex_props (GF_ISOFile *file, GF_TrackBox *trak, GF_TrackExtendsBox **trex, GF_TrackExtensionPropertiesBox **trexprop)
 
GF_EXPORT GF_Err gf_isom_get_track_template (GF_ISOFile *file, u32 track, u8 **output, u32 *output_size)
 
GF_EXPORT GF_Err gf_isom_get_trex_template (GF_ISOFile *file, u32 track, u8 **output, u32 *output_size)
 
GF_EXPORT GF_Err gf_isom_get_stsd_template (GF_ISOFile *file, u32 track, u32 stsd_idx, u8 **output, u32 *output_size)
 
GF_EXPORT GF_Err gf_isom_clone_track (GF_ISOFile *orig_file, u32 orig_track, GF_ISOFile *dest_file, GF_ISOTrackCloneFlags flags, u32 *dest_track)
 
GF_EXPORT GF_Err gf_isom_clone_sample_description (GF_ISOFile *the_file, u32 trackNumber, GF_ISOFile *orig_file, u32 orig_track, u32 orig_desc_index, const char *URLname, const char *URNname, u32 *outDescriptionIndex)
 
GF_EXPORT GF_Err gf_isom_new_generic_sample_description (GF_ISOFile *movie, u32 trackNumber, const char *URLname, const char *URNname, GF_GenericSampleDescription *udesc, u32 *outDescriptionIndex)
 
GF_EXPORT GF_Err gf_isom_set_track_reference (GF_ISOFile *the_file, u32 trackNumber, u32 referenceType, GF_ISOTrackID ReferencedTrackID)
 
GF_EXPORT GF_Err gf_isom_purge_track_reference (GF_ISOFile *the_file, u32 trackNumber)
 
GF_EXPORT GF_Err gf_isom_remove_track_references (GF_ISOFile *the_file, u32 trackNumber)
 
GF_EXPORT GF_Err gf_isom_remove_track_reference (GF_ISOFile *isom_file, u32 trackNumber, u32 ref_type)
 
GF_EXPORT GF_Err gf_isom_set_track_id (GF_ISOFile *movie, u32 trackNumber, GF_ISOTrackID trackID)
 
GF_EXPORT GF_Err gf_isom_rewrite_track_dependencies (GF_ISOFile *movie, u32 trackNumber)
 
GF_EXPORT GF_Err gf_isom_shift_cts_offset (GF_ISOFile *the_file, u32 trackNumber, s32 offset_shift)
 
GF_EXPORT GF_Err gf_isom_set_cts_packing (GF_ISOFile *the_file, u32 trackNumber, Bool unpack)
 
GF_EXPORT GF_Err gf_isom_set_track_matrix (GF_ISOFile *the_file, u32 trackNumber, s32 matrix[9])
 
GF_EXPORT GF_Err gf_isom_set_track_layout_info (GF_ISOFile *the_file, u32 trackNumber, u32 width, u32 height, s32 translation_x, s32 translation_y, s16 layer)
 
GF_EXPORT GF_Err gf_isom_set_media_timescale (GF_ISOFile *the_file, u32 trackNumber, u32 newTS, u32 new_tsinc, u32 force_rescale_type)
 
GF_EXPORT Bool gf_isom_box_equal (GF_Box *a, GF_Box *b)
 
static u32 base_sample_entry_type (u32 type)
 
GF_EXPORT Bool gf_isom_is_same_sample_description (GF_ISOFile *f1, u32 tk1, u32 sdesc_index1, GF_ISOFile *f2, u32 tk2, u32 sdesc_index2)
 
GF_EXPORT u64 gf_isom_estimate_size (GF_ISOFile *movie)
 
GF_EXPORT GF_Err gf_isom_set_track_interleaving_group (GF_ISOFile *movie, u32 trackNumber, u32 GroupID)
 
GF_EXPORT GF_Err gf_isom_set_track_priority_in_group (GF_ISOFile *movie, u32 trackNumber, u32 Priority)
 
GF_EXPORT GF_Err gf_isom_hint_max_chunk_size (GF_ISOFile *movie, u32 trackNumber, u32 maxChunkSize)
 
GF_EXPORT GF_Err gf_isom_hint_max_chunk_duration (GF_ISOFile *movie, u32 trackNumber, u32 maxChunkDur)
 
GF_EXPORT GF_Err gf_isom_set_extraction_slc (GF_ISOFile *the_file, u32 trackNumber, u32 StreamDescriptionIndex, const GF_SLConfig *slConfig)
 
GF_EXPORT GF_Err gf_isom_make_interleave_ex (GF_ISOFile *file, GF_Fraction *fTimeInSec)
 
GF_EXPORT GF_Err gf_isom_make_interleave (GF_ISOFile *file, Double TimeInSec)
 
GF_EXPORT GF_Err gf_isom_set_handler_name (GF_ISOFile *the_file, u32 trackNumber, const char *nameUTF8)
 
GF_EXPORT GF_Err gf_isom_set_media_type (GF_ISOFile *movie, u32 trackNumber, u32 new_type)
 
GF_EXPORT GF_Err gf_isom_set_media_subtype (GF_ISOFile *movie, u32 trackNumber, u32 sampleDescriptionIndex, u32 new_type)
 
GF_Err gf_isom_remove_uuid (GF_ISOFile *movie, u32 trackNumber, bin128 UUID)
 
GF_EXPORT GF_Err gf_isom_add_uuid (GF_ISOFile *movie, u32 trackNumber, bin128 UUID, const u8 *data, u32 data_size)
 
GF_EXPORT GF_Err gf_isom_apple_set_tag (GF_ISOFile *mov, GF_ISOiTunesTag tag, const u8 *data, u32 data_len, u64 int_val, u32 int_val2)
 
GF_EXPORT GF_Err gf_isom_wma_set_tag (GF_ISOFile *mov, char *name, char *value)
 
GF_EXPORT GF_Err gf_isom_set_qt_key (GF_ISOFile *movie, GF_QT_UDTAKey *key)
 
GF_EXPORT GF_Err gf_isom_set_alternate_group_id (GF_ISOFile *movie, u32 trackNumber, u32 groupId)
 
GF_EXPORT GF_Err gf_isom_set_track_switch_parameter (GF_ISOFile *movie, u32 trackNumber, u32 trackRefGroup, Bool is_switch_group, u32 *switchGroupID, u32 *criteriaList, u32 criteriaListCount)
 
void reset_tsel_box (GF_TrackBox *trak)
 
GF_EXPORT GF_Err gf_isom_reset_track_switch_parameter (GF_ISOFile *movie, u32 trackNumber, Bool reset_all_group)
 
GF_EXPORT GF_Err gf_isom_reset_switch_parameters (GF_ISOFile *movie)
 
GF_Err gf_isom_add_subsample (GF_ISOFile *movie, u32 track, u32 sampleNumber, u32 flags, u32 subSampleSize, u8 priority, u32 reserved, Bool discardable)
 
GF_EXPORT GF_Err gf_isom_set_rvc_config (GF_ISOFile *movie, u32 track, u32 sampleDescriptionIndex, u16 rvc_predefined, char *mime, u8 *data, u32 size)
 
static GF_Err gf_isom_add_sample_group_entry (GF_List *sampleGroups, u32 sample_number, GF_SampleGroupDescriptionBox *sgdesc, u32 grouping_type_parameter, u32 sampleGroupDescriptionIndex, GF_List *parent, GF_SampleTableBox *stbl)
 
static GF_SampleGroupDescriptionBoxget_sgdp (GF_SampleTableBox *stbl, GF_TrackFragmentBox *traf, u32 grouping_type, Bool *is_traf_sgdp)
 
static GF_Err gf_isom_set_sample_group_info_ex (GF_SampleTableBox *stbl, GF_TrackFragmentBox *traf, u32 sample_number, u32 grouping_type, u32 grouping_type_parameter, void *udta, void *(*sg_create_entry)(void *udta), Bool(*sg_compare_entry)(void *udta, void *entry))
 
static GF_Err gf_isom_set_sample_group_info_internal (GF_ISOFile *movie, u32 track, u32 trafID, u32 sample_number, u32 grouping_type, u32 grouping_type_parameter, void *udta, void *(*sg_create_entry)(void *udta), Bool(*sg_compare_entry)(void *udta, void *entry))
 
void * sgpd_parse_entry (GF_SampleGroupDescriptionBox *p, GF_BitStream *bs, s32 bytes_in_box, u32 entry_size, u32 *total_bytes)
 
GF_Err gf_isom_add_sample_group_info_internal (GF_ISOFile *movie, u32 track, u32 grouping_type, void *data, u32 data_size, u32 sgpd_flags, u32 *sampleGroupDescriptionIndex, Bool *is_traf_sgpd, Bool check_access, Bool *use_default, GF_SampleGroupDescriptionBox **out_sgdesc)
 
GF_EXPORT GF_Err gf_isom_add_sample_group_info (GF_ISOFile *movie, u32 track, u32 grouping_type, void *data, u32 data_size, Bool is_default, u32 *sampleGroupDescriptionIndex)
 
GF_Err gf_isom_set_sample_group_description_internal (GF_ISOFile *movie, u32 track, u32 sample_number, u32 grouping_type, u32 grouping_type_parameter, void *data, u32 data_size, Bool check_access, u32 sgpd_flags)
 
GF_Err gf_isom_set_sample_group_description (GF_ISOFile *movie, u32 track, u32 sample_number, u32 grouping_type, u32 grouping_type_parameter, void *data, u32 data_size, u32 sgpd_flags)
 
GF_EXPORT GF_Err gf_isom_remove_sample_group (GF_ISOFile *movie, u32 track, u32 grouping_type)
 
GF_EXPORT GF_Err gf_isom_add_sample_info (GF_ISOFile *movie, u32 track, u32 sample_number, u32 grouping_type, u32 sampleGroupDescriptionIndex, u32 grouping_type_parameter)
 
void * sg_rap_create_entry (void *udta)
 
Bool sg_rap_compare_entry (void *udta, void *entry)
 
GF_EXPORT GF_Err gf_isom_set_sample_rap_group (GF_ISOFile *movie, u32 track, u32 sample_number, Bool is_rap, u32 num_leading_samples)
 
GF_Err gf_isom_fragment_set_sample_rap_group (GF_ISOFile *movie, GF_ISOTrackID trackID, u32 sample_number_in_frag, Bool is_rap, u32 num_leading_samples)
 
void * sg_roll_create_entry (void *udta)
 
Bool sg_roll_compare_entry (void *udta, void *entry)
 
GF_EXPORT GF_Err gf_isom_set_sample_roll_group (GF_ISOFile *movie, u32 track, u32 sample_number, GF_ISOSampleRollType roll_type, s16 roll_distance)
 
GF_EXPORT GF_Err gf_isom_fragment_set_sample_roll_group (GF_ISOFile *movie, GF_ISOTrackID trackID, u32 sample_number_in_frag, GF_ISOSampleRollType roll_type, s16 roll_distance)
 
void * sg_encryption_create_entry (void *udta)
 
Bool sg_encryption_compare_entry (void *udta, void *_entry)
 
GF_EXPORT GF_Err gf_isom_set_sample_cenc_group (GF_ISOFile *movie, u32 track, u32 sample_number, u8 isEncrypted, u32 crypt_byte_block, u32 skip_byte_block, u8 *key_info, u32 key_info_size)
 
GF_EXPORT GF_Err gf_isom_set_sample_cenc_default_group (GF_ISOFile *movie, u32 track, u32 sample_number)
 
GF_Err gf_isom_force_ctts (GF_ISOFile *file, u32 track)
 
GF_Err gf_isom_set_ctts_v1 (GF_ISOFile *file, u32 track, u32 ctts_shift)
 
static GF_Err gf_isom_set_ctts_v0 (GF_ISOFile *file, GF_TrackBox *trak)
 
GF_EXPORT GF_Err gf_isom_set_composition_offset_mode (GF_ISOFile *file, u32 track, Bool use_negative_offsets)
 
GF_Err gf_isom_set_sample_flags (GF_ISOFile *file, u32 track, u32 sampleNumber, u32 isLeading, u32 dependsOn, u32 dependedOn, u32 redundant)
 
GF_EXPORT GF_Err gf_isom_copy_sample_info (GF_ISOFile *dst, u32 dst_track, GF_ISOFile *src, u32 src_track, u32 sampleNumber)
 
GF_EXPORT GF_Err gf_isom_text_set_display_flags (GF_ISOFile *file, u32 track, u32 desc_index, u32 flags, GF_TextFlagsMode op_type)
 
GF_EXPORT GF_Err gf_isom_update_duration (GF_ISOFile *movie)
 
GF_EXPORT GF_Err gf_isom_update_edit_list_duration (GF_ISOFile *file, u32 track)
 
GF_EXPORT GF_Err gf_isom_clone_pssh (GF_ISOFile *output, GF_ISOFile *input, Bool in_moof)
 
GF_EXPORT GF_Err gf_isom_set_track_group (GF_ISOFile *file, u32 track_number, u32 track_group_id, u32 group_type, Bool do_add)
 
GF_EXPORT GF_Err gf_isom_set_nalu_length_field (GF_ISOFile *file, u32 track, u32 StreamDescriptionIndex, u32 nalu_size_length)
 
GF_Err gf_isom_set_sample_group_in_traf (GF_ISOFile *file)
 
GF_EXPORT void gf_isom_set_progress_callback (GF_ISOFile *file, void(*progress_cbk)(void *udta, u64 nb_done, u64 nb_total), void *progress_cbk_udta)
 
GF_Err gf_isom_update_video_sample_entry_fields (GF_ISOFile *file, u32 track, u32 stsd_idx, u16 revision, u32 vendor, u32 temporalQ, u32 spatialQ, u32 horiz_res, u32 vert_res, u16 frames_per_sample, const char *compressor_name, s16 color_table_index)
 
GF_Err gf_isom_update_sample_description_from_template (GF_ISOFile *file, u32 track, u32 sampleDescriptionIndex, u8 *data, u32 size)
 
GF_EXPORT GF_Err gf_isom_apply_box_patch (GF_ISOFile *file, GF_ISOTrackID globalTrackID, const char *box_patch_filename, Bool for_fragments)
 
GF_EXPORT GF_Err gf_isom_set_track_magic (GF_ISOFile *movie, u32 trackNumber, u64 magic)
 
GF_EXPORT GF_Err gf_isom_set_track_index (GF_ISOFile *movie, u32 trackNumber, u32 index, void(*track_num_changed)(void *udta, u32 old_track_num, u32 new_track_num), void *udta)
 
GF_EXPORT GF_Err gf_isom_set_ipod_compatible (GF_ISOFile *the_file, u32 trackNumber)
 
GF_EXPORT Bool gf_isom_is_inplace_rewrite (GF_ISOFile *movie)
 
GF_EXPORT void gf_isom_disable_inplace_rewrite (GF_ISOFile *movie)
 
GF_Err gf_isom_set_y3d_info (GF_ISOFile *movie, u32 trackNumber, u32 sampleDescriptionIndex, GF_ISOM_Y3D_Info *info)
 
GF_Err gf_isom_add_sample_aux_info_internal (GF_TrackBox *trak, void *_traf, u32 sampleNumber, u32 aux_type, u32 aux_info, u8 *data, u32 size)
 defined(GPAC_DISABLE_ISOM_WRITE) More...
 
GF_Err gf_isom_fragment_set_sample_aux_info (GF_ISOFile *movie, u32 trackID, u32 sample_number_in_frag, u32 aux_type, u32 aux_info, u8 *data, u32 size)
 
GF_Err gf_isom_add_sample_aux_info (GF_ISOFile *file, u32 track, u32 sampleNumber, u32 aux_type, u32 aux_info, u8 *data, u32 size)
 
GF_Err gf_isom_set_meta_qt (GF_ISOFile *file)
 
GF_EXPORT GF_Err gf_isom_set_mpegh_compatible_profiles (GF_ISOFile *movie, u32 trackNumber, u32 sampleDescIndex, const u32 *profiles, u32 nb_compat_profiles)
 
GF_Err gf_isom_set_sample_description_restricted (GF_ISOFile *movie, u32 trackNumber, u32 sampleDescIndex, u32 scheme_type)
 
GF_Err isom_sample_refs_push (GF_SampleReferences *sref, s32 refID, u32 nb_refs, s32 *refs)
 
GF_Err gf_isom_set_sample_references (GF_ISOFile *file, u32 track, u32 sampleNumber, s32 refID, u32 nb_refs, s32 *refs)
 

Macro Definition Documentation

◆ RESCALE_TSVAL

#define RESCALE_TSVAL (   _tsval)
Value:
{\
s64 val = ((s64) _tsval) * new_tsinc;\
val /= old_ts_inc;\
_tsval = (s32) val;\
}
int64_t s64
Definition: setup.h:324
int32_t s32
Definition: setup.h:328

Function Documentation

◆ CanAccessMovie()

GF_Err CanAccessMovie ( GF_ISOFile *  movie,
GF_ISOOpenMode  Mode 
)
+ Here is the caller graph for this function:

◆ unpack_track()

static GF_Err unpack_track ( GF_TrackBox trak)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ FlushCaptureMode()

GF_Err FlushCaptureMode ( GF_ISOFile *  movie)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ CheckNoData()

static GF_Err CheckNoData ( GF_ISOFile *  movie)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ AddMovieIOD()

GF_Err AddMovieIOD ( GF_MovieBox moov,
u8  isIOD 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_set_root_iod()

static GF_Err gf_isom_set_root_iod ( GF_ISOFile *  movie)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_set_track_stsd_templates()

GF_Err gf_isom_set_track_stsd_templates ( GF_ISOFile *  movie,
u32  trackNumber,
u8 stsd_data,
u32  stsd_data_size 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_flush_chunk()

GF_Err gf_isom_flush_chunk ( GF_TrackBox trak,
Bool  is_final 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ trak_add_sample()

static GF_Err trak_add_sample ( GF_ISOFile *  movie,
GF_TrackBox trak,
const GF_ISOSample sample,
u32  descIndex,
u64  data_offset,
u32  syncShadowSampleNum 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_set_last_sample_duration_internal()

static GF_Err gf_isom_set_last_sample_duration_internal ( GF_ISOFile *  movie,
u32  trackNumber,
u64  dur_num,
u32  dur_den,
u32  mode 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_meta_track_remove()

static void gf_isom_meta_track_remove ( GF_ISOFile *  movie,
GF_TrackBox trak,
u32  sample_number 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_set_edit_internal()

static GF_Err gf_isom_set_edit_internal ( GF_ISOFile *  movie,
u32  trackNumber,
u64  EditTime,
u64  EditDuration,
u64  MediaTime,
u32  media_rate,
GF_ISOEditType  EditMode 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update_next_track_id()

static void update_next_track_id ( GF_ISOFile *  movie)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_clone_box()

GF_EXPORT GF_Err gf_isom_clone_box ( GF_Box src,
GF_Box **  dst 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_get_trex_props()

static GF_Err gf_isom_get_trex_props ( GF_ISOFile *  file,
GF_TrackBox trak,
GF_TrackExtendsBox **  trex,
GF_TrackExtensionPropertiesBox **  trexprop 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_box_equal()

GF_EXPORT Bool gf_isom_box_equal ( GF_Box a,
GF_Box b 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ base_sample_entry_type()

static u32 base_sample_entry_type ( u32  type)
static
+ Here is the caller graph for this function:

◆ reset_tsel_box()

void reset_tsel_box ( GF_TrackBox trak)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_add_sample_group_entry()

static GF_Err gf_isom_add_sample_group_entry ( GF_List *  sampleGroups,
u32  sample_number,
GF_SampleGroupDescriptionBox sgdesc,
u32  grouping_type_parameter,
u32  sampleGroupDescriptionIndex,
GF_List *  parent,
GF_SampleTableBox stbl 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ get_sgdp()

static GF_SampleGroupDescriptionBox* get_sgdp ( GF_SampleTableBox stbl,
GF_TrackFragmentBox traf,
u32  grouping_type,
Bool is_traf_sgdp 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_set_sample_group_info_ex()

static GF_Err gf_isom_set_sample_group_info_ex ( GF_SampleTableBox stbl,
GF_TrackFragmentBox traf,
u32  sample_number,
u32  grouping_type,
u32  grouping_type_parameter,
void *  udta,
void *(*)(void *udta)  sg_create_entry,
Bool(*)(void *udta, void *entry)  sg_compare_entry 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_set_sample_group_info_internal()

static GF_Err gf_isom_set_sample_group_info_internal ( GF_ISOFile *  movie,
u32  track,
u32  trafID,
u32  sample_number,
u32  grouping_type,
u32  grouping_type_parameter,
void *  udta,
void *(*)(void *udta)  sg_create_entry,
Bool(*)(void *udta, void *entry)  sg_compare_entry 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sgpd_parse_entry()

void* sgpd_parse_entry ( GF_SampleGroupDescriptionBox p,
GF_BitStream *  bs,
s32  bytes_in_box,
u32  entry_size,
u32 total_bytes 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_add_sample_group_info_internal()

GF_Err gf_isom_add_sample_group_info_internal ( GF_ISOFile *  movie,
u32  track,
u32  grouping_type,
void *  data,
u32  data_size,
u32  sgpd_flags,
u32 sampleGroupDescriptionIndex,
Bool is_traf_sgpd,
Bool  check_access,
Bool use_default,
GF_SampleGroupDescriptionBox **  out_sgdesc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_set_sample_group_description_internal()

GF_Err gf_isom_set_sample_group_description_internal ( GF_ISOFile *  movie,
u32  track,
u32  sample_number,
u32  grouping_type,
u32  grouping_type_parameter,
void *  data,
u32  data_size,
Bool  check_access,
u32  sgpd_flags 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sg_rap_create_entry()

void* sg_rap_create_entry ( void *  udta)
+ Here is the caller graph for this function:

◆ sg_rap_compare_entry()

Bool sg_rap_compare_entry ( void *  udta,
void *  entry 
)
+ Here is the caller graph for this function:

◆ sg_roll_create_entry()

void* sg_roll_create_entry ( void *  udta)
+ Here is the caller graph for this function:

◆ sg_roll_compare_entry()

Bool sg_roll_compare_entry ( void *  udta,
void *  entry 
)
+ Here is the caller graph for this function:

◆ sg_encryption_create_entry()

void* sg_encryption_create_entry ( void *  udta)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sg_encryption_compare_entry()

Bool sg_encryption_compare_entry ( void *  udta,
void *  _entry 
)
+ Here is the caller graph for this function:

◆ gf_isom_force_ctts()

GF_Err gf_isom_force_ctts ( GF_ISOFile *  file,
u32  track 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_set_ctts_v0()

static GF_Err gf_isom_set_ctts_v0 ( GF_ISOFile *  file,
GF_TrackBox trak 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_add_sample_aux_info_internal()

GF_Err gf_isom_add_sample_aux_info_internal ( GF_TrackBox trak,
void *  _traf,
u32  sampleNumber,
u32  aux_type,
u32  aux_info,
u8 data,
u32  size 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_set_meta_qt()

GF_Err gf_isom_set_meta_qt ( GF_ISOFile *  file)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_isom_set_sample_description_restricted()

GF_Err gf_isom_set_sample_description_restricted ( GF_ISOFile *  movie,
u32  trackNumber,
u32  sampleDescIndex,
u32  scheme_type 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isom_sample_refs_push()

GF_Err isom_sample_refs_push ( GF_SampleReferences sref,
s32  refID,
u32  nb_refs,
s32 refs 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: