libgpac
Documentation of the core library of GPAC
GF_Filter Struct Reference

#include <filter_session.h>

+ Collaboration diagram for GF_Filter:

Data Fields

const GF_FilterRegister * freg
 
char * name
 
char * id
 
char * source_ids
 
char * dynamic_source_ids
 
char * restricted_source_id
 
GF_FilterSession * session
 
u32 max_extra_pids
 
volatile u32 nb_sparse_pids
 
u32 subsession_id
 
u32 subsource_id
 
Bool(* on_setup_error )(GF_Filter *f, void *on_setup_error_udta, GF_Err e)
 
void * on_setup_error_udta
 
GF_Filter * on_setup_error_filter
 
char * orig_args
 
GF_FilterArgType arg_type
 
char * src_args
 
char * dst_args
 
char * tag
 
char * itag
 
char * netcap_id
 
GF_FilterQueue * tasks
 
volatile GF_FilterScheduledType scheduled_for_next_task
 
volatile Bool in_process
 
u32 process_th_id
 
u32 restrict_th_idx
 
void * filter_udta
 
Bool has_out_caps
 
Bool in_force_flush
 
GF_FilterDisableType disabled
 
Bool in_process_callback
 
Bool no_probe
 
Bool no_inputs
 
Bool is_blocking_source
 
u32 force_demux
 
s32 nb_pids_playing
 
GF_List * input_pids
 
u32 num_input_pids
 
GF_List * output_pids
 
u32 num_output_pids
 
u32 num_out_pids_not_connected
 
GF_FilterQueue * pcks_alloc_reservoir
 
GF_FilterQueue * pcks_shared_reservoir
 
GF_FilterQueue * pcks_inst_reservoir
 
GF_Mutex * pcks_mx
 
GF_Mutex * tasks_mx
 this mutex protects: More...
 
Bool has_pending_pids
 
GF_FilterQueue * pending_pids
 
volatile u32 in_pid_connection_pending
 
volatile u32 out_pid_connection_pending
 
volatile u32 pending_packets
 
volatile u32 nb_ref_packets
 
volatile u64 ref_bytes
 
volatile u32 stream_reset_pending
 
volatile u32 num_events_queued
 
volatile u32 detach_pid_tasks_pending
 
volatile u32 nb_shared_packets_out
 
volatile u32 abort_pending
 
GF_List * postponed_packets
 
GF_List * blacklisted
 
GF_Filter * cloned_from
 
GF_Filter * dst_filter
 
GF_Filter * target_filter
 
GF_List * destination_filters
 
GF_List * destination_links
 
GF_List * temp_input_pids
 
u64 nb_tasks_done
 
u64 nb_pck_processed
 
u64 nb_bytes_processed
 
u64 nb_pck_sent
 
u64 nb_hw_pck_sent
 
u32 nb_errors
 
u64 nb_bytes_sent
 
u64 time_process
 
volatile u32 would_block
 
u32 pid_buffer_max_us
 
u32 pid_buffer_max_units
 
u32 pid_decode_buffer_max_us
 
Bool prevent_blocking
 
Bool in_eos_resume
 
Bool deferred_link
 
Bool finalized
 
u32 removed
 
Bool setup_notified
 
u32 dynamic_filter
 
Bool block_eos
 
Bool marked_for_removal
 
u32 sticky
 
GF_FilterCloneType clonable
 
Bool in_link_resolution
 
volatile u32 nb_caps_renegotiate
 
volatile u32 process_task_queued
 
u64 schedule_next_time
 
u64 next_clock_dispatch
 
u32 next_clock_dispatch_timescale
 
GF_FilterClockType next_clock_dispatch_type
 
GF_Filter * cap_dst_filter
 
GF_PropertyMapcaps_negotiate
 
Bool is_pid_adaptation_filter
 
GF_FilterPidInst * swap_pidinst_dst
 
GF_FilterPidInst * swap_pidinst_src
 
Bool swap_needs_init
 
Bool swap_pending
 
const GF_FilterCapabilityforced_caps
 
u32 nb_forced_caps
 
u32 nb_forced_bundles
 
GF_List * detached_pid_inst
 
s32 bundle_idx_at_resolution
 
s32 cap_idx_at_resolution
 
Bool reconfigure_outputs
 
Bool user_pid_props
 
u32 prop_dump
 
u32 encoder_codec_id
 
GF_PropStringList skip_cids
 
Bool filter_skiped
 
Bool act_as_sink
 
Bool require_source_id
 
rmtU32 rmt_hash
 
Bool pid_info_changed
 
u32 eos_probe_state
 
u32 nb_pck_io
 
u32 nb_consecutive_errors
 
u64 time_at_first_error
 
GF_Err in_connect_err
 
volatile u32 nb_main_thread_forced
 
Bool no_dst_arg_inherit
 
GF_List * source_filters
 
char * status_str
 
u32 status_str_alloc
 
u32 status_percent
 
Bool report_updated
 
char * instance_description
 
char * instance_version
 
char * instance_author
 
char * instance_help
 
GF_ClassTypeHint instance_class_hint
 
GF_FilterArgsinstance_args
 
GF_Filter * multi_sink_target
 
Bool event_target
 
struct __gf_filtercloned_instance
 
u64 last_schedule_task_time
 
GF_Filter * single_source
 
char * meta_instances
 
Bool no_segsize_evts
 
GF_LogExtralogs
 
void * rt_udta
 

Detailed Description

Filter object

Field Documentation

◆ freg

const GF_FilterRegister* GF_Filter::freg

◆ name

char* GF_Filter::name

◆ id

char* GF_Filter::id

◆ source_ids

char* GF_Filter::source_ids

◆ dynamic_source_ids

char* GF_Filter::dynamic_source_ids

◆ restricted_source_id

char* GF_Filter::restricted_source_id

◆ session

GF_FilterSession* GF_Filter::session

◆ max_extra_pids

u32 GF_Filter::max_extra_pids

◆ nb_sparse_pids

volatile u32 GF_Filter::nb_sparse_pids

◆ subsession_id

u32 GF_Filter::subsession_id

◆ subsource_id

u32 GF_Filter::subsource_id

◆ on_setup_error

Bool(* GF_Filter::on_setup_error) (GF_Filter *f, void *on_setup_error_udta, GF_Err e)

◆ on_setup_error_udta

void* GF_Filter::on_setup_error_udta

◆ on_setup_error_filter

GF_Filter* GF_Filter::on_setup_error_filter

◆ orig_args

char* GF_Filter::orig_args

◆ arg_type

GF_FilterArgType GF_Filter::arg_type

◆ src_args

char* GF_Filter::src_args

◆ dst_args

char* GF_Filter::dst_args

◆ tag

char* GF_Filter::tag

◆ itag

char* GF_Filter::itag

◆ netcap_id

char* GF_Filter::netcap_id

◆ tasks

GF_FilterQueue* GF_Filter::tasks

◆ scheduled_for_next_task

volatile GF_FilterScheduledType GF_Filter::scheduled_for_next_task

◆ in_process

volatile Bool GF_Filter::in_process

◆ process_th_id

u32 GF_Filter::process_th_id

◆ restrict_th_idx

u32 GF_Filter::restrict_th_idx

◆ filter_udta

void* GF_Filter::filter_udta

◆ has_out_caps

Bool GF_Filter::has_out_caps

◆ in_force_flush

Bool GF_Filter::in_force_flush

◆ disabled

GF_FilterDisableType GF_Filter::disabled

◆ in_process_callback

Bool GF_Filter::in_process_callback

◆ no_probe

Bool GF_Filter::no_probe

◆ no_inputs

Bool GF_Filter::no_inputs

◆ is_blocking_source

Bool GF_Filter::is_blocking_source

◆ force_demux

u32 GF_Filter::force_demux

◆ nb_pids_playing

s32 GF_Filter::nb_pids_playing

◆ input_pids

GF_List* GF_Filter::input_pids

◆ num_input_pids

u32 GF_Filter::num_input_pids

◆ output_pids

GF_List* GF_Filter::output_pids

◆ num_output_pids

u32 GF_Filter::num_output_pids

◆ num_out_pids_not_connected

u32 GF_Filter::num_out_pids_not_connected

◆ pcks_alloc_reservoir

GF_FilterQueue* GF_Filter::pcks_alloc_reservoir

◆ pcks_shared_reservoir

GF_FilterQueue* GF_Filter::pcks_shared_reservoir

◆ pcks_inst_reservoir

GF_FilterQueue* GF_Filter::pcks_inst_reservoir

◆ pcks_mx

GF_Mutex* GF_Filter::pcks_mx

◆ tasks_mx

GF_Mutex* GF_Filter::tasks_mx

◆ has_pending_pids

Bool GF_Filter::has_pending_pids

◆ pending_pids

GF_FilterQueue* GF_Filter::pending_pids

◆ in_pid_connection_pending

volatile u32 GF_Filter::in_pid_connection_pending

◆ out_pid_connection_pending

volatile u32 GF_Filter::out_pid_connection_pending

◆ pending_packets

volatile u32 GF_Filter::pending_packets

◆ nb_ref_packets

volatile u32 GF_Filter::nb_ref_packets

◆ ref_bytes

volatile u64 GF_Filter::ref_bytes

◆ stream_reset_pending

volatile u32 GF_Filter::stream_reset_pending

◆ num_events_queued

volatile u32 GF_Filter::num_events_queued

◆ detach_pid_tasks_pending

volatile u32 GF_Filter::detach_pid_tasks_pending

◆ nb_shared_packets_out

volatile u32 GF_Filter::nb_shared_packets_out

◆ abort_pending

volatile u32 GF_Filter::abort_pending

◆ postponed_packets

GF_List* GF_Filter::postponed_packets

◆ blacklisted

GF_List* GF_Filter::blacklisted

◆ cloned_from

GF_Filter* GF_Filter::cloned_from

◆ dst_filter

GF_Filter* GF_Filter::dst_filter

◆ target_filter

GF_Filter* GF_Filter::target_filter

◆ destination_filters

GF_List* GF_Filter::destination_filters

◆ destination_links

GF_List* GF_Filter::destination_links

◆ temp_input_pids

GF_List* GF_Filter::temp_input_pids

◆ nb_tasks_done

u64 GF_Filter::nb_tasks_done

◆ nb_pck_processed

u64 GF_Filter::nb_pck_processed

◆ nb_bytes_processed

u64 GF_Filter::nb_bytes_processed

◆ nb_pck_sent

u64 GF_Filter::nb_pck_sent

◆ nb_hw_pck_sent

u64 GF_Filter::nb_hw_pck_sent

◆ nb_errors

u32 GF_Filter::nb_errors

◆ nb_bytes_sent

u64 GF_Filter::nb_bytes_sent

◆ time_process

u64 GF_Filter::time_process

◆ would_block

volatile u32 GF_Filter::would_block

◆ pid_buffer_max_us

u32 GF_Filter::pid_buffer_max_us

◆ pid_buffer_max_units

u32 GF_Filter::pid_buffer_max_units

◆ pid_decode_buffer_max_us

u32 GF_Filter::pid_decode_buffer_max_us

◆ prevent_blocking

Bool GF_Filter::prevent_blocking

◆ in_eos_resume

Bool GF_Filter::in_eos_resume

◆ deferred_link

Bool GF_Filter::deferred_link

◆ finalized

Bool GF_Filter::finalized

◆ removed

u32 GF_Filter::removed

◆ setup_notified

Bool GF_Filter::setup_notified

◆ dynamic_filter

u32 GF_Filter::dynamic_filter

◆ block_eos

Bool GF_Filter::block_eos

◆ marked_for_removal

Bool GF_Filter::marked_for_removal

◆ sticky

u32 GF_Filter::sticky

◆ clonable

GF_FilterCloneType GF_Filter::clonable

◆ in_link_resolution

Bool GF_Filter::in_link_resolution

◆ nb_caps_renegotiate

volatile u32 GF_Filter::nb_caps_renegotiate

◆ process_task_queued

volatile u32 GF_Filter::process_task_queued

◆ schedule_next_time

u64 GF_Filter::schedule_next_time

◆ next_clock_dispatch

u64 GF_Filter::next_clock_dispatch

◆ next_clock_dispatch_timescale

u32 GF_Filter::next_clock_dispatch_timescale

◆ next_clock_dispatch_type

GF_FilterClockType GF_Filter::next_clock_dispatch_type

◆ cap_dst_filter

GF_Filter* GF_Filter::cap_dst_filter

◆ caps_negotiate

GF_PropertyMap* GF_Filter::caps_negotiate

◆ is_pid_adaptation_filter

Bool GF_Filter::is_pid_adaptation_filter

◆ swap_pidinst_dst

GF_FilterPidInst* GF_Filter::swap_pidinst_dst

◆ swap_pidinst_src

GF_FilterPidInst* GF_Filter::swap_pidinst_src

◆ swap_needs_init

Bool GF_Filter::swap_needs_init

◆ swap_pending

Bool GF_Filter::swap_pending

◆ forced_caps

const GF_FilterCapability* GF_Filter::forced_caps

◆ nb_forced_caps

u32 GF_Filter::nb_forced_caps

◆ nb_forced_bundles

u32 GF_Filter::nb_forced_bundles

◆ detached_pid_inst

GF_List* GF_Filter::detached_pid_inst

◆ bundle_idx_at_resolution

s32 GF_Filter::bundle_idx_at_resolution

◆ cap_idx_at_resolution

s32 GF_Filter::cap_idx_at_resolution

◆ reconfigure_outputs

Bool GF_Filter::reconfigure_outputs

◆ user_pid_props

Bool GF_Filter::user_pid_props

◆ prop_dump

u32 GF_Filter::prop_dump

◆ encoder_codec_id

u32 GF_Filter::encoder_codec_id

◆ skip_cids

GF_PropStringList GF_Filter::skip_cids

◆ filter_skiped

Bool GF_Filter::filter_skiped

◆ act_as_sink

Bool GF_Filter::act_as_sink

◆ require_source_id

Bool GF_Filter::require_source_id

◆ rmt_hash

rmtU32 GF_Filter::rmt_hash

◆ pid_info_changed

Bool GF_Filter::pid_info_changed

◆ eos_probe_state

u32 GF_Filter::eos_probe_state

◆ nb_pck_io

u32 GF_Filter::nb_pck_io

◆ nb_consecutive_errors

u32 GF_Filter::nb_consecutive_errors

◆ time_at_first_error

u64 GF_Filter::time_at_first_error

◆ in_connect_err

GF_Err GF_Filter::in_connect_err

◆ nb_main_thread_forced

volatile u32 GF_Filter::nb_main_thread_forced

◆ no_dst_arg_inherit

Bool GF_Filter::no_dst_arg_inherit

◆ source_filters

GF_List* GF_Filter::source_filters

◆ status_str

char* GF_Filter::status_str

◆ status_str_alloc

u32 GF_Filter::status_str_alloc

◆ status_percent

u32 GF_Filter::status_percent

◆ report_updated

Bool GF_Filter::report_updated

◆ instance_description

char* GF_Filter::instance_description

◆ instance_version

char * GF_Filter::instance_version

◆ instance_author

char * GF_Filter::instance_author

◆ instance_help

char * GF_Filter::instance_help

◆ instance_class_hint

GF_ClassTypeHint GF_Filter::instance_class_hint

◆ instance_args

GF_FilterArgs* GF_Filter::instance_args

◆ multi_sink_target

GF_Filter* GF_Filter::multi_sink_target

◆ event_target

Bool GF_Filter::event_target

◆ cloned_instance

struct __gf_filter* GF_Filter::cloned_instance

◆ last_schedule_task_time

u64 GF_Filter::last_schedule_task_time

◆ single_source

GF_Filter* GF_Filter::single_source

◆ meta_instances

char* GF_Filter::meta_instances

◆ no_segsize_evts

Bool GF_Filter::no_segsize_evts

◆ logs

GF_LogExtra* GF_Filter::logs

◆ rt_udta

void* GF_Filter::rt_udta