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
terminal_dev.h File Reference
+ Include dependency graph for terminal_dev.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_ClientService
 
struct  LPSCENE
 
struct  GF_URIRelocator
 
struct  GF_TermLocales
 
struct  GF_Shortcut
 
struct  GF_Terminal
 
struct  GF_TermEventFilter
 
struct  GF_Clock
 
struct  GF_Channel
 
struct  GF_Codec
 
struct  GF_ObjectManager
 
struct  GF_MediaObject
 
struct  GF_ChannelSetup
 

Macros

#define GF_TERM_URI_RELOCATOR   Bool (*relocate_uri)(void *__self, const char *parent_uri, const char *uri, char *out_relocated_uri, char *out_localized_uri); \
 
#define MAX_SHORTCUTS   200
 

Typedefs

typedef struct _media_manager GF_MediaManager
 

Enumerations

enum  { GF_TERM_THREAD_FREE, GF_TERM_THREAD_SINGLE, GF_TERM_THREAD_MULTI }
 
enum  {
  GF_TERM_RUNNING = 1<<20, GF_TERM_DEAD = 1<<21, GF_TERM_SINGLE_THREAD = 1<<22, GF_TERM_MULTI_THREAD = 1<<23,
  GF_TERM_DROP_LATE_FRAMES = 1<<24, GF_TERM_SINGLE_CLOCK = 1<<25
}
 
enum  {
  GF_ESM_ES_SETUP = 0, GF_ESM_ES_WAIT_FOR_ACK, GF_ESM_ES_CONNECTED, GF_ESM_ES_RUNNING,
  GF_ESM_ES_DISCONNECTED, GF_ESM_ES_UNAVAILABLE
}
 
enum  { GF_ESM_CAROUSEL_NONE = 0, GF_ESM_CAROUSEL_MPEG4, GF_ESM_CAROUSEL_MPEG2 }
 
enum  {
  GF_ESM_CODEC_STOP = 0, GF_ESM_CODEC_PLAY = 1, GF_ESM_CODEC_EOS = 2, GF_ESM_CODEC_PAUSE = 3,
  GF_ESM_CODEC_BUFFER = 4
}
 
enum  { GF_ESM_CODEC_HAS_UPSTREAM = 1, GF_ESM_CODEC_IS_USE = 1<<1, GF_ESM_CODEC_IS_STATIC_OD = 1<<2, GF_ESM_CODEC_IS_RAW_MEDIA = 1<<3 }
 
enum  {
  GF_ODM_NO_TIME_CTRL = (1<<1), GF_ODM_INHERIT_TIMELINE = (1<<2), GF_ODM_REMOTE_OD = (1<<3), GF_ODM_HAS_PROFILES = (1<<4),
  GF_ODM_INLINE_PROFILES = (1<<5), GF_ODM_NOT_IN_OD_STREAM = (1<<6), GF_ODM_SERVICE_ENTRY = (1<<7), GF_ODM_PREFETCH = (1<<8),
  GF_ODM_DESTROYED = (1<<9), GF_ODM_REGENERATE_SCENE = (1<<10), GF_ODM_INITIAL_BROADCAST_PLAY = (1<<11)
}
 
enum  { GF_ODM_STATE_STOP, GF_ODM_STATE_PLAY, GF_ODM_STATE_IN_SETUP, GF_ODM_STATE_BLOCKED }
 
enum  {
  GF_ODM_ACTION_PLAY, GF_ODM_ACTION_STOP, GF_ODM_ACTION_DELETE, GF_ODM_ACTION_SCENE_DISCONNECT,
  GF_ODM_ACTION_SCENE_RECONNECT, GF_ODM_ACTION_SCENE_INLINE_RESTART
}
 

Functions

GF_ClientService * gf_term_service_new (GF_Terminal *term, GF_ObjectManager *owner, const char *url, const char *parent_url, GF_Err *ret_code)
 
void gf_term_service_del (GF_ClientService *nets)
 
GF_Err gf_term_service_command (GF_ClientService *ns, GF_NetworkCommand *com)
 
Bool gf_term_service_can_handle_url (GF_ClientService *ns, char *url)
 
GF_Err gf_term_channel_get_sl_packet (GF_ClientService *ns, LPNETCHANNEL channel, char **out_data_ptr, u32 *out_data_size, GF_SLHeader *out_sl_hdr, Bool *is_compressed, GF_Err *out_reception_status, Bool *is_new_data)
 
GF_Err gf_term_channel_release_sl_packet (GF_ClientService *ns, LPNETCHANNEL channel)
 
GF_Err gf_term_service_cache_load (GF_ClientService *ns)
 
GF_Err gf_term_service_cache_close (GF_ClientService *ns, Bool no_save)
 
GF_Err gf_term_step_clocks (GF_Terminal *term, u32 ms_diff)
 
u32 gf_term_sample_clocks (GF_Terminal *term)
 
u32 gf_term_check_end_of_scene (GF_Terminal *term, Bool skip_interactions)
 
GF_Scene * gf_scene_new (GF_Scene *parentScene)
 
void gf_scene_del (GF_Scene *scene)
 
struct _od_managergf_scene_find_odm (GF_Scene *scene, u16 OD_ID)
 
void gf_scene_disconnect (GF_Scene *scene, Bool for_shutdown)
 
void gf_scene_remove_object (GF_Scene *scene, GF_ObjectManager *odm, u32 for_shutdown)
 
void gf_scene_buffering_info (GF_Scene *scene)
 
void gf_scene_attach_to_compositor (GF_Scene *scene)
 
struct _mediaobjgf_scene_get_media_object (GF_Scene *scene, MFURL *url, u32 obj_type_hint, Bool lock_timelines)
 
struct _mediaobjgf_scene_get_media_object_ex (GF_Scene *scene, MFURL *url, u32 obj_type_hint, Bool lock_timelines, struct _mediaobj *sync_ref, Bool force_new_if_not_attached, GF_Node *node_ptr)
 
void gf_scene_setup_object (GF_Scene *scene, GF_ObjectManager *odm)
 
void gf_scene_set_duration (GF_Scene *scene)
 
struct _mediaobjgf_scene_find_object (GF_Scene *scene, u16 ODID, char *url)
 
Double gf_scene_get_time (void *_is)
 
void gf_scene_register_extra_graph (GF_Scene *scene, GF_SceneGraph *extra_scene, Bool do_remove)
 
void gf_scene_force_size (GF_Scene *scene, u32 width, u32 height)
 
void gf_scene_regenerate (GF_Scene *scene)
 
void gf_scene_select_object (GF_Scene *scene, GF_ObjectManager *odm)
 
void gf_scene_restart_dynamic (GF_Scene *scene, u64 from_time)
 
Bool gf_scene_process_anchor (GF_Node *caller, GF_Event *evt)
 
void gf_scene_force_size_to_video (GF_Scene *scene, GF_MediaObject *mo)
 
void gf_scene_sample_time (GF_Scene *scene)
 
Bool gf_scene_check_clocks (GF_ClientService *ns, GF_Scene *scene)
 
void gf_scene_notify_event (GF_Scene *scene, u32 event_type, GF_Node *n, void *dom_evt, GF_Err code)
 
void gf_scene_mpeg4_inline_restart (GF_Scene *scene)
 
GF_Nodegf_scene_get_subscene_root (GF_Node *inline_node)
 
Bool gf_inline_is_default_viewpoint (GF_Node *node)
 
GF_SceneGraph * gf_inline_get_proto_lib (void *_is, MFURL *lib_url)
 
Bool gf_inline_is_protolib_object (GF_Scene *scene, GF_ObjectManager *odm)
 
void gf_inline_restart (GF_Scene *scene)
 
Bool gf_mo_is_same_url (GF_MediaObject *obj, MFURL *an_url, Bool *keep_fragment, u32 obj_hint_type)
 
void gf_mo_update_caps (GF_MediaObject *mo)
 
const char * gf_scene_get_fragment_uri (GF_Node *node)
 
void gf_scene_set_fragment_uri (GF_Node *node, const char *uri)
 
GF_Err gf_term_init_scheduler (GF_Terminal *term, u32 threading_mode)
 
void gf_term_stop_scheduler (GF_Terminal *term)
 
void gf_term_add_codec (GF_Terminal *term, GF_Codec *codec)
 
void gf_term_remove_codec (GF_Terminal *term, GF_Codec *codec)
 
void gf_term_start_codec (GF_Codec *codec, Bool is_resume)
 
void gf_term_stop_codec (GF_Codec *codec, Bool is_pause)
 
void gf_term_set_threading (GF_Terminal *term, u32 mode)
 
void gf_term_set_priority (GF_Terminal *term, s32 Priority)
 
Bool gf_term_forward_event (GF_Terminal *term, GF_Event *evt, Bool consumed, Bool forward_only)
 
void gf_term_message (GF_Terminal *app, const char *service, const char *message, GF_Err error)
 
void gf_term_post_connect_object (GF_Terminal *term, GF_ObjectManager *odm, char *serviceURL, char *parent_url)
 
GF_Err gf_term_connect_remote_channel (GF_Terminal *app, GF_Channel *ch, char *URL)
 
void gf_term_handle_services (GF_Terminal *app)
 
void gf_term_close_service (GF_Terminal *app, GF_ClientService *service)
 
void gf_term_lock_media_queue (GF_Terminal *app, Bool LockIt)
 
void gf_term_lock_net (GF_Terminal *app, Bool LockIt)
 
void gf_term_check_connections_for_delete (GF_Terminal *term, GF_ObjectManager *odm)
 
void gf_term_lock_compositor (GF_Terminal *app, Bool LockIt)
 
u32 gf_term_get_time (GF_Terminal *term)
 
void gf_term_invalidate_compositor (GF_Terminal *term)
 
void gf_term_node_callback (void *_is, u32 type, GF_Node *node, void *param)
 
void gf_term_queue_node_traverse (GF_Terminal *term, GF_Node *node)
 
void gf_term_unqueue_node_traverse (GF_Terminal *term, GF_Node *node)
 
Bool gf_term_lock_codec (GF_Codec *codec, Bool lock, Bool try_lock)
 
GF_Err gf_term_add_event_filter (GF_Terminal *terminal, GF_TermEventFilter *ef)
 
GF_Err gf_term_remove_event_filter (GF_Terminal *terminal, GF_TermEventFilter *ef)
 
void gf_clock_del (GF_Clock *ck)
 
GF_Clock * gf_clock_find (GF_List *Clocks, u16 clockID, u16 ES_ID)
 
GF_Clock * gf_clock_attach (GF_List *clocks, GF_Scene *scene, u16 OCR_ES_ID, u16 ES_ID, s32 hasOCR)
 
void gf_clock_reset (GF_Clock *ck)
 
void gf_clock_stop (GF_Clock *ck)
 
u32 gf_clock_time (GF_Clock *ck)
 
u32 gf_clock_elapse_time (GF_Clock *ck)
 
void gf_clock_set_time (GF_Clock *ck, u32 TS)
 
u32 gf_clock_real_time (GF_Clock *ck)
 
void gf_clock_pause (GF_Clock *ck)
 
void gf_clock_resume (GF_Clock *ck)
 
Bool gf_clock_is_started (GF_Clock *ck)
 
void gf_clock_buffer_on (GF_Clock *ck)
 
void gf_clock_buffer_off (GF_Clock *ck)
 
void gf_clock_set_speed (GF_Clock *ck, Fixed speed)
 
void gf_clock_adjust_drift (GF_Clock *ck, s32 ms_drift)
 
GF_Channel * gf_es_new (GF_ESD *esd)
 
void gf_es_del (GF_Channel *ch)
 
void gf_es_lock (GF_Channel *ch, u32 LockIt)
 
GF_Err gf_es_start (GF_Channel *ch)
 
GF_Err gf_es_stop (GF_Channel *ch)
 
void gf_es_receive_sl_packet (GF_ClientService *serv, GF_Channel *ch, char *StreamBuf, u32 StreamLength, GF_SLHeader *header, GF_Err reception_status)
 
void gf_es_on_eos (GF_Channel *ch)
 
struct _decoding_buffer * gf_es_get_au (GF_Channel *ch)
 
void gf_es_drop_au (GF_Channel *ch)
 
void gf_es_on_connect (GF_Channel *ch)
 
void gf_es_reconfig_sl (GF_Channel *ch, GF_SLConfig *slc, Bool use_m2ts_sections)
 
void gf_es_reset_buffers (GF_Channel *ch)
 
void gf_es_init_dummy (GF_Channel *ch)
 
void gf_es_config_drm (GF_Channel *ch, GF_NetComDRMConfig *isma_cryp)
 
void gf_es_dispatch_raw_media_au (GF_Channel *ch, char *payload, u32 payload_size, u32 cts)
 
Bool gf_es_owns_clock (GF_Channel *ch)
 
void gf_es_reset_timing (GF_Channel *ch)
 
void gf_cm_reset_timing (GF_CompositionMemory *cb)
 
void gf_clock_discontinuity (GF_Clock *ck, GF_Scene *scene, Bool is_pcr_discontinuity)
 
GF_Codec * gf_codec_new (GF_ObjectManager *odm, GF_ESD *base_layer, s32 PL, GF_Err *e)
 
void gf_codec_del (GF_Codec *codec)
 
GF_Err gf_codec_add_channel (GF_Codec *codec, GF_Channel *ch)
 
Bool gf_codec_remove_channel (GF_Codec *codec, GF_Channel *ch)
 
GF_Err gf_codec_process (GF_Codec *codec, u32 TimeAvailable)
 
GF_Err gf_codec_get_capability (GF_Codec *codec, GF_CodecCapability *cap)
 
GF_Err gf_codec_set_capability (GF_Codec *codec, GF_CodecCapability cap)
 
void gf_codec_set_status (GF_Codec *codec, u32 Status)
 
GF_Codec * gf_codec_use_codec (GF_Codec *codec, GF_ObjectManager *odm)
 
GF_Err gf_codec_resize_composition_buffer (GF_Codec *dec, u32 NewSize)
 
GF_ObjectManager * gf_odm_new ()
 
void gf_odm_del (GF_ObjectManager *ODMan)
 
void gf_odm_lock (GF_ObjectManager *odm, u32 LockIt)
 
void gf_odm_setup_entry_point (GF_ObjectManager *odm, const char *sub_url)
 
void gf_odm_setup_object (GF_ObjectManager *odm, GF_ClientService *parent_serv)
 
void gf_odm_disconnect (GF_ObjectManager *odman, u32 do_remove)
 
GF_Err gf_odm_setup_es (GF_ObjectManager *odm, GF_ESD *esd, GF_ClientService *service, GF_MediaObject *sync_ref)
 
void gf_odm_remove_es (GF_ObjectManager *odm, u16 ES_ID)
 
void gf_odm_set_duration (GF_ObjectManager *odm, GF_Channel *, u64 stream_duration)
 
void gf_odm_on_eos (GF_ObjectManager *odm, GF_Channel *)
 
void gf_odm_start (GF_ObjectManager *odm, u32 media_queue_state)
 
void gf_odm_stop (GF_ObjectManager *odm, Bool force_close)
 
void gf_odm_play (GF_ObjectManager *odm)
 
void gf_odm_pause (GF_ObjectManager *odm)
 
void gf_odm_resume (GF_ObjectManager *odm)
 
void gf_odm_set_speed (GF_ObjectManager *odm, Fixed speed)
 
struct _object_clockgf_odm_get_media_clock (GF_ObjectManager *odm)
 
void gf_odm_init_segments (GF_ObjectManager *odm, GF_List *list, MFURL *url)
 
Bool gf_odm_shares_clock (GF_ObjectManager *odm, struct _object_clock *ock)
 
GF_Segmentgf_odm_find_segment (GF_ObjectManager *odm, char *descName)
 
Bool gf_odm_lock_mo (struct _mediaobj *mo)
 
void gf_odm_signal_eos (GF_ObjectManager *odm)
 
GF_MediaObject * gf_mo_new ()
 
GF_Err gf_odm_post_es_setup (struct _es_channel *ch, struct _generic_codec *dec, GF_Err err)
 
void gf_term_attach_service (GF_Terminal *term, GF_InputService *service_hdl)
 
Bool gf_term_send_event (GF_Terminal *term, GF_Event *evt)
 
void gf_term_service_media_event (GF_ObjectManager *odm, u32 event_type)
 
void gf_term_service_media_event_with_download (GF_ObjectManager *odm, u32 event_type, u64 loaded_size, u64 total_size, u32 bytes_per_sec)
 
u32 gf_mo_get_od_id (MFURL *url)
 
void gf_scene_generate_views (GF_Scene *scene, char *url, char *parent_url)
 
GF_Err gf_codec_process_private_media (GF_Codec *codec, u32 TimeAvailable)
 

Data Structure Documentation

struct _net_service
+ Collaboration diagram for GF_ClientService:
Data Fields
GF_InputService * ifce
struct _tag_terminal * term
char * url
struct _od_manager * owner
u32 nb_ch_users
u32 nb_odm_users
GF_List * Clocks
GF_List * dnloads
GF_StreamingCache * cache
GF_DownloadSession * pending_service_session
u32 download_rebuffer
Bool auto_rebuffer
Bool is_paused
u32 subservice_disconnect
struct GF_ProtoLink
+ Collaboration diagram for GF_ProtoLink:
Data Fields
MFURL * url
GF_MediaObject * mo
struct GF_Shortcut
+ Collaboration diagram for GF_Shortcut:
Data Fields
u8 code
u8 mods
u8 action
struct _tag_terminal
+ Collaboration diagram for GF_Terminal:
Data Fields
u32 flags
GF_User * user
struct __tag_compositor * compositor
GF_DownloadManager * downloader
GF_Scene * root_scene
GF_List * codecs
GF_Mutex * mm_mx
GF_Thread * mm_thread
u32 last_codec
s32 priority
u32 cumulated_priority
u32 frame_duration
GF_List * net_services
GF_List * net_services_to_remove
GF_List * connection_tasks
GF_List * channels_pending
GF_List * media_queue
GF_Mutex * media_queue_mx
GF_Mutex * net_mx
GF_List * x3d_sensors
GF_List * input_streams
Bool enable_cache
u32 net_data_timeout
u32 play_state
u32 reload_state
char * reload_url
GF_List * nodes_pending
GF_SceneGraph * dcci_doc
GF_List * extensions
GF_List * unthreaded_extensions
GF_List * event_filters
GF_Mutex * evt_mx
u32 in_event_filter
u32 thread_id_handling_services
GF_TermLocales locales
GF_List * uri_relocators
GF_Shortcut shortcuts[200]
Fixed speed_ratio
Bool bench_mode
struct _object_clock
+ Collaboration diagram for GF_Clock:
Data Fields
u16 clockID
GF_Terminal * term
GF_Mutex * mx
Bool use_ocr
Bool clock_init
Bool has_seen_eos
Bool no_time_ctrl
u32 init_time
u32 StartTime
u32 PauseTime
u32 Paused
u32 Buffering
struct _media_control * mc
Fixed speed
u32 discontinuity_time
s32 drift
u32 data_timeout
Bool probe_ocr
u32 last_TS_rendered
struct _es_channel
+ Collaboration diagram for GF_Channel:
Data Fields
GF_ClientService * service
GF_ESD * esd
struct _od_manager * odm
u32 es_state
Bool is_pulling
u32 media_padding_bytes
GF_Mutex * mx
u32 AU_Count
struct _decoding_buffer * AU_buffer_first
struct _decoding_buffer * AU_buffer_last
struct _decoding_buffer * AU_buffer_pull
Bool BufferOn
u32 MinBuffer
u32 MaxBuffer
s32 BufferTime
u32 last_au_time
char * buffer
u32 len
u32 allocSize
u8 padingBits
Bool IsEndOfStream
u32 DTS
u32 CTS
u32 CTS_past_offset
u32 au_sn
u32 pck_sn
u32 max_au_sn
u32 max_pck_sn
u32 AULength
u32 stream_state
Bool IsRap
Bool NextIsAUStart
Bool codec_resilient
Bool first_au_fetched
u8 carousel_type
Bool skip_carousel_au
Bool skip_time_check_for_pending
u64 seed_ts
u32 ts_offset
u64 ts_res
Double ocr_scale
struct _object_clock * clock
Bool IsClockInit
Bool recompute_dts
u32 min_ts_inc
u32 min_computed_cts
u32 au_duration
Bool skip_sl
Bool dispatch_after_db
Bool bypass_sl_and_db
GF_IPMPTool * ipmp_tool
Bool is_protected
u32 is_raw_channel
u32 resync_drift
s32 prev_pcr_diff
u64 net_dts
u64 net_cts
Bool last_au_was_seek
Bool no_timestamps
u32 prev_aggregated_dts
struct _od_manager
+ Collaboration diagram for GF_ObjectManager:
Data Fields
struct _tag_terminal * term
GF_ClientService * net_service
GF_Scene * parentscene
GF_List * channels
GF_Scene * subscene
struct _generic_codec * codec
struct _generic_codec * oci_codec
struct _generic_codec * ocr_codec
GF_ObjectDescriptor * OD
GF_Mutex * mx
u32 flags
u8 Audio_PL
u8 Graphics_PL
u8 OD_PL
u8 Scene_PL
u8 Visual_PL
struct _mediaobj * mo
u32 pending_channels
u32 state
u32 current_time
u64 duration
u64 media_start_time
u64 media_stop_time
u32 action_type
GF_Semaphore * raw_frame_sema
struct _media_control * media_ctrl
GF_List * mc_stack
GF_List * ms_stack
struct _mediaobj
+ Collaboration diagram for GF_MediaObject:
Data Fields
u32 type
u32 flags
struct _od_manager * odm
u32 OD_ID
MFURL URLs
u32 num_open
u32 num_to_restart
u32 num_restart
Fixed speed
u32 nb_fetch
u32 timestamp
u32 ms_until_next
s32 ms_until_pres
u32 framesize
char * frame
GF_List * evt_targets
void * node_ptr
struct GF_ChannelSetup
+ Collaboration diagram for GF_ChannelSetup:
Data Fields
struct _generic_codec * dec
struct _es_channel * ch

Macro Definition Documentation

#define GF_TERM_URI_RELOCATOR   Bool (*relocate_uri)(void *__self, const char *parent_uri, const char *uri, char *out_relocated_uri, char *out_localized_uri); \
#define MAX_SHORTCUTS   200

Typedef Documentation

typedef struct _media_manager GF_MediaManager

Enumeration Type Documentation

anonymous enum
Enumerator
GF_TERM_THREAD_FREE 
GF_TERM_THREAD_SINGLE 
GF_TERM_THREAD_MULTI 
anonymous enum
Enumerator
GF_TERM_RUNNING 
GF_TERM_DEAD 
GF_TERM_SINGLE_THREAD 
GF_TERM_MULTI_THREAD 
GF_TERM_DROP_LATE_FRAMES 
GF_TERM_SINGLE_CLOCK 
anonymous enum
Enumerator
GF_ESM_ES_SETUP 
GF_ESM_ES_WAIT_FOR_ACK 
GF_ESM_ES_CONNECTED 
GF_ESM_ES_RUNNING 
GF_ESM_ES_DISCONNECTED 
GF_ESM_ES_UNAVAILABLE 
anonymous enum
Enumerator
GF_ESM_CAROUSEL_NONE 
GF_ESM_CAROUSEL_MPEG4 
GF_ESM_CAROUSEL_MPEG2 
anonymous enum
Enumerator
GF_ESM_CODEC_STOP 
GF_ESM_CODEC_PLAY 
GF_ESM_CODEC_EOS 
GF_ESM_CODEC_PAUSE 
GF_ESM_CODEC_BUFFER 
anonymous enum
Enumerator
GF_ESM_CODEC_HAS_UPSTREAM 
GF_ESM_CODEC_IS_USE 
GF_ESM_CODEC_IS_STATIC_OD 
GF_ESM_CODEC_IS_RAW_MEDIA 
anonymous enum
Enumerator
GF_ODM_NO_TIME_CTRL 
GF_ODM_INHERIT_TIMELINE 
GF_ODM_REMOTE_OD 
GF_ODM_HAS_PROFILES 
GF_ODM_INLINE_PROFILES 
GF_ODM_NOT_IN_OD_STREAM 
GF_ODM_SERVICE_ENTRY 
GF_ODM_PREFETCH 
GF_ODM_DESTROYED 
GF_ODM_REGENERATE_SCENE 
GF_ODM_INITIAL_BROADCAST_PLAY 
anonymous enum
Enumerator
GF_ODM_STATE_STOP 
GF_ODM_STATE_PLAY 
GF_ODM_STATE_IN_SETUP 
GF_ODM_STATE_BLOCKED 
anonymous enum
Enumerator
GF_ODM_ACTION_PLAY 
GF_ODM_ACTION_STOP 
GF_ODM_ACTION_DELETE 
GF_ODM_ACTION_SCENE_DISCONNECT 
GF_ODM_ACTION_SCENE_RECONNECT 
GF_ODM_ACTION_SCENE_INLINE_RESTART 

Function Documentation

GF_ClientService* gf_term_service_new ( GF_Terminal *  term,
GF_ObjectManager *  owner,
const char *  url,
const char *  parent_url,
GF_Err ret_code 
)

+ Here is the caller graph for this function:

void gf_term_service_del ( GF_ClientService *  nets)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_term_service_command ( GF_ClientService *  ns,
GF_NetworkCommand com 
)

+ Here is the caller graph for this function:

Bool gf_term_service_can_handle_url ( GF_ClientService *  ns,
char *  url 
)

+ Here is the caller graph for this function:

GF_Err gf_term_channel_get_sl_packet ( GF_ClientService *  ns,
LPNETCHANNEL  channel,
char **  out_data_ptr,
u32 out_data_size,
GF_SLHeader out_sl_hdr,
Bool is_compressed,
GF_Err out_reception_status,
Bool is_new_data 
)

+ Here is the caller graph for this function:

GF_Err gf_term_channel_release_sl_packet ( GF_ClientService *  ns,
LPNETCHANNEL  channel 
)

+ Here is the caller graph for this function:

GF_Err gf_term_service_cache_load ( GF_ClientService *  ns)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_term_service_cache_close ( GF_ClientService *  ns,
Bool  no_save 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_term_step_clocks ( GF_Terminal *  term,
u32  ms_diff 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_term_sample_clocks ( GF_Terminal *  term)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_term_check_end_of_scene ( GF_Terminal *  term,
Bool  skip_interactions 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Scene* gf_scene_new ( GF_Scene *  parentScene)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_del ( GF_Scene *  scene)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

struct _od_manager* gf_scene_find_odm ( GF_Scene *  scene,
u16  OD_ID 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_disconnect ( GF_Scene *  scene,
Bool  for_shutdown 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_remove_object ( GF_Scene *  scene,
GF_ObjectManager *  odm,
u32  for_shutdown 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_buffering_info ( GF_Scene *  scene)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_attach_to_compositor ( GF_Scene *  scene)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

struct _mediaobj* gf_scene_get_media_object ( GF_Scene *  scene,
MFURL url,
u32  obj_type_hint,
Bool  lock_timelines 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

struct _mediaobj* gf_scene_get_media_object_ex ( GF_Scene *  scene,
MFURL url,
u32  obj_type_hint,
Bool  lock_timelines,
struct _mediaobj sync_ref,
Bool  force_new_if_not_attached,
GF_Node node_ptr 
)

+ Here is the caller graph for this function:

void gf_scene_setup_object ( GF_Scene *  scene,
GF_ObjectManager *  odm 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_set_duration ( GF_Scene *  scene)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

struct _mediaobj* gf_scene_find_object ( GF_Scene *  scene,
u16  ODID,
char *  url 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Double gf_scene_get_time ( void *  _is)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_register_extra_graph ( GF_Scene *  scene,
GF_SceneGraph *  extra_scene,
Bool  do_remove 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_force_size ( GF_Scene *  scene,
u32  width,
u32  height 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_regenerate ( GF_Scene *  scene)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_select_object ( GF_Scene *  scene,
GF_ObjectManager *  odm 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_restart_dynamic ( GF_Scene *  scene,
u64  from_time 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_scene_process_anchor ( GF_Node caller,
GF_Event evt 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_force_size_to_video ( GF_Scene *  scene,
GF_MediaObject *  mo 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_sample_time ( GF_Scene *  scene)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_scene_check_clocks ( GF_ClientService *  ns,
GF_Scene *  scene 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_notify_event ( GF_Scene *  scene,
u32  event_type,
GF_Node n,
void *  dom_evt,
GF_Err  code 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_mpeg4_inline_restart ( GF_Scene *  scene)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Node* gf_scene_get_subscene_root ( GF_Node inline_node)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_inline_is_default_viewpoint ( GF_Node node)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_SceneGraph* gf_inline_get_proto_lib ( void *  _is,
MFURL lib_url 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_inline_is_protolib_object ( GF_Scene *  scene,
GF_ObjectManager *  odm 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_inline_restart ( GF_Scene *  scene)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_mo_is_same_url ( GF_MediaObject *  obj,
MFURL an_url,
Bool keep_fragment,
u32  obj_hint_type 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_mo_update_caps ( GF_MediaObject *  mo)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

const char* gf_scene_get_fragment_uri ( GF_Node node)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_set_fragment_uri ( GF_Node node,
const char *  uri 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_term_init_scheduler ( GF_Terminal *  term,
u32  threading_mode 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_stop_scheduler ( GF_Terminal *  term)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_add_codec ( GF_Terminal *  term,
GF_Codec *  codec 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_remove_codec ( GF_Terminal *  term,
GF_Codec *  codec 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_start_codec ( GF_Codec *  codec,
Bool  is_resume 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_stop_codec ( GF_Codec *  codec,
Bool  is_pause 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_set_threading ( GF_Terminal *  term,
u32  mode 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_set_priority ( GF_Terminal *  term,
s32  Priority 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_term_forward_event ( GF_Terminal *  term,
GF_Event evt,
Bool  consumed,
Bool  forward_only 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_message ( GF_Terminal *  app,
const char *  service,
const char *  message,
GF_Err  error 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_post_connect_object ( GF_Terminal *  term,
GF_ObjectManager *  odm,
char *  serviceURL,
char *  parent_url 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_term_connect_remote_channel ( GF_Terminal *  app,
GF_Channel *  ch,
char *  URL 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_handle_services ( GF_Terminal *  app)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_close_service ( GF_Terminal *  app,
GF_ClientService *  service 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_lock_media_queue ( GF_Terminal *  app,
Bool  LockIt 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_lock_net ( GF_Terminal *  app,
Bool  LockIt 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_check_connections_for_delete ( GF_Terminal *  term,
GF_ObjectManager *  odm 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_lock_compositor ( GF_Terminal *  app,
Bool  LockIt 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_term_get_time ( GF_Terminal *  term)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_invalidate_compositor ( GF_Terminal *  term)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_node_callback ( void *  _is,
u32  type,
GF_Node node,
void *  param 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_queue_node_traverse ( GF_Terminal *  term,
GF_Node node 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_unqueue_node_traverse ( GF_Terminal *  term,
GF_Node node 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_term_lock_codec ( GF_Codec *  codec,
Bool  lock,
Bool  try_lock 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_term_add_event_filter ( GF_Terminal *  terminal,
GF_TermEventFilter ef 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_term_remove_event_filter ( GF_Terminal *  terminal,
GF_TermEventFilter ef 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_clock_del ( GF_Clock *  ck)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Clock* gf_clock_find ( GF_List *  Clocks,
u16  clockID,
u16  ES_ID 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Clock* gf_clock_attach ( GF_List *  clocks,
GF_Scene *  scene,
u16  OCR_ES_ID,
u16  ES_ID,
s32  hasOCR 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_clock_reset ( GF_Clock *  ck)

+ Here is the caller graph for this function:

void gf_clock_stop ( GF_Clock *  ck)

+ Here is the caller graph for this function:

u32 gf_clock_time ( GF_Clock *  ck)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_clock_elapse_time ( GF_Clock *  ck)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_clock_set_time ( GF_Clock *  ck,
u32  TS 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_clock_real_time ( GF_Clock *  ck)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_clock_pause ( GF_Clock *  ck)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_clock_resume ( GF_Clock *  ck)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_clock_is_started ( GF_Clock *  ck)

+ Here is the caller graph for this function:

void gf_clock_buffer_on ( GF_Clock *  ck)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_clock_buffer_off ( GF_Clock *  ck)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_clock_set_speed ( GF_Clock *  ck,
Fixed  speed 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_clock_adjust_drift ( GF_Clock *  ck,
s32  ms_drift 
)

+ Here is the caller graph for this function:

GF_Channel* gf_es_new ( GF_ESD esd)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_del ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_lock ( GF_Channel *  ch,
u32  LockIt 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_es_start ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_es_stop ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_receive_sl_packet ( GF_ClientService *  serv,
GF_Channel *  ch,
char *  StreamBuf,
u32  StreamLength,
GF_SLHeader header,
GF_Err  reception_status 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_on_eos ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

struct _decoding_buffer* gf_es_get_au ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_drop_au ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_on_connect ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_reconfig_sl ( GF_Channel *  ch,
GF_SLConfig slc,
Bool  use_m2ts_sections 
)

+ Here is the caller graph for this function:

void gf_es_reset_buffers ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_init_dummy ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_config_drm ( GF_Channel *  ch,
GF_NetComDRMConfig isma_cryp 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_dispatch_raw_media_au ( GF_Channel *  ch,
char *  payload,
u32  payload_size,
u32  cts 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_es_owns_clock ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_es_reset_timing ( GF_Channel *  ch)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_cm_reset_timing ( GF_CompositionMemory *  cb)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_clock_discontinuity ( GF_Clock *  ck,
GF_Scene *  scene,
Bool  is_pcr_discontinuity 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Codec* gf_codec_new ( GF_ObjectManager *  odm,
GF_ESD base_layer,
s32  PL,
GF_Err e 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_codec_del ( GF_Codec *  codec)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_codec_add_channel ( GF_Codec *  codec,
GF_Channel *  ch 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_codec_remove_channel ( GF_Codec *  codec,
GF_Channel *  ch 
)

+ Here is the caller graph for this function:

GF_Err gf_codec_process ( GF_Codec *  codec,
u32  TimeAvailable 
)

+ Here is the caller graph for this function:

GF_Err gf_codec_get_capability ( GF_Codec *  codec,
GF_CodecCapability cap 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_codec_set_capability ( GF_Codec *  codec,
GF_CodecCapability  cap 
)

+ Here is the caller graph for this function:

void gf_codec_set_status ( GF_Codec *  codec,
u32  Status 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Codec* gf_codec_use_codec ( GF_Codec *  codec,
GF_ObjectManager *  odm 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_codec_resize_composition_buffer ( GF_Codec *  dec,
u32  NewSize 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_ObjectManager* gf_odm_new ( )

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_del ( GF_ObjectManager *  ODMan)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_lock ( GF_ObjectManager *  odm,
u32  LockIt 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_setup_entry_point ( GF_ObjectManager *  odm,
const char *  sub_url 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_setup_object ( GF_ObjectManager *  odm,
GF_ClientService *  parent_serv 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_disconnect ( GF_ObjectManager *  odman,
u32  do_remove 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_odm_setup_es ( GF_ObjectManager *  odm,
GF_ESD esd,
GF_ClientService *  service,
GF_MediaObject *  sync_ref 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_remove_es ( GF_ObjectManager *  odm,
u16  ES_ID 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_set_duration ( GF_ObjectManager *  odm,
GF_Channel *  ,
u64  stream_duration 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_on_eos ( GF_ObjectManager *  odm,
GF_Channel *   
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_start ( GF_ObjectManager *  odm,
u32  media_queue_state 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_stop ( GF_ObjectManager *  odm,
Bool  force_close 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_play ( GF_ObjectManager *  odm)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_pause ( GF_ObjectManager *  odm)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_resume ( GF_ObjectManager *  odm)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_odm_set_speed ( GF_ObjectManager *  odm,
Fixed  speed 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

struct _object_clock* gf_odm_get_media_clock ( GF_ObjectManager *  odm)

+ Here is the caller graph for this function:

void gf_odm_init_segments ( GF_ObjectManager *  odm,
GF_List *  list,
MFURL url 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_odm_shares_clock ( GF_ObjectManager *  odm,
struct _object_clock ock 
)

+ Here is the caller graph for this function:

GF_Segment* gf_odm_find_segment ( GF_ObjectManager *  odm,
char *  descName 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Bool gf_odm_lock_mo ( struct _mediaobj mo)

+ Here is the caller graph for this function:

void gf_odm_signal_eos ( GF_ObjectManager *  odm)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_MediaObject* gf_mo_new ( )

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_odm_post_es_setup ( struct _es_channel ch,
struct _generic_codec dec,
GF_Err  err 
)

+ Here is the caller graph for this function:

void gf_term_attach_service ( GF_Terminal *  term,
GF_InputService service_hdl 
)

+ Here is the call graph for this function:

Bool gf_term_send_event ( GF_Terminal *  term,
GF_Event evt 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_service_media_event ( GF_ObjectManager *  odm,
u32  event_type 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_term_service_media_event_with_download ( GF_ObjectManager *  odm,
u32  event_type,
u64  loaded_size,
u64  total_size,
u32  bytes_per_sec 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

u32 gf_mo_get_od_id ( MFURL url)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void gf_scene_generate_views ( GF_Scene *  scene,
char *  url,
char *  parent_url 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

GF_Err gf_codec_process_private_media ( GF_Codec *  codec,
u32  TimeAvailable 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function: