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
mpd.h File Reference
#include <gpac/constants.h>
#include <gpac/xml.h>
#include <gpac/media_tools.h>
+ Include dependency graph for mpd.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_MPD_Metrics
 
struct  GF_MPD_ContentComponent
 
struct  GF_MPD_Descriptor
 
struct  GF_MPD_Subset
 
struct  GF_MPD_SegmentTimelineEntry
 
struct  GF_MPD_SegmentTimeline
 
struct  GF_MPD_ByteRange
 
struct  GF_MPD_BaseURL
 
struct  GF_MPD_URL
 
struct  GF_MPD_Fractional
 
struct  GF_MPD_SegmentBase
 
struct  GF_MPD_MultipleSegmentBase
 
struct  GF_MPD_SegmentURL
 
struct  GF_MPD_SegmentList
 
struct  GF_MPD_SegmentTemplate
 
struct  GF_MPD_CommonAttributes
 
struct  GF_MPD_SubRepresentation
 
struct  GF_DASH_RepresentationPlayback
 
struct  GF_MPD_Representation
 
struct  GF_MPD_AdaptationSet
 
struct  GF_MPD_Period
 
struct  GF_MPD_ProgramInfo
 
struct  GF_MPD
 
struct  GF_FileDownload
 

Macros

#define GF_MPD_SEGMENT_BASE
 
#define GF_MPD_MULTIPLE_SEGMENT_BASE
 
#define GF_MPD_COMMON_ATTRIBUTES_ELEMENTS
 

Enumerations

enum  GF_MPD_ScanType { GF_MPD_SCANTYPE_UNKNWON, GF_MPD_SCANTYPE_PROGRESSIVE, GF_MPD_SCANTYPE_INTERLACED }
 
enum  GF_MPD_Type { GF_MPD_TYPE_STATIC, GF_MPD_TYPE_DYNAMIC }
 

Functions

GF_Err gf_mpd_init_from_dom (GF_XMLNode *root, GF_MPD *mpd, const char *base_url)
 
GF_MPDgf_mpd_new ()
 
void gf_mpd_del (GF_MPD *mpd)
 
void gf_mpd_segment_url_free (void *ptr)
 
void gf_mpd_segment_base_free (void *ptr)
 
GF_Err gf_m3u8_to_mpd (const char *m3u8_file, const char *base_url, const char *mpd_file, u32 reload_count, char *mimeTypeForM3U8Segments, Bool do_import, Bool use_mpd_templates, GF_FileDownload *getter)
 

Data Structure Documentation

