libgpac
Documentation of the core library of GPAC
mediaobject.h File Reference

Interface between compositor and decoding engine for media data access. More...

+ Include dependency graph for mediaobject.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_MediaObjectVRInfo
 

Enumerations

enum  GF_MOFetchMode { GF_MO_FETCH = 0 , GF_MO_FETCH_RESYNC , GF_MO_FETCH_PAUSED }
 
enum  GF_MOUserFlags { GF_MO_DISPLAY_REMOVE = (1<<1) , GF_MO_IN_RESYNC = (1<<2) }
 

Functions

GF_MediaObject * gf_mo_register (GF_Node *node, MFURL *url, Bool lock_timelines, Bool force_new_res)
 
void gf_mo_unregister (GF_Node *node, GF_MediaObject *mo)
 
void gf_mo_play (GF_MediaObject *mo, Double clipBegin, Double clipEnd, Bool can_loop)
 
void gf_mo_stop (GF_MediaObject **mo)
 
void gf_mo_restart (GF_MediaObject *mo)
 
void gf_mo_pause (GF_MediaObject *mo)
 
void gf_mo_resume (GF_MediaObject *mo)
 
void gf_mo_set_speed (GF_MediaObject *mo, Fixed speed)
 
Fixed gf_mo_get_speed (GF_MediaObject *mo, Fixed in_speed)
 
Bool gf_mo_get_loop (GF_MediaObject *mo, Bool in_loop)
 
Double gf_mo_get_duration (GF_MediaObject *mo)
 
Bool gf_mo_should_deactivate (GF_MediaObject *mo)
 
Bool gf_mo_url_changed (GF_MediaObject *mo, MFURL *url)
 
u32 gf_mo_get_min_frame_dur (GF_MediaObject *mo)
 
u32 gf_mo_map_timestamp_to_sys_clock (GF_MediaObject *mo, u32 ts)
 
Bool gf_mo_is_buffering (GF_MediaObject *mo)
 
u8gf_mo_fetch_data (GF_MediaObject *mo, GF_MOFetchMode resync, u32 upload_time_ms, Bool *eos, u32 *timestamp, u32 *size, s32 *ms_until_pres, s32 *ms_until_next, GF_FilterFrameInterface **outFrame, u32 *planar_size)
 
void gf_mo_release_data (GF_MediaObject *mo, u32 nb_bytes, s32 drop_mode)
 
void gf_mo_get_object_time (GF_MediaObject *mo, u32 *obj_time)
 
Bool gf_mo_is_muted (GF_MediaObject *mo)
 
Bool gf_mo_is_done (GF_MediaObject *mo)
 
void gf_mo_adjust_clock (GF_MediaObject *mo, s32 ms_drift)
 
Bool gf_mo_is_started (GF_MediaObject *mo)
 
Bool gf_mo_get_visual_info (GF_MediaObject *mo, u32 *width, u32 *height, u32 *stride, u32 *pixel_ar, u32 *pixelFormat, Bool *is_flipped)
 
Bool gf_mo_get_visual_info_ex (GF_MediaObject *mo, u32 *width, u32 *height, u32 *stride, u32 *pixel_ar, u32 *pixelFormat, Bool *is_flipped, Bool for_texture)
 
void gf_mo_get_nb_views (GF_MediaObject *mo, u32 *nb_views)
 
Bool gf_mo_get_audio_info (GF_MediaObject *mo, u32 *sample_rate, u32 *afmt, u32 *num_channels, u64 *channel_config, Bool *forced_layout)
 
Fixed gf_mo_get_current_speed (GF_MediaObject *mo)
 
u32 gf_mo_has_audio (GF_MediaObject *mo)
 
void gf_mo_set_flag (GF_MediaObject *mo, GF_MOUserFlags flag, Bool set_on)
 
GF_MediaObject * gf_mo_load_xlink_resource (GF_Node *node, Bool primary_resource, Double clipBegin, Double clipEnd)
 
void gf_mo_unload_xlink_resource (GF_Node *node, GF_MediaObject *mo)
 
GF_SceneGraph * gf_mo_get_scenegraph (GF_MediaObject *mo)
 
Bool gf_mo_get_srd_info (GF_MediaObject *mo, GF_MediaObjectVRInfo *vr_info)
 
void gf_mo_hint_quality_degradation (GF_MediaObject *mo, u32 quality_degradation)
 
void gf_mo_hint_visible_rect (GF_MediaObject *mo, u32 min_x, u32 max_x, u32 min_y, u32 max_y)
 
void gf_mo_hint_gaze (GF_MediaObject *mo, u32 gaze_x, u32 gaze_y)
 
void gf_mo_del (GF_MediaObject *mo)
 
GF_DOMEventTargetgf_mo_event_target_add_node (GF_MediaObject *mo, GF_Node *node)
 
GF_Err gf_mo_event_target_remove_by_node (GF_MediaObject *mo, GF_Node *node)
 
u32 gf_mo_event_target_count (GF_MediaObject *mo)
 
GF_Err gf_mo_event_target_remove_by_index (GF_MediaObject *mo, u32 index)
 
GF_DOMEventTargetgf_mo_event_target_get (GF_MediaObject *mo, u32 index)
 
void gf_mo_event_target_reset (GF_MediaObject *mo)
 
s32 gf_mo_event_target_find_by_node (GF_MediaObject *mo, GF_Node *node)
 
GF_Nodegf_mo_event_target_enum_node (GF_MediaObject *mo, u32 *i)
 
GF_Nodegf_event_target_get_node (GF_DOMEventTarget *target)
 

Detailed Description

>