libgpac
Documentation of the core library of GPAC
filter_pid.c File Reference
+ Include dependency graph for filter_pid.c:

Data Structures

struct  GF_RefString
 

Macros

#define TASK_REQUEUE(_t)
 
#define RELOCK_FILTER_LIST
 
#define TO_REFSTRING(_v)   _v ? (GF_RefString *) (_v - offsetof(GF_RefString, string)) : NULL
 

Enumerations

enum  GF_PidConnectType { GF_PID_CONF_CONNECT , GF_PID_CONF_RECONFIG , GF_PID_CONF_REMOVE }
 
enum  { PID_FORCE_SINGLE = 1 , PID_DISABLE_CLONE = 1<<1 }
 

Functions

static void free_evt (GF_FilterEvent *evt)
 
static void pcki_del (GF_FilterPacketInstance *pcki)
 
void gf_filter_pid_inst_reset (GF_FilterPidInst *pidinst)
 
void gf_filter_pid_inst_del (GF_FilterPidInst *pidinst)
 
static GF_FilterPidInst * gf_filter_pid_inst_new (GF_Filter *filter, GF_FilterPid *pid)
 
static void gf_filter_pid_check_unblock (GF_FilterPid *pid)
 
static void gf_filter_pid_inst_check_dependencies (GF_FilterPidInst *pidi)
 
static void gf_filter_pid_update_caps (GF_FilterPid *pid)
 
static void gf_filter_pid_inst_delete_task (GF_FSTask *task)
 
void gf_fs_post_pid_instance_delete_task (GF_FilterSession *session, GF_Filter *filter, GF_FilterPid *pid, GF_FilterPidInst *pidinst)
 
static void gf_filter_pid_inst_swap_delete (GF_Filter *filter, GF_FilterPid *pid, GF_FilterPidInst *pidinst, GF_FilterPidInst *dst_swapinst)
 
static void gf_filter_pid_inst_swap_delete_task (GF_FSTask *task)
 
static void gf_filter_pid_inst_swap (GF_Filter *filter, GF_FilterPidInst *dst)
 
void gf_filter_instance_detach_pid (GF_FilterPidInst *pidinst)
 
void task_canceled (GF_FSTask *task)
 
static void gf_filter_pid_connect_failure (GF_FilterPid *pid)
 
static GF_Err gf_filter_pid_configure (GF_Filter *filter, GF_FilterPid *pid, GF_PidConnectType ctype)
 
static void gf_filter_pid_connect_task (GF_FSTask *task)
 
void gf_filter_pid_reconfigure_task (GF_FSTask *task)
 
void gf_filter_pid_reconfigure_task_discard (GF_FSTask *task)
 
static void gf_filter_pid_disconnect_task (GF_FSTask *task)
 
void gf_fs_post_disconnect_task (GF_FilterSession *session, GF_Filter *filter, GF_FilterPid *pid)
 
static void gf_filter_pid_detach_task_ex (GF_FSTask *task, Bool no_flush)
 
void gf_filter_pid_detach_task (GF_FSTask *task)
 
void gf_filter_pid_detach_task_no_flush (GF_FSTask *task)
 
GF_EXPORT void gf_filter_pid_set_name (GF_FilterPid *pid, const char *name)
 
GF_EXPORT const char * gf_filter_pid_get_name (GF_FilterPid *pid)
 
GF_EXPORT const char * gf_filter_pid_get_filter_name (GF_FilterPid *pid)
 
GF_EXPORT const char * gf_filter_pid_orig_src_args (GF_FilterPid *pid, Bool for_unicity)
 
GF_EXPORT const char * gf_filter_pid_get_source_filter_name (GF_FilterPid *pid)
 
GF_EXPORT Bool gf_filter_pid_get_buffer_occupancy (GF_FilterPid *pid, u32 *max_slots, u32 *nb_pck, u32 *max_duration, u32 *duration)
 
GF_EXPORT void gf_filter_pid_set_udta (GF_FilterPid *pid, void *udta)
 
GF_EXPORT void * gf_filter_pid_get_udta (GF_FilterPid *pid)
 
static Bool filter_pid_check_fragment (GF_FilterPid *src_pid, char *frag_name, Bool *pid_excluded, Bool *needs_resolve, Bool *prop_not_found, char prop_dump_buffer[GF_PROP_DUMP_ARG_SIZE])
 
Bool filter_source_id_match (GF_FilterPid *src_pid, const char *src_filter_id, GF_Filter *dst_filter, Bool *pid_excluded, Bool *needs_clone, const char *ext_source_ids)
 
GF_EXPORT Bool gf_filter_in_parent_chain (GF_Filter *parent, GF_Filter *filter)
 
static Bool cap_code_match (u32 c1, u32 c2)
 
Bool gf_filter_pid_caps_match (GF_FilterPid *src_pid_or_ipid, const GF_FilterRegister *freg, GF_Filter *filter_inst, u8 *priority, u32 *dst_bundle_idx, GF_Filter *dst_filter, s32 for_bundle_idx)
 
u32 gf_filter_caps_bundle_count (const GF_FilterCapability *caps, u32 nb_caps)
 
static Bool gf_filter_has_in_out_caps (const GF_FilterCapability *caps, u32 nb_caps, Bool check_in)
 
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)
 
static void cache_bundle_free (GF_BundleDesc *b)
 
static GF_BundleDesccaps_load_bundle (const GF_FilterRegister *freg, u32 b_idx, GF_BundleCache *bundle_cache, const GF_FilterCapability *caps, u32 nb_caps, Bool for_output)
 
u32 gf_filter_caps_to_caps_match (const GF_FilterRegister *src, u32 src_bundle_idx, const GF_FilterRegister *dst_reg, GF_Filter *dst_filter, u32 dst_bundle_idx, u32 *loaded_filter_flags, s32 *src_stream_type, GF_BundleCache *bundle_cache_src, GF_BundleCache *bundle_cache_dst)
 
GF_EXPORT Bool gf_filter_pid_check_caps (GF_FilterPid *_pid)
 
static void concat_reg (GF_FilterSession *sess, char prefRegister[1001], const char *reg_key, const char *args)
 
static Bool gf_filter_out_caps_solved_by_connection (const GF_FilterRegister *freg, u32 bundle_idx)
 
static u32 gf_filter_pid_enable_edges (GF_FilterSession *fsess, GF_FilterRegDesc *reg_desc, u32 src_cap_idx, const GF_FilterRegister *src_freg, u32 rlevel, s32 dst_stream_type, GF_FilterRegDesc *parent_desc, GF_FilterPid *pid, u32 pid_stream_type)
 
static void gf_filter_reg_build_graph_single (GF_FilterRegDesc *reg_desc, GF_FilterRegDesc *a_reg, u32 nb_dst_caps, GF_Filter *dst_filter)
 
static GF_FilterRegDescgf_filter_reg_build_graph (GF_List *links, const GF_FilterRegister *freg, GF_FilterPid *src_pid, GF_Filter *dst_filter, u32 orig_nb_bundles)
 
void bundle_cache_free (GF_FilterRegDesc *reg_desc)
 
void reset_bundle_cache (GF_FilterSession *fsess)
 
void gf_filter_sess_build_graph (GF_FilterSession *fsess, const GF_FilterRegister *for_reg)
 
void gf_filter_sess_reset_graph (GF_FilterSession *fsess, const GF_FilterRegister *freg)
 
void dump_graph_edges (Bool is_before, GF_FilterRegDesc *reg_dst, GF_List *dijkstra_nodes)
 
static void gf_filter_pid_resolve_link_dijkstra (GF_FilterPid *pid, GF_Filter *dst, const char *prefRegister, Bool reconfigurable_only, GF_List *tmp_blacklist, GF_LinkInfo *link_info, GF_List *out_reg_chain)
 
static GF_Filter * gf_filter_pid_resolve_link_internal (GF_FilterPid *pid, GF_Filter *dst, Bool *filter_reassigned, u32 reconfigurable_only_type, u32 *min_chain_len, GF_List *skip_if_in_filter_list, Bool *skipped)
 
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)
 
static Bool gf_filter_pid_needs_explicit_resolution (GF_FilterPid *pid, GF_Filter *dst)
 
GF_List * gf_filter_pid_compute_link (GF_FilterPid *pid, GF_Filter *dst, GF_List *tmp_blacklist, GF_LinkInfo *link_info)
 
static void gf_filter_pid_set_args_internal (GF_Filter *filter, GF_FilterPid *pid, char *args, Bool use_default_seps, u32 argfile_level)
 
GF_EXPORT GF_Err gf_filter_pid_push_properties (GF_FilterPid *pid, char *args, Bool direct_merge, Bool use_default_seps)
 
void gf_filter_pid_set_args (GF_Filter *filter, GF_FilterPid *pid)
 
const char * gf_filter_last_id_in_chain (GF_Filter *filter, Bool ignore_first)
 
void gf_filter_pid_retry_caps_negotiate (GF_FilterPid *src_pid, GF_FilterPid *pid, GF_Filter *dst_filter)
 
static void add_possible_link_destination (GF_List *possible_linked_resolutions, GF_Filter *filter_dst)
 
static Bool gf_pid_in_parent_chain (GF_FilterPid *pid, GF_FilterPid *look_for_pid)
 
static Bool filter_match_target_dst (GF_List *flist, GF_Filter *dst)
 
static Bool parent_chain_has_dyn_pids (GF_Filter *filter)
 
static void gf_filter_pid_init_task (GF_FSTask *task)
 
void gf_filter_pid_post_connect_task (GF_Filter *filter, GF_FilterPid *pid)
 
void gf_filter_pid_post_init_task (GF_Filter *filter, GF_FilterPid *pid)
 
GF_EXPORT GF_Err gf_filter_pid_set_framing_mode (GF_FilterPid *pid, Bool requires_full_blocks)
 
GF_EXPORT GF_FilterPid * gf_filter_pid_new (GF_Filter *filter)
 
void gf_filter_pid_del (GF_FilterPid *pid)
 
void gf_filter_pid_del_task (GF_FSTask *task)
 
static GF_PropertyMapcheck_new_pid_props (GF_FilterPid *pid, Bool merge_props)
 
static GF_Err gf_filter_pid_set_property_full (GF_FilterPid *pid, u32 prop_4cc, const char *prop_name, char *dyn_name, const GF_PropertyValue *value, Bool is_info)
 