struct GF_MPD_Metrics
+ Collaboration diagram for GF_MPD_Metrics:
Data Fields
u32 dummy
struct GF_MPD_ContentComponent
+ Collaboration diagram for GF_MPD_ContentComponent:
Data Fields
u32 dummy
struct GF_MPD_Descriptor
+ Collaboration diagram for GF_MPD_Descriptor:
Data Fields
char * scheme_id_uri
char * value
struct GF_MPD_Subset
+ Collaboration diagram for GF_MPD_Subset:
Data Fields
u32 dummy
struct GF_MPD_SegmentTimelineEntry
+ Collaboration diagram for GF_MPD_SegmentTimelineEntry:
Data Fields
u64 start_time
u32 duration
u32 repeat_count
struct GF_MPD_SegmentTimeline
+ Collaboration diagram for GF_MPD_SegmentTimeline:
Data Fields
GF_List * entries
struct GF_MPD_ByteRange
+ Collaboration diagram for GF_MPD_ByteRange:
Data Fields
u64 start_range
u64 end_range
struct GF_MPD_BaseURL
+ Collaboration diagram for GF_MPD_BaseURL:
Data Fields
char * URL
char * service_location
GF_MPD_ByteRange * byte_range
struct GF_MPD_URL
+ Collaboration diagram for GF_MPD_URL:
Data Fields
char * sourceURL
GF_MPD_ByteRange * byte_range
struct GF_MPD_Fractional
+ Collaboration diagram for GF_MPD_Fractional:
Data Fields
u32 num
u32 den
struct GF_MPD_SegmentBase
+ Collaboration diagram for GF_MPD_SegmentBase:
Data Fields
u32 timescale
u64 presentation_time_offset
u32 time_shift_buffer_depth
GF_MPD_ByteRange * index_range
Bool index_range_exact
Double availability_time_offset
GF_MPD_URL * initialization_segment
GF_MPD_URL * representation_index
struct GF_MPD_MultipleSegmentBase
+ Collaboration diagram for GF_MPD_MultipleSegmentBase:
Data Fields
u32 timescale
u64 presentation_time_offset
u32 time_shift_buffer_depth
GF_MPD_ByteRange * index_range
Bool index_range_exact
Double availability_time_offset
GF_MPD_URL * initialization_segment
GF_MPD_URL * representation_index
u64 duration
u32 start_number
GF_MPD_SegmentTimeline * segment_timeline
GF_MPD_URL * bitstream_switching_url
struct GF_MPD_SegmentURL
+ Collaboration diagram for GF_MPD_SegmentURL:
Data Fields
char * media
GF_MPD_ByteRange * media_range
char * index
GF_MPD_ByteRange * index_range
u64 duration
struct GF_MPD_SegmentList
+ Collaboration diagram for GF_MPD_SegmentList:
Data Fields
u32 timescale
u64 presentation_time_offset
u32 time_shift_buffer_depth
GF_MPD_ByteRange * index_range
Bool index_range_exact
Double availability_time_offset
GF_MPD_URL * initialization_segment
GF_MPD_URL * representation_index
u64 duration
u32 start_number
GF_MPD_SegmentTimeline * segment_timeline
GF_MPD_URL * bitstream_switching_url
GF_List * segment_URLs
char * xlink_href
Bool xlink_actuate_on_load
struct GF_MPD_SegmentTemplate
+ Collaboration diagram for GF_MPD_SegmentTemplate:
Data Fields
u32 timescale
u64 presentation_time_offset
u32 time_shift_buffer_depth
GF_MPD_ByteRange * index_range
Bool index_range_exact
Double availability_time_offset
GF_MPD_URL * initialization_segment
GF_MPD_URL * representation_index
u64 duration
u32 start_number
GF_MPD_SegmentTimeline * segment_timeline
GF_MPD_URL * bitstream_switching_url
char * media
char * index
char * initialization
char * bitstream_switching
struct GF_MPD_CommonAttributes
+ Collaboration diagram for GF_MPD_CommonAttributes:
Data Fields
char * profiles
u32 width
u32 height
GF_MPD_Fractional * sar
GF_MPD_Fractional * framerate
u32 samplerate
char * mime_type
char * segmentProfiles
char * codecs
u32 maximum_sap_period
Bool starts_with_sap
Double max_playout_rate
Bool coding_dependency
GF_MPD_ScanType scan_type
GF_List * frame_packing
GF_List * audio_channels
GF_List * content_protection
struct GF_MPD_SubRepresentation
+ Collaboration diagram for GF_MPD_SubRepresentation:
Data Fields
char * profiles
u32 width
u32 height
GF_MPD_Fractional * sar
GF_MPD_Fractional * framerate
u32 samplerate
char * mime_type
char * segmentProfiles
char * codecs
u32 maximum_sap_period
Bool starts_with_sap
Double max_playout_rate
Bool coding_dependency
GF_MPD_ScanType scan_type
GF_List * frame_packing
GF_List * audio_channels
GF_List * content_protection
u32 level
char * dependecy_level
u32 bandwidth
char * content_components
struct GF_DASH_RepresentationPlayback
+ Collaboration diagram for GF_DASH_RepresentationPlayback:
Data Fields
Bool disabled
char * cached_init_segment_url
u64 init_start_range
u64 init_end_range
struct GF_MPD_Representation
+ Collaboration diagram for GF_MPD_Representation:
Data Fields
char * profiles
u32 width
u32 height
GF_MPD_Fractional * sar
GF_MPD_Fractional * framerate
u32 samplerate
char * mime_type
char * segmentProfiles
char * codecs
u32 maximum_sap_period
Bool starts_with_sap
Double max_playout_rate
Bool coding_dependency
GF_MPD_ScanType scan_type
GF_List * frame_packing
GF_List * audio_channels
GF_List * content_protection
char * id
u32 bandwidth
u32 quality_ranking
char * dependency_id
char * media_stream_structure_id
GF_List * base_URLs
GF_MPD_SegmentBase * segment_base
GF_MPD_SegmentList * segment_list
GF_MPD_SegmentTemplate * segment_template
GF_List * sub_representations
u32 enhancement_rep_index_plus_one
GF_DASH_RepresentationPlayback playback
struct GF_MPD_AdaptationSet
+ Collaboration diagram for GF_MPD_AdaptationSet:
Data Fields
char * profiles
u32 width
u32 height
GF_MPD_Fractional * sar
GF_MPD_Fractional * framerate
u32 samplerate
char * mime_type
char * segmentProfiles
char * codecs
u32 maximum_sap_period
Bool starts_with_sap
Double max_playout_rate
Bool coding_dependency
GF_MPD_ScanType scan_type
GF_List * frame_packing
GF_List * audio_channels
GF_List * content_protection
u32 id
s32 group
char * lang
char * content_type
GF_MPD_Fractional * par
u32 min_bandwidth
u32 max_bandwidth
u32 min_width
u32 max_width
u32 min_height
u32 max_height
u32 min_framerate
u32 max_framerate
Bool segment_alignment
Bool bitstream_switching
Bool subsegment_alignment
Bool subsegment_starts_with_sap
GF_List * accessibility
GF_List * role
GF_List * rating
GF_List * viewpoint
GF_List * content_component
GF_List * base_URLs
GF_MPD_SegmentBase * segment_base
GF_MPD_SegmentList * segment_list
GF_MPD_SegmentTemplate * segment_template
GF_List * representations
char * xlink_href
Bool xlink_actuate_on_load
struct GF_MPD_Period
+ Collaboration diagram for GF_MPD_Period:
Data Fields
char * ID
u32 start
u32 duration
Bool bitstream_switching
GF_List * base_URLs
GF_MPD_SegmentBase * segment_base
GF_MPD_SegmentList * segment_list
GF_MPD_SegmentTemplate * segment_template
GF_List * adaptation_sets
GF_List * subsets
char * xlink_href
Bool xlink_actuate_on_load
struct GF_MPD_ProgramInfo
+ Collaboration diagram for GF_MPD_ProgramInfo:
Data Fields
char * lang
char * title
char * source
char * copyright
char * more_info_url
struct GF_MPD
+ Collaboration diagram for GF_MPD:
Data Fields
char * ID
char * profiles
GF_MPD_Type type
u64 availabilityStartTime
u64 availabilityEndTime
u32 media_presentation_duration
u32 minimum_update_period
u32 min_buffer_time
u32 time_shift_buffer_depth
u32 suggested_presentaton_delay
u32 max_segment_duration
u32 max_subsegment_duration
GF_List * program_infos
GF_List * base_URLs
GF_List * locations
GF_List * metrics
GF_List * periods
const char * xml_namespace

Macro Definition Documentation

#define GF_MPD_SEGMENT_BASE
Value:
u32 timescale; \
u64 presentation_time_offset; \
u32 time_shift_buffer_depth; /* expressed in milliseconds */ \
GF_MPD_ByteRange *index_range; \
Bool index_range_exact; \
Double availability_time_offset; \
GF_MPD_URL *initialization_segment; \
GF_MPD_URL *representation_index; \
double Double
Definition: setup.h:288
uint32_t u32
Definition: setup.h:246
uint64_t u64
Definition: setup.h:245
Bool
Definition: setup.h:315
#define GF_MPD_MULTIPLE_SEGMENT_BASE
Value:
u64 duration; \
u32 start_number; \
GF_MPD_SegmentTimeline *segment_timeline; \
GF_MPD_URL *bitstream_switching_url; \
uint32_t u32
Definition: setup.h:246
uint64_t u64
Definition: setup.h:245
#define GF_MPD_COMMON_ATTRIBUTES_ELEMENTS
Value:
char *profiles; \
u32 width; \
u32 height; \
GF_MPD_Fractional *sar; \
GF_MPD_Fractional *framerate; \
u32 samplerate; \
char *mime_type; \
char *segmentProfiles; \
char *codecs; \
u32 maximum_sap_period; \
Bool starts_with_sap; \
Double max_playout_rate; \
Bool coding_dependency; \
GF_MPD_ScanType scan_type; \
GF_List *frame_packing; \
GF_List *audio_channels; \
GF_List *content_protection; \
GF_MPD_ScanType
Definition: mpd.h:151
double Double
Definition: setup.h:288
uint32_t u32
Definition: setup.h:246
Bool
Definition: setup.h:315

Enumeration Type Documentation

Enumerator
GF_MPD_SCANTYPE_UNKNWON 
GF_MPD_SCANTYPE_PROGRESSIVE 
GF_MPD_SCANTYPE_INTERLACED 
Enumerator
GF_MPD_TYPE_STATIC 
GF_MPD_TYPE_DYNAMIC 

Function Documentation

GF_Err gf_mpd_init_from_dom ( GF_XMLNode root,
GF_MPD mpd,
const char *  base_url 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_MPD* gf_mpd_new ( )

+ Here is the caller graph for this function:

void gf_mpd_del ( GF_MPD mpd)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_mpd_segment_url_free ( void *  ptr)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_mpd_segment_base_free ( void *  ptr)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_m3u8_to_mpd ( const char *  m3u8_file,
const char *  base_url,
const char *  mpd_file,
u32  reload_count,
char *  mimeTypeForM3U8Segments,
Bool  do_import,
Bool  use_mpd_templates,
GF_FileDownload *  getter 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: