libgpac
Documentation of the core library of GPAC
filter_session.h File Reference
#include <gpac/list.h>
#include <gpac/thread.h>
#include <gpac/filters.h>
+ Include dependency graph for filter_session.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  GF_PropertyEntry
 
struct  GF_PropertyMap
 
struct  GF_FilterPacketInstance
 
struct  GF_URIRelocator
 
struct  GF_FSLocales
 
struct  GF_FilterPckInfo
 
struct  GF_FilterPacket
 
struct  GF_FSTask
 
struct  GF_SessionThread
 
struct  GF_FSArgItem
 
struct  GF_FilterSession
 
struct  GF_FSAutoIncNum
 
struct  GF_Filter
 
struct  GF_FilterUpdate
 
struct  GF_FilterPidInst
 
struct  GF_PropCheck
 
struct  GF_FilterPid
 
struct  GF_CapBundleDesc
 
struct  GF_BundleDesc
 
struct  GF_BundleCache
 
struct  GF_FilterRegEdge
 
struct  GF_FilterRegDesc
 

Macros

#define GF_FILTER_SPEED_SCALER   1000
 
#define PID_IS_INPUT(__pid)   ((__pid->pid==__pid) ? GF_FALSE : GF_TRUE)
 
#define PID_IS_OUTPUT(__pid)   ((__pid->pid==__pid) ? GF_TRUE : GF_FALSE)
 
#define PCK_IS_INPUT(__pck)   ((__pck->pck==__pck) ? GF_FALSE : GF_TRUE)
 
#define PCK_IS_OUTPUT(__pck)   ((__pck->pck==__pck) ? GF_TRUE : GF_FALSE)
 
#define FSESS_CHECK_THREAD(__f)   gf_assert( !(__f)->process_th_id || ( (__f)->process_th_id == gf_th_id() ) );
 
#define GF_FS_FLAG_IMPLICIT_MODE   GF_FS_FLAG_NO_IMPLICIT
 
#define GF_FS_FLAG_FORCE_DEBUG   (1<<30)
 
#define GF_PROPS_HASHTABLE_SIZE   0
 
#define gf_props_hash_djb2(_a, _b)   0
 
#define GF_FS_URI_RELOCATOR    Bool (*relocate_uri)(void *__self, const char *parent_uri, const char *uri, char *out_relocated_uri, char *out_localized_uri); \
 
#define CAP_MATCH_LOADED_INPUT_ONLY   1
 
#define CAP_MATCH_LOADED_OUTPUT_ONLY   1<<1
 
#define EDGE_LOADED_SOURCE_ONLY   (1)
 
#define EDGE_LOADED_DEST_ONLY   (1<<1)
 

Typedefs

typedef void(* gf_destruct_fun) (void *cbck)
 
typedef void(* gf_fs_task_callback) (GF_FSTask *task)
 

Enumerations

enum  {
  GF_PCKF_BLOCK_START = 0x80000000 , GF_PCKF_BLOCK_END = 1<<30 , GF_PCKF_PROPS_CHANGED = 1<<29 , GF_PCKF_INFO_CHANGED = 1<<28 ,
  GF_PCKF_CORRUPTED = 1<<27 , GF_PCKF_SEEK = 1<<26 , GF_PCKF_DUR_SET = 1<<25 , GF_PCKF_PROPS_REFERENCE = 1<<24 ,
  GF_PCK_SAP_POS = 21 , GF_PCK_SAP_MASK = 0x7 << GF_PCK_SAP_POS , GF_PCK_ILACE_POS = 19 , GF_PCK_ILACE_MASK = 0x3 << GF_PCK_ILACE_POS ,
  GF_PCK_CKTYPE_POS = 17 , GF_PCK_CKTYPE_MASK = 0x3 << GF_PCK_CKTYPE_POS , GF_PCK_CRYPT_POS = 15 , GF_PCK_CRYPT_MASK = 0x3 << GF_PCK_CRYPT_POS ,
  GF_PCK_CMD_POS = 13 , GF_PCK_CMD_MASK = 0x3 << GF_PCK_CMD_POS , GF_PCKF_FORCE_MAIN = 1<<12 , GF_PCKF_IS_FLUSH = 1<<11 ,
  GF_PCK_ISLEADING_POS = 6 , GF_PCK_ISLEADING_MASK = 0x3 << GF_PCK_ISLEADING_POS , GF_PCK_DEPENDS_ON_POS = 4 , GF_PCK_DEPENDS_ON_MASK = 0x3 << GF_PCK_DEPENDS_ON_POS ,
  GF_PCK_DEPENDED_ON_POS = 2 , GF_PCK_DEPENDED_ON_MASK = 0x3 << GF_PCK_DEPENDED_ON_POS , GF_PCK_REDUNDANT_MASK = 0x3 , GF_PCK_CMD_NONE = 0<<GF_PCK_CMD_POS ,
  GF_PCK_CMD_PID_EOS = 1<<GF_PCK_CMD_POS , GF_PCK_CMD_PID_REM = 2<<GF_PCK_CMD_POS
}
 
enum  GF_TaskClassType { TASK_TYPE_NONE =0 , TASK_TYPE_EVENT , TASK_TYPE_SETUP , TASK_TYPE_USER }
 
enum  GF_FSArgItemType { GF_ARGTYPE_LOCAL = 0 , GF_ARGTYPE_GLOBAL , GF_ARGTYPE_META , GF_ARGTYPE_META_REPORTING }
 
enum  { GF_FS_BLOCK_ALL =0 , GF_FS_NOBLOCK_FANOUT , GF_FS_NOBLOCK }
 
enum  GF_FilterArgType {
  GF_FILTER_ARG_EXPLICIT = 0 , GF_FILTER_ARG_INHERIT , GF_FILTER_ARG_INHERIT_SOURCE_ONLY , GF_FILTER_ARG_EXPLICIT_SOURCE ,
  GF_FILTER_ARG_EXPLICIT_SOURCE_NO_DST_INHERIT , GF_FILTER_ARG_EXPLICIT_SINK
}
 
enum  GF_FilterCloneType { GF_FILTER_NO_CLONE =0 , GF_FILTER_CLONE , GF_FILTER_CLONE_PROBE }
 
enum  GF_FilterDisableType { GF_FILTER_ENABLED = 0 , GF_FILTER_DISABLED , GF_FILTER_DISABLED_HIDE }
 
enum  GF_FilterScheduledType { GF_FILTER_NOT_SCHEDULED = 0 , GF_FILTER_SCHEDULED , GF_FILTER_DIRECT_SCHEDULED }
 
enum  { EDGE_STATUS_NONE =0 , EDGE_STATUS_ENABLED , EDGE_STATUS_DISABLED }
 

Functions

void gf_propmap_del (void *pmap)
 
GF_PropertyMapgf_props_new (GF_Filter *filter)
 
void gf_props_del (GF_PropertyMap *prop)
 
void gf_props_reset (GF_PropertyMap *prop)
 
GF_Err gf_props_set_property (GF_PropertyMap *map, u32 p4cc, const char *name, char *dyn_name, const GF_PropertyValue *value)
 
GF_Err gf_props_insert_property (GF_PropertyMap *map, u32 hash, u32 p4cc, const char *name, char *dyn_name, const GF_PropertyValue *value)
 
void gf_props_remove_property (GF_PropertyMap *map, u32 hash, u32 p4cc, const char *name)
 
const GF_PropertyValue * gf_props_get_property (GF_PropertyMap *map, u32 prop_4cc, const char *name)
 
const GF_PropertyEntry * gf_props_get_property_entry (GF_PropertyMap *map, u32 prop_4cc, const char *name)
 
GF_Err gf_props_merge_property (GF_PropertyMap *dst_props, GF_PropertyMap *src_props, gf_filter_prop_filter filter_prop, void *cbk)
 
const GF_PropertyValue * gf_props_enum_property (GF_PropertyMap *props, u32 *io_idx, u32 *prop_4cc, const char **prop_name)
 
void gf_props_del_property (GF_PropertyEntry *it)
 
GF_FilterQueue * gf_fq_new (const GF_Mutex *mx)
 
void gf_fq_del (GF_FilterQueue *fq, void(*item_delete)(void *))
 
void gf_fq_add (GF_FilterQueue *fq, void *item)
 
void * gf_fq_pop (GF_FilterQueue *fq)
 
void * gf_fq_head (GF_FilterQueue *fq)
 
u32 gf_fq_count (GF_FilterQueue *fq)
 
void * gf_fq_get (GF_FilterQueue *fq, u32 idx)
 
void gf_fq_enum (GF_FilterQueue *fq, void(*enum_func)(void *udta1, void *item), void *udta)
 
void gf_void_del (void *p)
 
void gf_fs_post_task (GF_FilterSession *fsess, gf_fs_task_callback fun, GF_Filter *filter, GF_FilterPid *pid, const char *log_name, void *udta)
 
void gf_fs_post_task_ex (GF_FilterSession *fsess, gf_fs_task_callback task_fun, GF_Filter *filter, GF_FilterPid *pid, const char *log_name, void *udta, Bool is_configure, Bool force_main_thread, Bool force_direct_call, GF_TaskClassType class_type, u32 delay_ms)
 
void gf_fs_post_task_class (GF_FilterSession *fsess, gf_fs_task_callback task_fun, GF_Filter *filter, GF_FilterPid *pid, const char *log_name, void *udta, GF_TaskClassType class_type)
 
void gf_filter_pid_send_event_downstream (GF_FSTask *task)
 
void gf_fs_push_arg (GF_FilterSession *session, const char *szArg, Bool was_found, GF_FSArgItemType type, GF_Filter *meta_filter, const char *sub_opt_name)
 
void gf_fs_reg_all (GF_FilterSession *fsess, GF_FilterSession *a_sess)
 
GF_Err gf_fs_check_gl_provider (GF_FilterSession *session)
 
GF_Err gf_fs_set_gl (GF_FilterSession *session, Bool do_activate)
 
GF_Filter * gf_filter_new (GF_FilterSession *fsess, const GF_FilterRegister *freg, const char *args, const char *dst_args, GF_FilterArgType arg_type, GF_Err *err, GF_Filter *multi_sink_target, Bool dynamic_filter)
 
GF_Filter * gf_filter_clone (GF_Filter *filter, GF_Filter *source_filter)
 
void gf_filter_del (GF_Filter *filter)
 
Bool gf_filter_swap_source_register (GF_Filter *filter)
 
GF_Err gf_filter_new_finalize (GF_Filter *filter, const char *args, GF_FilterArgType arg_type)
 
GF_Filter * gf_fs_load_source_dest_internal (GF_FilterSession *fsess, const char *url, const char *args, const char *parent_url, GF_Err *err, GF_Filter *filter, GF_Filter *dst_filter, Bool for_source, Bool no_args_inherit, Bool *probe_only, const GF_FilterRegister **probe_reg)
 
void gf_fs_post_pid_instance_delete_task (GF_FilterSession *session, GF_Filter *filter, GF_FilterPid *pid, GF_FilterPidInst *pidinst)
 
void gf_filter_pid_inst_reset (GF_FilterPidInst *pidinst)
 
void gf_filter_pid_inst_del (GF_FilterPidInst *pidinst)
 
void gf_filter_forward_clock (GF_Filter *filter)
 
void gf_filter_process_inline (GF_Filter *filter)
 
void gf_filter_pid_retry_caps_negotiate (GF_FilterPid *src_pid, GF_FilterPid *pid, GF_Filter *dst_filter)
 
void gf_filter_reset_pending_packets (GF_Filter *filter)
 
void gf_filter_instance_detach_pid (GF_FilterPidInst *pidi)
 
void filter_parse_logs (GF_Filter *filter, const char *_logs)
 
void gf_filter_pid_del (GF_FilterPid *pid)
 
void gf_filter_pid_del_task (GF_FSTask *task)
 
void gf_filter_packet_destroy (GF_FilterPacket *pck)
 
void gf_fs_cleanup_filters (GF_FilterSession *fsess)
 
void gf_filter_pid_post_init_task (GF_Filter *filter, GF_FilterPid *pid)
 
void gf_filter_pid_post_connect_task (GF_Filter *filter, GF_FilterPid *pid)
 
void gf_filter_pid_reconfigure_task (GF_FSTask *task)
 
void gf_filter_pid_reconfigure_task_discard (GF_FSTask *task)
 
void gf_filter_update_arg_task (GF_FSTask *task)
 
void gf_filter_remove_task (GF_FSTask *task)
 
void gf_filter_pid_detach_task (GF_FSTask *task)
 
void gf_filter_pid_detach_task_no_flush (GF_FSTask *task)
 
void gf_fs_post_disconnect_task (GF_FilterSession *session, GF_Filter *filter, GF_FilterPid *pid)
 
u32 gf_filter_caps_bundle_count (const GF_FilterCapability *caps, u32 nb_caps)
 
void gf_filter_set_id (GF_Filter *filter, const char *ID)
 
void gf_filter_post_remove (GF_Filter *filter)
 
void gf_filter_check_pending_pids (GF_Filter *filter)
 
void reset_bundle_cache (GF_FilterSession *session)
 
u32 gf_filter_caps_to_caps_match (const GF_FilterRegister *src, u32 src_bundle_idx, const GF_FilterRegister *dst, GF_Filter *dst_filter, u32 for_dst_bundle, u32 *loaded_filter_flags, s32 *src_stream_type, GF_BundleCache *bundle_cache_src, GF_BundleCache *bundle_cache_dst)
 
Bool gf_filter_has_out_caps (const GF_FilterCapability *caps, u32 nb_caps)
 
Bool gf_filter_has_in_caps (const GF_FilterCapability *caps, u32 nb_caps)
 
void gf_filter_check_output_reconfig (GF_Filter *filter)
 
Bool gf_filter_reconf_output (GF_Filter *filter, GF_FilterPid *pid)
 
void gf_filter_renegotiate_output_dst (GF_FilterPid *pid, GF_Filter *filter, GF_Filter *filter_dst, GF_FilterPidInst *dst_pidi, GF_FilterPidInst *src_pidi)
 
GF_Filter * gf_filter_pid_resolve_link (GF_FilterPid *pid, GF_Filter *dst, Bool *filter_reassigned)
 
GF_Filter * gf_filter_pid_resolve_link_check_loaded (GF_FilterPid *pid, GF_Filter *dst, Bool *filter_reassigned, GF_List *skip_if_in_filter_list, Bool *skipped)
 
GF_Filter * gf_filter_pid_resolve_link_for_caps (GF_FilterPid *pid, GF_Filter *dst, Bool check_reconfig_only)
 
u32 gf_filter_pid_resolve_link_length (GF_FilterPid *pid, GF_Filter *dst)
 
Bool gf_filter_pid_caps_match (GF_FilterPid *src_pid, const GF_FilterRegister *freg, GF_Filter *filter_inst, u8 *priority, u32 *dst_bundle_idx, GF_Filter *dst_filter, s32 for_bundle_idx)
 
void gf_filter_relink_dst (GF_FilterPidInst *pidinst, GF_Err reason)
 
void gf_filter_remove_internal (GF_Filter *filter, GF_Filter *until_filter, Bool keep_end_connections)
 
GF_FilterPacket * gf_filter_pck_new_shared_internal (GF_FilterPid *pid, const u8 *data, u32 data_size, gf_fsess_packet_destructor destruct, Bool intern_pck)
 
void gf_filter_sess_build_graph (GF_FilterSession *fsess, const GF_FilterRegister *freg)
 
void gf_filter_sess_reset_graph (GF_FilterSession *fsess, const GF_FilterRegister *freg)
 
Bool gf_fs_ui_event (GF_FilterSession *session, GF_Event *uievt)
 
GF_Err gf_filter_pck_send_internal (GF_FilterPacket *pck, Bool from_filter)
 
void gf_filter_pid_send_event_internal (GF_FilterPid *pid, GF_FilterEvent *evt, Bool force_downstream)
 
const GF_PropertyEntry * gf_filter_pid_get_property_entry (GF_FilterPid *pid, u32 prop_4cc)
 
const GF_PropertyEntry * gf_filter_pid_get_property_entry_str (GF_FilterPid *pid, const char *prop_name)
 
const GF_PropertyValue * gf_filter_pid_get_property_first (GF_FilterPid *pid, u32 prop_4cc)
 
const GF_PropertyValue * gf_filter_pid_get_property_str_first (GF_FilterPid *pid, const char *prop_name)
 
void gf_filter_pid_set_args (GF_Filter *filter, GF_FilterPid *pid)
 
Bool gf_filter_aggregate_packets (GF_FilterPidInst *dst)
 
void filter_solve_prop_template (GF_Filter *filter, GF_FilterPid *pid, char **value)
 
void bundle_cache_free (GF_FilterRegDesc *reg_desc)
 
void gf_filter_post_process_task_internal (GF_Filter *filter, Bool use_direct_dispatch)
 
const char * gf_fs_path_escape_colon (GF_FilterSession *sess, const char *path)
 
const char * gf_fs_path_escape_colon_ex (GF_FilterSession *sess, const char *path, Bool *needs_escape, Bool for_source)
 
void gf_fs_check_graph_load (GF_FilterSession *fsess, Bool for_load)
 
void gf_filter_renegotiate_output_task (GF_FSTask *task)
 
void gf_fs_unload_script (GF_FilterSession *fs, void *js_ctx)
 
Bool gf_fs_check_filter_register_cap_ex (const GF_FilterRegister *f_reg, u32 incode, GF_PropertyValue *cap_input, u32 outcode, GF_PropertyValue *cap_output, Bool exact_match_only, Bool out_cap_excluded)
 
Bool gf_filter_update_arg_apply (GF_Filter *filter, const char *arg_name, const char *arg_value, Bool is_sync_call)
 
GF_List * gf_filter_pid_compute_link (GF_FilterPid *pid, GF_Filter *dst, GF_List *tmp_blacklist, GF_LinkInfo *link_info)
 
GF_PropertyValue gf_filter_parse_prop_solve_env_var (GF_FilterSession *fs, GF_Filter *f, u32 type, const char *name, const char *value, const char *enum_values)
 
Bool gf_fq_res_add (GF_FilterQueue *fq, void *item)
 
Bool filter_source_id_match (GF_FilterPid *src_pid, const char *id, GF_Filter *dst_filter, Bool *pid_excluded, Bool *needs_clone, const char *source_ids)
 
const char * gf_filter_last_id_in_chain (GF_Filter *filter, Bool ignore_first)
 

Data Structure Documentation

◆ __gf_prop_entry

struct __gf_prop_entry

Filter Property Reference object, used for info query only

Data Fields
GF_FilterSession * session
volatile u32 reference_count
u32 p4cc
Bool name_alloc
char * pname
GF_PropertyValue prop
u32 alloc_size

◆ GF_PropertyMap

struct GF_PropertyMap
Data Fields
GF_List * properties
volatile u32 reference_count
volatile u32 pckrefs_reference_count
GF_FilterSession * session
u32 timescale

◆ GF_FilterPacketInstance

struct GF_FilterPacketInstance
+ Collaboration diagram for GF_FilterPacketInstance:
Data Fields
struct __gf_filter_pck * pck
GF_FilterPidInst * pid
u8 pid_props_change_done
u8 pid_info_change_done

◆ __gf_uri_relocator

struct __gf_uri_relocator

◆ GF_FSLocales

struct GF_FSLocales
Data Fields
GF_FS_URI_RELOCATOR GF_FilterSession * sess
char * szAbsRelocatedPath

◆ GF_FilterPckInfo

struct GF_FilterPckInfo
Data Fields
u32 flags

packet flags

u64 dts
u64 cts
u32 duration
u64 byte_offset
u32 seq_num
s16 roll
u8 carousel_version_number

◆ __gf_filter_pck

struct __gf_filter_pck

Filter Packet object

+ Collaboration diagram for GF_FilterPacket:
Data Fields
struct __gf_filter_pck * pck
GF_FilterPid * pid
GF_Filter * src_filter
GF_FilterSession * session
volatile u32 reference_count
GF_FilterPckInfo info
char * data
u32 data_length
u32 alloc_size
gf_fsess_packet_destructor destructor
struct __gf_filter_pck * reference
GF_FilterFrameInterface * frame_ifce
GF_PropertyMap * props
GF_PropertyMap * pid_props
u8 filter_owns_mem
u8 is_dangling

◆ __gf_fs_task

struct __gf_fs_task

Filter Session Task object

Data Fields
Bool notified
Bool requeue_request
u32 can_swap
Bool blocking
Bool force_main
u64 schedule_next_time
gf_fs_task_callback run_task
GF_Filter * filter
GF_FilterPid * pid
const char * log_name
void * udta
GF_TaskClassType class_type
u32 thid

◆ GF_SessionThread

struct GF_SessionThread
+ Collaboration diagram for GF_SessionThread:
Data Fields
GF_Thread * th
struct __gf_filter_session * fsess
u32 th_id
u32 nb_filters_pinned
Bool has_seen_eot
u64 nb_tasks
u64 run_time
u64 active_time
u32 rmt_tasks
char rmt_name[20]

◆ GF_FSArgItem

struct GF_FSArgItem
Data Fields
char * argname
GF_FSArgItemType type
const char * meta_filter
const char * meta_opt
u8 opt_found
u8 meta_state

◆ GF_FSAutoIncNum

struct GF_FSAutoIncNum
Data Fields
u32 crc
s32 inc_val
GF_Filter * filter
GF_FilterPid * pid

◆ GF_FilterUpdate

struct GF_FilterUpdate
Data Fields
char * name
char * val
GF_EventPropagateType recursive

◆ __gf_filter_pid_inst

struct __gf_filter_pid_inst
+ Collaboration diagram for GF_FilterPidInst:
Data Fields
struct __gf_filter_pid * pid
GF_Filter * filter
GF_PropertyMap * props
GF_FilterQueue * packets
GF_Mutex * pck_mx
GF_List * pck_reassembly
Bool requires_full_data_block
Bool last_block_ended
Bool first_block_started
volatile u32 discard_packets
Bool force_reconfig
u32 discard_inputs
volatile s64 buffer_duration
volatile s32 detach_pending
Bool force_flush
void * udta
u32 udta_flags
u64 last_pck_fetch_time
u64 stats_start_ts
u64 stats_start_us
u32 cur_bit_size
u32 avg_bit_rate
u32 max_bit_rate
u32 avg_process_rate
u32 max_process_rate
u32 nb_processed
u32 nb_sap_processed
u32 nb_reagg_pck
u64 total_process_time
u64 total_sap_process_time
u64 max_process_time
u64 max_sap_process_time
u64 first_frame_time
Bool is_end_of_stream
Bool keepalive_signaled
Bool is_playing
Bool is_paused
u8 play_queued
u8 stop_queued
volatile u32 nb_eos_signaled
Bool is_encoder_input
Bool is_decoder_input
GF_PropertyMap * reconfig_pid_props
Bool handles_clock_references
volatile u32 nb_clocks_signaled
u64 last_clock_value
u32 last_clock_timescale
GF_FilterClockType last_clock_type
GF_Filter * alias_orig
GF_Fraction64 last_ts_drop
u64 last_buf_query_clock
u64 last_buf_query_dur
u64 last_rt_report

last RT info update time - input pid only

u32 rtt

estimated round-trip time in ms - input pid only

u32 jitter

estimated interarrival jitter in microseconds - input pid only

u32 loss_rate

loss rate in per-thousand - input pid only

GF_List * prop_dump

◆ GF_PropCheck

struct GF_PropCheck
Data Fields
u32 p4cc
const char * name

◆ __gf_filter_pid

struct __gf_filter_pid

Filter PID object

+ Collaboration diagram for GF_FilterPid:
Data Fields
struct __gf_filter_pid * pid
GF_Filter * filter
char * name
GF_List * destinations
u32 num_destinations
GF_List * properties
Bool request_property_map
Bool pid_info_changed
Bool destroyed
u32 not_connected
Bool not_connected_ok
Bool removed
Bool direct_dispatch
volatile u32 init_task_pending
volatile Bool props_changed_since_connect
volatile u32 nb_shared_packets_out
GF_PropertyMap * infos
Bool has_seen_eos
Bool eos_keepalive
u32 nb_reaggregation_pending
u32 max_buffer_unit
volatile u32 nb_buffer_unit
u64 max_buffer_time
u32 user_max_buffer_time
u32 user_max_playout_time
u32 user_min_playout_time
u64 buffer_duration
Bool raw_media
Bool is_sparse
u32 stream_type
u32 codecid
volatile u32 would_block
volatile u32 nb_decoder_inputs
Bool duration_init
u64 last_pck_dts
u64 last_pck_cts
u64 min_pck_cts
u64 max_pck_cts
u32 min_pck_duration
u32 nb_unreliable_dts
u32 last_pck_dur
Bool recompute_dts
Bool ignore_blocking
u32 nb_pck_sent
u32 playback_speed_scaler
GF_Fraction64 last_ts_sent
Bool initial_play_done
Bool is_playing
void * udta
u32 udta_flags
GF_PropertyMap * caps_negotiate
Bool caps_negotiate_direct
GF_List * caps_negotiate_pidi_list
GF_List * adapters_blacklist
GF_Filter * caps_dst_filter
Bool ext_not_trusted
Bool user_buffer_forced
Bool require_source_id
GF_PropertyMap * local_props
volatile u32 num_pidinst_del_pending
u32 link_flags

◆ GF_CapBundleDesc

struct GF_CapBundleDesc
+ Collaboration diagram for GF_CapBundleDesc:
Data Fields
u32 code
const char * name
u32 nb_vals
u32 alloc_vals
const GF_FilterCapability ** vals

◆ GF_BundleDesc

struct GF_BundleDesc
+ Collaboration diagram for GF_BundleDesc:
Data Fields
u32 magic
s32 stream_type
u32 nb_caps
u32 alloc_caps
GF_CapBundleDesc * caps

◆ GF_BundleCache

struct GF_BundleCache
+ Collaboration diagram for GF_BundleCache:
Data Fields
u32 nb_src
u32 nb_src_alloc
GF_BundleDesc ** bundles_src
u32 nb_dst
u32 nb_dst_alloc
GF_BundleDesc ** bundles_dst

◆ GF_FilterRegEdge

struct GF_FilterRegEdge
Data Fields
struct __freg_desc * src_reg
u16 src_cap_idx
u16 dst_cap_idx
u8 weight
u8 status
u8 priority
u8 loaded_filter_only
u32 disabled_depth
s32 src_stream_type

◆ GF_FilterRegDesc

struct GF_FilterRegDesc
+ Collaboration diagram for GF_FilterRegDesc:
Data Fields
const GF_FilterRegister * freg
u32 nb_edges
u32 nb_alloc_edges
u32 nb_bundles
GF_FilterRegEdge * edges
u32 dist
struct __freg_desc * destination
u32 cap_idx
GF_BundleCache * bundle_cache
u8 priority
u8 in_edges_enabling
u8 has_input
u8 has_output

◆ GF_LinkInfo

struct GF_LinkInfo
Data Fields
u32 distance
u32 priority

Macro Definition Documentation

◆ GF_FILTER_SPEED_SCALER

#define GF_FILTER_SPEED_SCALER   1000

◆ PID_IS_INPUT

#define PID_IS_INPUT (   __pid)    ((__pid->pid==__pid) ? GF_FALSE : GF_TRUE)

◆ PID_IS_OUTPUT

#define PID_IS_OUTPUT (   __pid)    ((__pid->pid==__pid) ? GF_TRUE : GF_FALSE)

◆ PCK_IS_INPUT

#define PCK_IS_INPUT (   __pck)    ((__pck->pck==__pck) ? GF_FALSE : GF_TRUE)

◆ PCK_IS_OUTPUT

#define PCK_IS_OUTPUT (   __pck)    ((__pck->pck==__pck) ? GF_TRUE : GF_FALSE)

◆ FSESS_CHECK_THREAD

#define FSESS_CHECK_THREAD (   __f)    gf_assert( !(__f)->process_th_id || ( (__f)->process_th_id == gf_th_id() ) );

◆ GF_FS_FLAG_IMPLICIT_MODE

#define GF_FS_FLAG_IMPLICIT_MODE   GF_FS_FLAG_NO_IMPLICIT

◆ GF_FS_FLAG_FORCE_DEBUG

#define GF_FS_FLAG_FORCE_DEBUG   (1<<30)

◆ GF_PROPS_HASHTABLE_SIZE

#define GF_PROPS_HASHTABLE_SIZE   0

◆ gf_props_hash_djb2

#define gf_props_hash_djb2 (   _a,
  _b 
)    0

◆ GF_FS_URI_RELOCATOR

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

◆ CAP_MATCH_LOADED_INPUT_ONLY

#define CAP_MATCH_LOADED_INPUT_ONLY   1

◆ CAP_MATCH_LOADED_OUTPUT_ONLY

#define CAP_MATCH_LOADED_OUTPUT_ONLY   1<<1

◆ EDGE_LOADED_SOURCE_ONLY

#define EDGE_LOADED_SOURCE_ONLY   (1)

◆ EDGE_LOADED_DEST_ONLY

#define EDGE_LOADED_DEST_ONLY   (1<<1)

Typedef Documentation

◆ gf_destruct_fun

typedef void(* gf_destruct_fun) (void *cbck)

◆ gf_fs_task_callback

typedef void(* gf_fs_task_callback) (GF_FSTask *task)

Filter Session Task process function prototype

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
GF_PCKF_BLOCK_START 
GF_PCKF_BLOCK_END 
GF_PCKF_PROPS_CHANGED 
GF_PCKF_INFO_CHANGED 
GF_PCKF_CORRUPTED 
GF_PCKF_SEEK 
GF_PCKF_DUR_SET 
GF_PCKF_PROPS_REFERENCE 
GF_PCK_SAP_POS 
GF_PCK_SAP_MASK 
GF_PCK_ILACE_POS 
GF_PCK_ILACE_MASK 
GF_PCK_CKTYPE_POS 
GF_PCK_CKTYPE_MASK 
GF_PCK_CRYPT_POS 
GF_PCK_CRYPT_MASK 
GF_PCK_CMD_POS 
GF_PCK_CMD_MASK 
GF_PCKF_FORCE_MAIN 
GF_PCKF_IS_FLUSH 
GF_PCK_ISLEADING_POS 
GF_PCK_ISLEADING_MASK 
GF_PCK_DEPENDS_ON_POS 
GF_PCK_DEPENDS_ON_MASK 
GF_PCK_DEPENDED_ON_POS 
GF_PCK_DEPENDED_ON_MASK 
GF_PCK_REDUNDANT_MASK 
GF_PCK_CMD_NONE 
GF_PCK_CMD_PID_EOS 
GF_PCK_CMD_PID_REM 

◆ GF_TaskClassType

Enumerator
TASK_TYPE_NONE 
TASK_TYPE_EVENT 
TASK_TYPE_SETUP 
TASK_TYPE_USER 

◆ GF_FSArgItemType

Enumerator
GF_ARGTYPE_LOCAL 
GF_ARGTYPE_GLOBAL 
GF_ARGTYPE_META 
GF_ARGTYPE_META_REPORTING 

◆ anonymous enum

anonymous enum
Enumerator
GF_FS_BLOCK_ALL 
GF_FS_NOBLOCK_FANOUT 
GF_FS_NOBLOCK 

◆ GF_FilterArgType

Enumerator
GF_FILTER_ARG_EXPLICIT 
GF_FILTER_ARG_INHERIT 
GF_FILTER_ARG_INHERIT_SOURCE_ONLY 
GF_FILTER_ARG_EXPLICIT_SOURCE 
GF_FILTER_ARG_EXPLICIT_SOURCE_NO_DST_INHERIT 
GF_FILTER_ARG_EXPLICIT_SINK 

◆ GF_FilterCloneType

Enumerator
GF_FILTER_NO_CLONE 
GF_FILTER_CLONE 
GF_FILTER_CLONE_PROBE 

◆ GF_FilterDisableType

Enumerator
GF_FILTER_ENABLED 
GF_FILTER_DISABLED 
GF_FILTER_DISABLED_HIDE 

◆ GF_FilterScheduledType

Enumerator
GF_FILTER_NOT_SCHEDULED 
GF_FILTER_SCHEDULED 
GF_FILTER_DIRECT_SCHEDULED 

◆ anonymous enum

anonymous enum
Enumerator
EDGE_STATUS_NONE 
EDGE_STATUS_ENABLED 
EDGE_STATUS_DISABLED 

Function Documentation

◆ gf_propmap_del()

void gf_propmap_del ( void *  pmap)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_new()

GF_PropertyMap* gf_props_new ( GF_Filter *  filter)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_del()

void gf_props_del ( GF_PropertyMap prop)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_reset()

void gf_props_reset ( GF_PropertyMap prop)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_set_property()