GF_EXPORT GF_Err gf_filter_pid_set_property (GF_FilterPid *pid, u32 prop_4cc, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pid_set_property_str (GF_FilterPid *pid, const char *name, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pid_set_property_dyn (GF_FilterPid *pid, char *name, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pid_set_info (GF_FilterPid *pid, u32 prop_4cc, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pid_set_info_str (GF_FilterPid *pid, const char *name, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pid_set_info_dyn (GF_FilterPid *pid, char *name, const GF_PropertyValue *value)
 
static GF_Err gf_filter_pid_negotiate_property_full (GF_FilterPid *pid, u32 prop_4cc, const char *prop_name, char *dyn_name, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pid_negotiate_property (GF_FilterPid *pid, u32 prop_4cc, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pid_negotiate_property_str (GF_FilterPid *pid, const char *name, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pid_negotiate_property_dyn (GF_FilterPid *pid, char *name, const GF_PropertyValue *value)
 
static GF_PropertyMapfilter_pid_get_prop_map (GF_FilterPid *pid, Bool first_prop_if_output)
 
static GFINLINE const GF_PropertyValue * pid_check_prop (GF_FilterPid *pid, u32 prop_4cc, const char *prop_name, const GF_PropertyValue *ret)
 
static void check_prop_type (GF_FilterPid *pid, u32 prop_4cc)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pid_get_property (GF_FilterPid *pid, u32 prop_4cc)
 
const GF_PropertyValue * gf_filter_pid_get_property_first (GF_FilterPid *pid, u32 prop_4cc)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pid_get_property_str (GF_FilterPid *pid, const char *prop_name)
 
const GF_PropertyValue * gf_filter_pid_get_property_str_first (GF_FilterPid *pid, const char *prop_name)
 
const GF_PropertyEntry * gf_filter_pid_get_property_entry (GF_FilterPid *pid, u32 prop_4cc)
 
GF_EXPORT const GF_PropertyEntry * gf_filter_pid_get_property_entry_str (GF_FilterPid *pid, const char *prop_name)
 
static const GF_PropertyValue * gf_filter_pid_get_info_internal (GF_FilterPid *pid, u32 prop_4cc, const char *prop_name, Bool first_call, GF_PropertyEntry **propentry)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pid_get_info (GF_FilterPid *pid, u32 prop_4cc, GF_PropertyEntry **propentry)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pid_get_info_str (GF_FilterPid *pid, const char *prop_name, GF_PropertyEntry **propentry)
 
static const GF_PropertyValue * gf_filter_pid_enum_info_local (GF_FilterPid *pid, u32 *idx, u32 *prop_4cc, const char **prop_name, GF_List **list)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pid_enum_info (GF_FilterPid *pid, u32 *idx, u32 *prop_4cc, const char **prop_name)
 
static const GF_PropertyValue * gf_filter_get_info_internal (GF_Filter *filter, u32 prop_4cc, const char *prop_name, GF_PropertyEntry **propentry)
 
GF_EXPORT const GF_PropertyValue * gf_filter_get_info (GF_Filter *filter, u32 prop_4cc, GF_PropertyEntry **propentry)
 
GF_EXPORT const GF_PropertyValue * gf_filter_get_info_str (GF_Filter *filter, const char *prop_name, GF_PropertyEntry **propentry)
 
GF_EXPORT void gf_filter_release_property (GF_PropertyEntry *propentry)
 
GF_EXPORT GF_Err gf_filter_pid_reset_properties (GF_FilterPid *pid)
 
static GF_Err gf_filter_pid_merge_properties_internal (GF_FilterPid *dst_pid, GF_FilterPid *src_pid, gf_filter_prop_filter filter_prop, void *cbk, Bool is_merge)
 
GF_EXPORT GF_Err gf_filter_pid_merge_properties (GF_FilterPid *dst_pid, GF_FilterPid *src_pid, gf_filter_prop_filter filter_prop, void *cbk)
 
GF_EXPORT GF_Err gf_filter_pid_copy_properties (GF_FilterPid *dst_pid, GF_FilterPid *src_pid)
 
GF_EXPORT u32 gf_filter_pid_get_packet_count (GF_FilterPid *pid)
 
static Bool gf_filter_pid_filter_internal_packet (GF_FilterPidInst *pidi, GF_FilterPacketInstance *pcki)
 
static Bool filter_pck_check_prop_change (GF_FilterPidInst *pidinst, GF_FilterPacketInstance *pcki, Bool do_notif)
 
GF_EXPORT GF_FilterPacket * gf_filter_pid_get_packet (GF_FilterPid *pid)
 
static GF_FilterPacketInstancegf_filter_pid_probe_next_packet (GF_FilterPidInst *pidinst)
 
GF_EXPORT Bool gf_filter_pid_get_first_packet_cts (GF_FilterPid *pid, u64 *cts)
 
GF_EXPORT Bool gf_filter_pid_first_packet_is_empty (GF_FilterPid *pid)
 
GF_EXPORT Bool gf_filter_pid_first_packet_is_blocking_ref (GF_FilterPid *pid)
 
static void gf_filter_pidinst_update_stats (GF_FilterPidInst *pidi, GF_FilterPacket *pck)
 
static void gf_filter_pidinst_reset_stats (GF_FilterPidInst *pidi)
 
GF_EXPORT void gf_filter_pid_drop_packet (GF_FilterPid *pid)
 
GF_EXPORT Bool gf_filter_pid_is_eos (GF_FilterPid *pid)
 
GF_EXPORT Bool gf_filter_pid_is_flush_eos (GF_FilterPid *pid)
 
static void gf_filter_pid_set_eos_internal (GF_FilterPid *pid, Bool is_flush)
 
GF_EXPORT void gf_filter_pid_set_eos (GF_FilterPid *pid)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pid_enum_properties (GF_FilterPid *pid, u32 *idx, u32 *prop_4cc, const char **prop_name)
 
GF_EXPORT Bool gf_filter_pid_would_block (GF_FilterPid *pid)
 
GF_EXPORT Bool gf_filter_pid_is_sparse (GF_FilterPid *pid)
 
static u64 gf_filter_pid_query_buffer_duration_internal (GF_FilterPid *pid, Bool check_pid_full, Bool force_update)
 
GF_EXPORT u64 gf_filter_pid_query_buffer_duration (GF_FilterPid *pid, Bool check_pid_full)
 
GF_EXPORT Bool gf_filter_pid_has_seen_eos (GF_FilterPid *pid)
 
GF_EXPORT Bool gf_filter_pid_eos_received (GF_FilterPid *pid)
 
GF_EXPORT const char * gf_filter_event_name (GF_FEventType type)
 
static void gf_filter_pid_reset_task_ex (GF_FSTask *task, Bool *had_eos)
 
static void gf_filter_pid_reset_task (GF_FSTask *task)
 
static void gf_filter_pid_reset_stop_task (GF_FSTask *task)
 
static Bool evt_get_refstr (GF_FilterEvent *evt, u32 r_idx, GF_RefString **ref_str)
 
static GF_FilterEvent * dup_evt (GF_FilterEvent *evt)
 
static GF_FilterEvent * init_evt (GF_FilterEvent *evt)
 
static Bool filter_pid_is_raw_source (GF_FilterPid *pid)
 
void gf_filter_pid_send_event_downstream (GF_FSTask *task)
 
void gf_filter_pid_send_event_upstream (GF_FSTask *task)
 
void gf_filter_pid_send_event_internal (GF_FilterPid *pid, GF_FilterEvent *evt, Bool force_downstream)
 
GF_EXPORT void gf_filter_pid_send_event (GF_FilterPid *pid, GF_FilterEvent *evt)
 
GF_EXPORT void gf_filter_send_event (GF_Filter *filter, GF_FilterEvent *evt, Bool upstream)
 
GF_EXPORT void gf_filter_pid_exec_event (GF_FilterPid *pid, GF_FilterEvent *evt)
 
GF_EXPORT Bool gf_filter_pid_is_filter_in_parents (GF_FilterPid *pid, GF_Filter *filter)
 
GF_EXPORT Bool gf_filter_pid_share_origin (GF_FilterPid *pid, GF_FilterPid *other_pid)
 
static void filter_pid_inst_collect_stats (GF_FilterPidInst *pidi, GF_FilterPidStatistics *stats)
 
static void filter_pid_collect_stats (GF_List *pidi_list, GF_FilterPidStatistics *stats)
 
static GF_Filter * filter_locate_enc_dec_sink (GF_Filter *filter, Bool locate_decoder)
 
static GF_Filter * filter_locate_enc_dec_src (GF_Filter *filter, Bool locate_decoder)
 
static GF_Filter * filter_locate_sink (GF_Filter *filter)
 
GF_EXPORT GF_Err gf_filter_pid_get_statistics (GF_FilterPid *pid, GF_FilterPidStatistics *stats, GF_FilterPidStatsLocation location)
 
GF_EXPORT void gf_filter_pid_remove (GF_FilterPid *pid)
 
GF_EXPORT void gf_filter_pid_try_pull (GF_FilterPid *pid)
 
GF_EXPORT GF_FilterClockType gf_filter_pid_get_clock_info (GF_FilterPid *pid, u64 *clock_time, u32 *timescale)
 
GF_EXPORT u32 gf_filter_pid_get_timescale (GF_FilterPid *pid)
 
GF_EXPORT void gf_filter_pid_clear_eos (GF_FilterPid *pid, Bool clear_all)
 
GF_EXPORT void gf_filter_pid_set_clock_mode (GF_FilterPid *pid, Bool filter_in_charge)
 
GF_EXPORT const char * gf_filter_pid_get_args (GF_FilterPid *pid)
 
GF_EXPORT void gf_filter_pid_set_max_buffer (GF_FilterPid *pid, u32 total_duration_us)
 
GF_EXPORT u32 gf_filter_pid_get_max_buffer (GF_FilterPid *pid)
 
GF_EXPORT void gf_filter_pid_set_loose_connect (GF_FilterPid *pid)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pid_caps_query (GF_FilterPid *pid, u32 prop_4cc)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pid_caps_query_str (GF_FilterPid *pid, const char *prop_name)
 
GF_EXPORT GF_Err gf_filter_pid_resolve_file_template_ex (GF_FilterPid *pid, const char szTemplate[GF_MAX_PATH], char szFinalName[GF_MAX_PATH], u32 file_idx, const char *file_suffix, const char *filename)
 
GF_EXPORT GF_Err gf_filter_pid_resolve_file_template (GF_FilterPid *pid, const char szTemplate[GF_MAX_PATH], char szFinalName[GF_MAX_PATH], u32 file_idx, const char *file_suffix)
 
GF_EXPORT GF_Err gf_filter_pid_set_discard (GF_FilterPid *pid, Bool discard_on)
 
static char * gf_filter_pid_get_dst_string (GF_FilterSession *sess, const char *_args, Bool is_dst)
 
GF_EXPORT char * gf_filter_pid_get_destination_ex (GF_FilterPid *pid, u32 dst_idx)
 
GF_EXPORT char * gf_filter_pid_get_destination (GF_FilterPid *pid)
 
GF_EXPORT char * gf_filter_pid_get_source (GF_FilterPid *pid)
 
GF_FilterPid * gf_filter_pid_first_pid_for_source (GF_FilterPid *pid, GF_Filter *source)
 
GF_EXPORT void gf_filter_pid_discard_block (GF_FilterPid *pid)
 
GF_EXPORT GF_Err gf_filter_pid_require_source_id (GF_FilterPid *pid)
 
GF_EXPORT u32 gf_filter_pid_get_min_pck_duration (GF_FilterPid *pid)
 
GF_EXPORT void gf_filter_pid_recompute_dts (GF_FilterPid *pid, Bool do_recompute)
 
GF_EXPORT Bool gf_filter_pid_is_playing (GF_FilterPid *pid)
 
GF_EXPORT GF_Err gf_filter_pid_allow_direct_dispatch (GF_FilterPid *pid)
 
GF_EXPORT void * gf_filter_pid_get_alias_udta (GF_FilterPid *_pid)
 
GF_EXPORT GF_Filter * gf_filter_pid_get_owner (GF_FilterPid *pid)
 
GF_EXPORT GF_Filter * gf_filter_pid_get_source_filter (GF_FilterPid *pid)
 
GF_EXPORT GF_Filter * gf_filter_pid_enum_destinations (GF_FilterPid *pid, u32 idx)
 
GF_EXPORT GF_Err gf_filter_pid_ignore_blocking (GF_FilterPid *pid, Bool do_ignore)
 
GF_EXPORT u64 gf_filter_pid_get_next_ts (GF_FilterPid *pid)
 
GF_EXPORT u32 gf_filter_pid_get_udta_flags (GF_FilterPid *pid)
 
GF_EXPORT GF_Err gf_filter_pid_set_udta_flags (GF_FilterPid *pid, u32 flags)
 
GF_EXPORT Bool gf_filter_pid_has_decoder (GF_FilterPid *pid)
 
GF_EXPORT GF_Err gf_filter_pid_set_rt_stats (GF_FilterPid *pid, u32 rtt_ms, u32 jitter_us, u32 loss_rate)
 
GF_Err rfc_6381_get_codec_aac (char *szCodec, u32 codec_id, u8 *dsi, u32 dsi_size, Bool force_sbr)
 
GF_Err rfc_6381_get_codec_m4v (char *szCodec, u32 codec_id, u8 *dsi, u32 dsi_size)
 
GF_Err rfc_6381_get_codec_avc (char *szCodec, u32 subtype, GF_AVCConfig *avcc)
 
GF_Err rfc_6381_get_codec_hevc (char *szCodec, u32 subtype, GF_HEVCConfig *hvcc)
 
GF_Err rfc_6381_get_codec_av1 (char *szCodec, u32 subtype, GF_AV1Config *av1c, COLR colr)
 
GF_Err rfc_6381_get_codec_vpx (char *szCodec, u32 subtype, GF_VPConfig *vpcc, COLR colr)
 
GF_Err rfc_6381_get_codec_dolby_vision (char *szCodec, u32 subtype, GF_DOVIDecoderConfigurationRecord *dovi)
 
GF_Err rfc_6381_get_codec_vvc (char *szCodec, u32 subtype, GF_VVCConfig *vvcc)
 
GF_Err rfc_6381_get_codec_mpegha (char *szCodec, u32 subtype, u8 *dsi, u32 dsi_size, s32 pl)
 
GF_Err rfc_6381_get_codec_uncv (char *szCodec, u32 subtype, u8 *dsi, u32 dsi_size)
 
GF_Err rfc6381_codec_name_default (char *szCodec, u32 subtype, u32 codec_id)
 
GF_EXPORT GF_Err gf_filter_pid_get_rfc_6381_codec_string (GF_FilterPid *pid, char *szCodec, Bool force_inband, Bool force_sbr, const GF_PropertyValue *tile_base_dcd, u32 *out_inband_forced)
 
GF_EXPORT void gf_filter_pid_send_flush (GF_FilterPid *pid)
 
void gf_filter_pid_force_single_link (GF_FilterPid *pid)
 
void gf_filter_pid_disable_clone (GF_FilterPid *pid)
 

Data Structure Documentation

◆ GF_RefString

struct GF_RefString
Data Fields
u32 ref_count
char string[1]

Macro Definition Documentation

◆ TASK_REQUEUE

#define TASK_REQUEUE (   _t)
Value:
_t->requeue_request = GF_TRUE; \
_t->schedule_next_time = gf_sys_clock_high_res() + 50; \
@ GF_TRUE
Definition: setup.h:474
u64 gf_sys_clock_high_res()
High precision system clock query.
Definition: os_divers.c:147

◆ RELOCK_FILTER_LIST

#define RELOCK_FILTER_LIST
Value:
gf_mx_p(filter->session->filters_mx); \
count = gf_list_count(filter->session->filters); \
f_dst_idx = gf_list_find(filter->session->filters, filter_dst); \
if (f_dst_idx < 0) {\
f_idx--;\
} else {\
f_idx = f_dst_idx;\
}
attribute JSFilter filter
Definition: jsf.idl:27
s32 gf_list_find(GF_List *ptr, void *item)
finds item
Definition: list.c:733
u32 gf_list_count(const GF_List *ptr)
get count
Definition: list.c:661
u32 gf_mx_p(GF_Mutex *mx)
mutex locking
Definition: os_thread.c:656

◆ TO_REFSTRING

#define TO_REFSTRING (   _v)    _v ? (GF_RefString *) (_v - offsetof(GF_RefString, string)) : NULL

Enumeration Type Documentation

◆ GF_PidConnectType

Enumerator
GF_PID_CONF_CONNECT 
GF_PID_CONF_RECONFIG 
GF_PID_CONF_REMOVE 

◆ anonymous enum

anonymous enum
Enumerator
PID_FORCE_SINGLE 
PID_DISABLE_CLONE 

Function Documentation

◆ free_evt()

static void free_evt ( GF_FilterEvent *  evt)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pcki_del()

static void pcki_del ( GF_FilterPacketInstance pcki)
static
+ 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_pid_inst_new()

static GF_FilterPidInst* gf_filter_pid_inst_new ( GF_Filter *  filter,
GF_FilterPid *  pid 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_check_unblock()

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

◆ gf_filter_pid_inst_check_dependencies()

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

◆ gf_filter_pid_update_caps()

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

◆ gf_filter_pid_inst_delete_task()

static void gf_filter_pid_inst_delete_task ( GF_FSTask *  task)
static
+ 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_swap_delete()

static void gf_filter_pid_inst_swap_delete ( GF_Filter *  filter,
GF_FilterPid *  pid,
GF_FilterPidInst *  pidinst,
GF_FilterPidInst *  dst_swapinst 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_inst_swap_delete_task()

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

◆ gf_filter_pid_inst_swap()

static void gf_filter_pid_inst_swap ( GF_Filter *  filter,
GF_FilterPidInst *  dst 
)
static
+ 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 *  pidinst)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ task_canceled()

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

◆ gf_filter_pid_connect_failure()

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

◆ gf_filter_pid_configure()

static GF_Err gf_filter_pid_configure ( GF_Filter *  filter,
GF_FilterPid *  pid,
GF_PidConnectType  ctype 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_connect_task()

static void gf_filter_pid_connect_task ( GF_FSTask *  task)
static
+ 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_pid_disconnect_task()

static void gf_filter_pid_disconnect_task ( GF_FSTask *  task)
static
+ 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_pid_detach_task_ex()

static void gf_filter_pid_detach_task_ex ( GF_FSTask *  task,
Bool  no_flush 
)
static
+ 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:

◆ filter_pid_check_fragment()

static Bool filter_pid_check_fragment ( GF_FilterPid *  src_pid,
char *  frag_name,
Bool pid_excluded,
Bool needs_resolve,
Bool prop_not_found,
char  prop_dump_buffer[GF_PROP_DUMP_ARG_SIZE] 
)
static
+ 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 *  src_filter_id,
GF_Filter *  dst_filter,
Bool pid_excluded,
Bool needs_clone,
const char *  ext_source_ids 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cap_code_match()

static Bool cap_code_match ( u32  c1,
u32  c2 
)
static
+ Here is the caller graph for this function:

◆ gf_filter_pid_caps_match()

Bool gf_filter_pid_caps_match ( GF_FilterPid *  src_pid_or_ipid,
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_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_has_in_out_caps()

static Bool gf_filter_has_in_out_caps ( const GF_FilterCapability caps,
u32  nb_caps,
Bool  check_in 
)
static
+ 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:

◆ cache_bundle_free()

static void cache_bundle_free ( GF_BundleDesc b)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ caps_load_bundle()

static GF_BundleDesc* caps_load_bundle ( const GF_FilterRegister *  freg,
u32  b_idx,
GF_BundleCache bundle_cache,
const GF_FilterCapability caps,
u32  nb_caps,
Bool  for_output 
)
static
+ 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_reg,
GF_Filter *  dst_filter,
u32  dst_bundle_idx,
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:

◆ concat_reg()

static void concat_reg ( GF_FilterSession *  sess,
char  prefRegister[1001],
const char *  reg_key,
const char *  args 
)
static
+ Here is the caller graph for this function:

◆ gf_filter_out_caps_solved_by_connection()

static Bool gf_filter_out_caps_solved_by_connection ( const GF_FilterRegister *  freg,
u32  bundle_idx 
)
static
+ Here is the caller graph for this function:

◆ gf_filter_pid_enable_edges()

static u32 gf_filter_pid_enable_edges ( GF_FilterSession *  fsess,
GF_FilterRegDesc reg_desc,
u32  src_cap_idx,
const GF_FilterRegister *  src_freg,
u32  rlevel,
s32  dst_stream_type,
GF_FilterRegDesc parent_desc,
GF_FilterPid *  pid,
u32  pid_stream_type 
)
static
+ Here is the caller graph for this function:

◆ gf_filter_reg_build_graph_single()

static void gf_filter_reg_build_graph_single ( GF_FilterRegDesc reg_desc,
GF_FilterRegDesc a_reg,
u32  nb_dst_caps,
GF_Filter *  dst_filter 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_reg_build_graph()

static GF_FilterRegDesc* gf_filter_reg_build_graph ( GF_List *  links,
const GF_FilterRegister *  freg,
GF_FilterPid *  src_pid,
GF_Filter *  dst_filter,
u32  orig_nb_bundles 
)
static
+ 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:

◆ reset_bundle_cache()

void reset_bundle_cache ( GF_FilterSession *  fsess)
+ 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 *  for_reg 
)
+ 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:

◆ dump_graph_edges()

void dump_graph_edges ( Bool  is_before,
GF_FilterRegDesc reg_dst,
GF_List *  dijkstra_nodes 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_resolve_link_dijkstra()

static void gf_filter_pid_resolve_link_dijkstra ( GF_FilterPid *  pid,
GF_Filter *  dst,
const char *  prefRegister,
Bool  reconfigurable_only,
GF_List *  tmp_blacklist,
GF_LinkInfo link_info,
GF_List *  out_reg_chain 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_resolve_link_internal()

static GF_Filter* gf_filter_pid_resolve_link_internal ( GF_FilterPid *  pid,
GF_Filter *  dst,
Bool filter_reassigned,
u32  reconfigurable_only_type,
u32 min_chain_len,
GF_List *  skip_if_in_filter_list,
Bool skipped 
)
static
+ 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_needs_explicit_resolution()

static Bool gf_filter_pid_needs_explicit_resolution ( GF_FilterPid *  pid,
GF_Filter *  dst 
)
static
+ 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_pid_set_args_internal()

static void gf_filter_pid_set_args_internal ( GF_Filter *  filter,
GF_FilterPid *  pid,
char *  args,
Bool  use_default_seps,
u32  argfile_level 
)
static
+ 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_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:

◆ 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:

◆ add_possible_link_destination()

static void add_possible_link_destination ( GF_List *  possible_linked_resolutions,
GF_Filter *  filter_dst 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_pid_in_parent_chain()

static Bool gf_pid_in_parent_chain ( GF_FilterPid *  pid,
GF_FilterPid *  look_for_pid 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_match_target_dst()

static Bool filter_match_target_dst ( GF_List *  flist,
GF_Filter *  dst 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parent_chain_has_dyn_pids()

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

◆ gf_filter_pid_init_task()

static void gf_filter_pid_init_task ( GF_FSTask *  task)
static

filter is an alias, prevent linking to the filter being aliased

+ 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_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_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:

◆ check_new_pid_props()

static GF_PropertyMap* check_new_pid_props ( GF_FilterPid *  pid,
Bool  merge_props 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_set_property_full()

static GF_Err gf_filter_pid_set_property_full ( GF_FilterPid *  pid,
u32  prop_4cc,
const char *  prop_name,
char *  dyn_name,
const GF_PropertyValue *  value,
Bool  is_info 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_negotiate_property_full()

static GF_Err gf_filter_pid_negotiate_property_full ( GF_FilterPid *  pid,
u32  prop_4cc,
const char *  prop_name,
char *  dyn_name,
const GF_PropertyValue *  value 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_pid_get_prop_map()

static GF_PropertyMap* filter_pid_get_prop_map ( GF_FilterPid *  pid,
Bool  first_prop_if_output 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ pid_check_prop()

static GFINLINE const GF_PropertyValue* pid_check_prop ( GF_FilterPid *  pid,
u32  prop_4cc,
const char *  prop_name,
const GF_PropertyValue *  ret 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ check_prop_type()

static void check_prop_type ( GF_FilterPid *  pid,
u32  prop_4cc 
)
static
+ 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_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()

GF_EXPORT 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_info_internal()

static const GF_PropertyValue* gf_filter_pid_get_info_internal ( GF_FilterPid *  pid,
u32  prop_4cc,
const char *  prop_name,
Bool  first_call,
GF_PropertyEntry **  propentry 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_enum_info_local()

static const GF_PropertyValue* gf_filter_pid_enum_info_local ( GF_FilterPid *  pid,
u32 idx,
u32 prop_4cc,
const char **  prop_name,
GF_List **  list 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_get_info_internal()

static const GF_PropertyValue* gf_filter_get_info_internal ( GF_Filter *  filter,
u32  prop_4cc,
const char *  prop_name,
GF_PropertyEntry **  propentry 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_merge_properties_internal()

static GF_Err gf_filter_pid_merge_properties_internal ( GF_FilterPid *  dst_pid,
GF_FilterPid *  src_pid,
gf_filter_prop_filter  filter_prop,
void *  cbk,
Bool  is_merge 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_filter_internal_packet()

static Bool gf_filter_pid_filter_internal_packet ( GF_FilterPidInst *  pidi,
GF_FilterPacketInstance pcki 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_pck_check_prop_change()

static Bool filter_pck_check_prop_change ( GF_FilterPidInst *  pidinst,
GF_FilterPacketInstance pcki,
Bool  do_notif 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_probe_next_packet()

static GF_FilterPacketInstance* gf_filter_pid_probe_next_packet ( GF_FilterPidInst *  pidinst)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pidinst_update_stats()

static void gf_filter_pidinst_update_stats ( GF_FilterPidInst *  pidi,
GF_FilterPacket *  pck 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pidinst_reset_stats()

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

◆ gf_filter_pid_set_eos_internal()

static void gf_filter_pid_set_eos_internal ( GF_FilterPid *  pid,
Bool  is_flush 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_query_buffer_duration_internal()

static u64 gf_filter_pid_query_buffer_duration_internal ( GF_FilterPid *  pid,
Bool  check_pid_full,
Bool  force_update 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_reset_task_ex()

static void gf_filter_pid_reset_task_ex ( GF_FSTask *  task,
Bool had_eos 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_reset_task()

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

◆ gf_filter_pid_reset_stop_task()

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

◆ evt_get_refstr()

static Bool evt_get_refstr ( GF_FilterEvent *  evt,
u32  r_idx,
GF_RefString **  ref_str 
)
static
+ Here is the caller graph for this function:

◆ dup_evt()

static GF_FilterEvent* dup_evt ( GF_FilterEvent *  evt)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ init_evt()

static GF_FilterEvent* init_evt ( GF_FilterEvent *  evt)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_pid_is_raw_source()

static Bool filter_pid_is_raw_source ( GF_FilterPid *  pid)
static
+ 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_filter_pid_send_event_upstream()

void gf_filter_pid_send_event_upstream ( GF_FSTask *  task)
+ 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_exec_event()

GF_EXPORT void gf_filter_pid_exec_event ( GF_FilterPid *  pid,
GF_FilterEvent *  evt 
)
+ Here is the caller graph for this function:

◆ filter_pid_inst_collect_stats()

static void filter_pid_inst_collect_stats ( GF_FilterPidInst *  pidi,
GF_FilterPidStatistics stats 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_pid_collect_stats()

static void filter_pid_collect_stats ( GF_List *  pidi_list,
GF_FilterPidStatistics stats 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_locate_enc_dec_sink()

static GF_Filter* filter_locate_enc_dec_sink ( GF_Filter *  filter,
Bool  locate_decoder 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_locate_enc_dec_src()

static GF_Filter* filter_locate_enc_dec_src ( GF_Filter *  filter,
Bool  locate_decoder 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ filter_locate_sink()

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

◆ gf_filter_pid_get_dst_string()

static char* gf_filter_pid_get_dst_string ( GF_FilterSession *  sess,
const char *  _args,
Bool  is_dst 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_get_destination_ex()

GF_EXPORT char* gf_filter_pid_get_destination_ex ( GF_FilterPid *  pid,
u32  dst_idx 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_first_pid_for_source()

GF_FilterPid* gf_filter_pid_first_pid_for_source ( GF_FilterPid *  pid,
GF_Filter *  source 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc_6381_get_codec_aac()

GF_Err rfc_6381_get_codec_aac ( char *  szCodec,
u32  codec_id,
u8 dsi,
u32  dsi_size,
Bool  force_sbr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc_6381_get_codec_m4v()

GF_Err rfc_6381_get_codec_m4v ( char *  szCodec,
u32  codec_id,
u8 dsi,
u32  dsi_size 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc_6381_get_codec_avc()

GF_Err rfc_6381_get_codec_avc ( char *  szCodec,
u32  subtype,
GF_AVCConfig avcc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc_6381_get_codec_hevc()

GF_Err rfc_6381_get_codec_hevc ( char *  szCodec,
u32  subtype,
GF_HEVCConfig hvcc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc_6381_get_codec_av1()

GF_Err rfc_6381_get_codec_av1 ( char *  szCodec,
u32  subtype,
GF_AV1Config av1c,
COLR  colr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc_6381_get_codec_vpx()

GF_Err rfc_6381_get_codec_vpx ( char *  szCodec,
u32  subtype,
GF_VPConfig vpcc,
COLR  colr 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc_6381_get_codec_dolby_vision()

GF_Err rfc_6381_get_codec_dolby_vision ( char *  szCodec,
u32  subtype,
GF_DOVIDecoderConfigurationRecord dovi 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc_6381_get_codec_vvc()

GF_Err rfc_6381_get_codec_vvc ( char *  szCodec,
u32  subtype,
GF_VVCConfig vvcc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc_6381_get_codec_mpegha()

GF_Err rfc_6381_get_codec_mpegha ( char *  szCodec,
u32  subtype,
u8 dsi,
u32  dsi_size,
s32  pl 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc_6381_get_codec_uncv()

GF_Err rfc_6381_get_codec_uncv ( char *  szCodec,
u32  subtype,
u8 dsi,
u32  dsi_size 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rfc6381_codec_name_default()

GF_Err rfc6381_codec_name_default ( char *  szCodec,
u32  subtype,
u32  codec_id 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pid_force_single_link()

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

◆ gf_filter_pid_disable_clone()

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