GF_Err gf_props_set_property ( GF_PropertyMap map,
u32  p4cc,
const char *  name,
char *  dyn_name,
const GF_PropertyValue *  value 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_insert_property()

GF_Err gf_props_insert_property ( GF_PropertyMap map,
u32  hash,
u32  p4cc,
const char *  name,
char *  dyn_name,
const GF_PropertyValue *  value 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_remove_property()

void gf_props_remove_property ( GF_PropertyMap map,
u32  hash,
u32  p4cc,
const char *  name 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_get_property()

const GF_PropertyValue* gf_props_get_property ( GF_PropertyMap map,
u32  prop_4cc,
const char *  name 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_get_property_entry()

const GF_PropertyEntry* gf_props_get_property_entry ( GF_PropertyMap map,
u32  prop_4cc,
const char *  name 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_merge_property()

GF_Err gf_props_merge_property ( GF_PropertyMap dst_props,
GF_PropertyMap src_props,
gf_filter_prop_filter  filter_prop,
void *  cbk 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_enum_property()

const GF_PropertyValue* gf_props_enum_property ( GF_PropertyMap props,
u32 io_idx,
u32 prop_4cc,
const char **  prop_name 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_props_del_property()

void gf_props_del_property ( GF_PropertyEntry *  it)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fq_new()

GF_FilterQueue* gf_fq_new ( const GF_Mutex *  mx)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fq_del()

void gf_fq_del ( GF_FilterQueue *  fq,
void(*)(void *)  item_delete 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fq_add()

void gf_fq_add ( GF_FilterQueue *  fq,
void *  item 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fq_pop()

void* gf_fq_pop ( GF_FilterQueue *  fq)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fq_head()

void* gf_fq_head ( GF_FilterQueue *  fq)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fq_count()

u32 gf_fq_count ( GF_FilterQueue *  fq)
+ Here is the caller graph for this function:

◆ gf_fq_get()

void* gf_fq_get ( GF_FilterQueue *  fq,
u32  idx 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fq_enum()

void gf_fq_enum ( GF_FilterQueue *  fq,
void(*)(void *udta1, void *item)  enum_func,
void *  udta 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_void_del()

void gf_void_del ( void *  p)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_post_task()

void gf_fs_post_task ( GF_FilterSession *  fsess,
gf_fs_task_callback  fun,
GF_Filter *  filter,
GF_FilterPid *  pid,
const char *  log_name,
void *  udta 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_post_task_ex()

void gf_fs_post_task_ex ( GF_FilterSession *  fsess,
gf_fs_task_callback  task_fun,
GF_Filter *  filter,
GF_FilterPid *  pid,
const char *  log_name,
void *  udta,
Bool  is_configure,
Bool  force_main_thread,
Bool  force_direct_call,
GF_TaskClassType  class_type,
u32  delay_ms 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_post_task_class()

void gf_fs_post_task_class ( GF_FilterSession *  fsess,
gf_fs_task_callback  task_fun,
GF_Filter *  filter,
GF_FilterPid *  pid,
const char *  log_name,
void *  udta,
GF_TaskClassType  class_type 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_send_event_downstream()

void gf_filter_pid_send_event_downstream ( GF_FSTask *  task)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_push_arg()

void gf_fs_push_arg ( GF_FilterSession *  session,
const char *  szArg,
Bool  was_found,
GF_FSArgItemType  type,
GF_Filter *  meta_filter,
const char *  sub_opt_name 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_reg_all()

void gf_fs_reg_all ( GF_FilterSession *  fsess,
GF_FilterSession *  a_sess 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_check_gl_provider()

GF_Err gf_fs_check_gl_provider ( GF_FilterSession *  session)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_set_gl()

GF_Err gf_fs_set_gl ( GF_FilterSession *  session,
Bool  do_activate 
)
+ Here is the caller graph for this function:

◆ gf_filter_new()

GF_Filter* gf_filter_new ( GF_FilterSession *  fsess,
const GF_FilterRegister *  freg,
const char *  args,
const char *  dst_args,
GF_FilterArgType  arg_type,
GF_Err err,
GF_Filter *  multi_sink_target,
Bool  dynamic_filter 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_clone()

GF_Filter* gf_filter_clone ( GF_Filter *  filter,
GF_Filter *  source_filter 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_del()

void gf_filter_del ( GF_Filter *  filter)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_swap_source_register()

Bool gf_filter_swap_source_register ( GF_Filter *  filter)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_new_finalize()

GF_Err gf_filter_new_finalize ( GF_Filter *  filter,
const char *  args,
GF_FilterArgType  arg_type 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_load_source_dest_internal()

GF_Filter* gf_fs_load_source_dest_internal ( GF_FilterSession *  fsess,
const char *  url,
const char *  args,
const char *  parent_url,
GF_Err err,
GF_Filter *  filter,
GF_Filter *  dst_filter,
Bool  for_source,
Bool  no_args_inherit,
Bool probe_only,
const GF_FilterRegister **  probe_reg 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_post_pid_instance_delete_task()

void gf_fs_post_pid_instance_delete_task ( GF_FilterSession *  session,
GF_Filter *  filter,
GF_FilterPid *  pid,
GF_FilterPidInst *  pidinst 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_inst_reset()

void gf_filter_pid_inst_reset ( GF_FilterPidInst *  pidinst)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_inst_del()

void gf_filter_pid_inst_del ( GF_FilterPidInst *  pidinst)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_forward_clock()

void gf_filter_forward_clock ( GF_Filter *  filter)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_process_inline()

void gf_filter_process_inline ( GF_Filter *  filter)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_retry_caps_negotiate()

void gf_filter_pid_retry_caps_negotiate ( GF_FilterPid *  src_pid,
GF_FilterPid *  pid,
GF_Filter *  dst_filter 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_reset_pending_packets()

void gf_filter_reset_pending_packets ( GF_Filter *  filter)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_instance_detach_pid()

void gf_filter_instance_detach_pid ( GF_FilterPidInst *  pidi)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_parse_logs()

void filter_parse_logs ( GF_Filter *  filter,
const char *  _logs 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_del()

void gf_filter_pid_del ( GF_FilterPid *  pid)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_del_task()

void gf_filter_pid_del_task ( GF_FSTask *  task)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_packet_destroy()

void gf_filter_packet_destroy ( GF_FilterPacket *  pck)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_cleanup_filters()

void gf_fs_cleanup_filters ( GF_FilterSession *  fsess)
+ Here is the caller graph for this function:

◆ gf_filter_pid_post_init_task()

void gf_filter_pid_post_init_task ( GF_Filter *  filter,
GF_FilterPid *  pid 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_post_connect_task()

void gf_filter_pid_post_connect_task ( GF_Filter *  filter,
GF_FilterPid *  pid 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_reconfigure_task()

void gf_filter_pid_reconfigure_task ( GF_FSTask *  task)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_reconfigure_task_discard()

void gf_filter_pid_reconfigure_task_discard ( GF_FSTask *  task)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_update_arg_task()

void gf_filter_update_arg_task ( GF_FSTask *  task)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_remove_task()

void gf_filter_remove_task ( GF_FSTask *  task)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_detach_task()

void gf_filter_pid_detach_task ( GF_FSTask *  task)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_detach_task_no_flush()

void gf_filter_pid_detach_task_no_flush ( GF_FSTask *  task)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_post_disconnect_task()

void gf_fs_post_disconnect_task ( GF_FilterSession *  session,
GF_Filter *  filter,
GF_FilterPid *  pid 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_caps_bundle_count()

u32 gf_filter_caps_bundle_count ( const GF_FilterCapability caps,
u32  nb_caps 
)
+ Here is the caller graph for this function:

◆ gf_filter_set_id()

void gf_filter_set_id ( GF_Filter *  filter,
const char *  ID 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_post_remove()

void gf_filter_post_remove ( GF_Filter *  filter)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_check_pending_pids()

void gf_filter_check_pending_pids ( GF_Filter *  filter)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reset_bundle_cache()

void reset_bundle_cache ( GF_FilterSession *  session)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_caps_to_caps_match()

u32 gf_filter_caps_to_caps_match ( const GF_FilterRegister *  src,
u32  src_bundle_idx,
const GF_FilterRegister *  dst,
GF_Filter *  dst_filter,
u32  for_dst_bundle,
u32 loaded_filter_flags,
s32 src_stream_type,
GF_BundleCache bundle_cache_src,
GF_BundleCache bundle_cache_dst 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_has_out_caps()

Bool gf_filter_has_out_caps ( const GF_FilterCapability caps,
u32  nb_caps 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_has_in_caps()

Bool gf_filter_has_in_caps ( const GF_FilterCapability caps,
u32  nb_caps 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_check_output_reconfig()

void gf_filter_check_output_reconfig ( GF_Filter *  filter)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_reconf_output()

Bool gf_filter_reconf_output ( GF_Filter *  filter,
GF_FilterPid *  pid 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_renegotiate_output_dst()

void gf_filter_renegotiate_output_dst ( GF_FilterPid *  pid,
GF_Filter *  filter,
GF_Filter *  filter_dst,
GF_FilterPidInst *  dst_pidi,
GF_FilterPidInst *  src_pidi 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_resolve_link()

GF_Filter* gf_filter_pid_resolve_link ( GF_FilterPid *  pid,
GF_Filter *  dst,
Bool filter_reassigned 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_resolve_link_check_loaded()

GF_Filter* gf_filter_pid_resolve_link_check_loaded ( GF_FilterPid *  pid,
GF_Filter *  dst,
Bool filter_reassigned,
GF_List *  skip_if_in_filter_list,
Bool skipped 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_resolve_link_for_caps()

GF_Filter* gf_filter_pid_resolve_link_for_caps ( GF_FilterPid *  pid,
GF_Filter *  dst,
Bool  check_reconfig_only 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_resolve_link_length()

u32 gf_filter_pid_resolve_link_length ( GF_FilterPid *  pid,
GF_Filter *  dst 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_caps_match()

Bool gf_filter_pid_caps_match ( GF_FilterPid *  src_pid,
const GF_FilterRegister *  freg,
GF_Filter *  filter_inst,
u8 priority,
u32 dst_bundle_idx,
GF_Filter *  dst_filter,
s32  for_bundle_idx 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_relink_dst()

void gf_filter_relink_dst ( GF_FilterPidInst *  pidinst,
GF_Err  reason 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_remove_internal()

void gf_filter_remove_internal ( GF_Filter *  filter,
GF_Filter *  until_filter,
Bool  keep_end_connections 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pck_new_shared_internal()

GF_FilterPacket* gf_filter_pck_new_shared_internal ( GF_FilterPid *  pid,
const u8 data,
u32  data_size,
gf_fsess_packet_destructor  destruct,
Bool  intern_pck 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_sess_build_graph()

void gf_filter_sess_build_graph ( GF_FilterSession *  fsess,
const GF_FilterRegister *  freg 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_sess_reset_graph()

void gf_filter_sess_reset_graph ( GF_FilterSession *  fsess,
const GF_FilterRegister *  freg 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_ui_event()

Bool gf_fs_ui_event ( GF_FilterSession *  session,
GF_Event uievt 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pck_send_internal()

GF_Err gf_filter_pck_send_internal ( GF_FilterPacket *  pck,
Bool  from_filter 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_send_event_internal()

void gf_filter_pid_send_event_internal ( GF_FilterPid *  pid,
GF_FilterEvent *  evt,
Bool  force_downstream 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_get_property_entry()

const GF_PropertyEntry* gf_filter_pid_get_property_entry ( GF_FilterPid *  pid,
u32  prop_4cc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_get_property_entry_str()

const GF_PropertyEntry* gf_filter_pid_get_property_entry_str ( GF_FilterPid *  pid,
const char *  prop_name 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_get_property_first()

const GF_PropertyValue* gf_filter_pid_get_property_first ( GF_FilterPid *  pid,
u32  prop_4cc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_get_property_str_first()

const GF_PropertyValue* gf_filter_pid_get_property_str_first ( GF_FilterPid *  pid,
const char *  prop_name 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_set_args()

void gf_filter_pid_set_args ( GF_Filter *  filter,
GF_FilterPid *  pid 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_aggregate_packets()

Bool gf_filter_aggregate_packets ( GF_FilterPidInst *  dst)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_solve_prop_template()

void filter_solve_prop_template ( GF_Filter *  filter,
GF_FilterPid *  pid,
char **  value 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bundle_cache_free()

void bundle_cache_free ( GF_FilterRegDesc reg_desc)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_post_process_task_internal()

void gf_filter_post_process_task_internal ( GF_Filter *  filter,
Bool  use_direct_dispatch 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_path_escape_colon()

const char* gf_fs_path_escape_colon ( GF_FilterSession *  sess,
const char *  path 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_path_escape_colon_ex()

const char* gf_fs_path_escape_colon_ex ( GF_FilterSession *  sess,
const char *  path,
Bool needs_escape,
Bool  for_source 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_check_graph_load()

void gf_fs_check_graph_load ( GF_FilterSession *  fsess,
Bool  for_load 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_renegotiate_output_task()

void gf_filter_renegotiate_output_task ( GF_FSTask *  task)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fs_unload_script()

void gf_fs_unload_script ( GF_FilterSession *  fs,
void *  js_ctx 
)
+ Here is the caller graph for this function:

◆ gf_fs_check_filter_register_cap_ex()

Bool gf_fs_check_filter_register_cap_ex ( const GF_FilterRegister *  f_reg,
u32  incode,
GF_PropertyValue *  cap_input,
u32  outcode,
GF_PropertyValue *  cap_output,
Bool  exact_match_only,
Bool  out_cap_excluded 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_update_arg_apply()

Bool gf_filter_update_arg_apply ( GF_Filter *  filter,
const char *  arg_name,
const char *  arg_value,
Bool  is_sync_call 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_compute_link()

GF_List* gf_filter_pid_compute_link ( GF_FilterPid *  pid,
GF_Filter *  dst,
GF_List *  tmp_blacklist,
GF_LinkInfo link_info 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_parse_prop_solve_env_var()

GF_PropertyValue gf_filter_parse_prop_solve_env_var ( GF_FilterSession *  fs,
GF_Filter *  f,
u32  type,
const char *  name,
const char *  value,
const char *  enum_values 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_fq_res_add()

Bool gf_fq_res_add ( GF_FilterQueue *  fq,
void *  item 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_source_id_match()

Bool filter_source_id_match ( GF_FilterPid *  src_pid,
const char *  id,
GF_Filter *  dst_filter,
Bool pid_excluded,
Bool needs_clone,
const char *  source_ids 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_last_id_in_chain()

const char* gf_filter_last_id_in_chain ( GF_Filter *  filter,
Bool  ignore_first 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: