Documentation of the core library of GPAC
python.libgpac.libgpac.FilterCustom Class Reference

Base class used to create custom filters in python.

+ Inheritance diagram for python.libgpac.libgpac.FilterCustom:
+ Collaboration diagram for python.libgpac.libgpac.FilterCustom:

Public Member Functions

def __init__ (self, session, fname="Custom", flags=0)
 constructor, see gf_fs_new_filter More...
def push_cap (self, pcode, prop, flag, priority=0, custom_type=0)
 push a capability in the current capability bundle - see gf_filter_push_caps More...
def new_pid (self)
 create a new output pid for this filter - see gf_filter_pid_new More...
def update_status (self, status, percent)
 update filter status - see gf_filter_update_status More...
def reschedule (self, when=0)
 reschedule the filter after a given delay - see gf_filter_ask_rt_reschedule and gf_filter_post_process_task More...
def notify_failure (self, err, error_type=GF_SETUP_ERROR)
 notify an internal failure of the filter has happend - see gf_filter_notification_failure and gf_filter_setup_failure More...
def make_sticky (self)
 make the filter sticky - see gf_filter_make_sticky More...
def prevent_blocking (self, enable)
 prevent blocking on the filter - see gf_filter_prevent_blocking More...
def block_eos (self, enable)
 block eos signaling on the filter - see gf_filter_block_eos More...
def set_max_pids (self, max_pids)
 set maximum number of extra pids accepted by this filter - see gf_filter_set_max_extra_input_pids More...
def hint_clock (self, clock_us, media_time)
 set clock hint - see gf_filter_hint_single_clock More...
- Public Member Functions inherited from python.libgpac.libgpac.Filter
def remove (self)
 remove this filter - see gf_filter_remove More...
def update (self, name, value, propagate_mask=0)
 send option update to this filter - see gf_fs_send_update More...
def set_source (self, f, link_args=None)
 set a given filter as source for this filter - see gf_filter_set_source More...
def set_source_restricted (self, f, link_args=None)
 set a given filter as restricted source for this filter - see gf_filter_set_source_restricted More...
def insert (self, f, opid=-1, link_args=None)
 insert a given filter after this filter - see gf_filter_set_source and gf_filter_reconnect_output More...
def reconnect (self, opid=-1)
 reconnect the filter output - see gf_filter_set_source and gf_filter_reconnect_output More...
def ipid_prop (self, idx, prop_name)
 get an input pid property by name More...
def ipid_enum_props (self, idx, callback_obj)
 enumerate an input pid properties More...
def opid_prop (self, idx, prop_name)
 get an output pid property by name More...
def opid_enum_props (self, idx, callback_obj)
 enumerate an output pid properties More...
def ipid_stats (self, idx, mode=0)
 Gets the statistics of an input pid of filter - see gf_filter_pid_get_statistics. More...
def opid_stats (self, idx, mode=0)
 Gets the statistics of an output pid of filter - see gf_filter_pid_get_statistics. More...
def ipid_source (self, idx)
 gets the filter at the source of an input pid More...
def opid_sinks (self, idx)
 gets the list of destination filters of an output pid More...
def all_args (self)
 gets all defined options / arguments for a filter More...
def get_info (self, prop_name)
 gets a property info on a filter - see gf_filter_get_info and gf_filter_get_info_str More...
def get_statistics (self)
 Gets the statistics of a filter - see gf_filter_get_stats. More...
def require_source_id (self)
 enforces sourceID to be present for output pids of this filter - see gf_filter_require_source_id More...
def probe_link (self, opid_idx, name)
 Resolves link from given output pid of filter to a filter description. More...
def get_destinations (self, opid_idx)
 Gets all possible destination filter for this filter or one of its output PID - see gf_filter_get_possible_destinations. More...
def bind (self, object)
 binds a given object to the filter More...

Data Fields

 List of input FilterPid.
 List of output FilterPid.
 filter blocking is enabled, readonly - see gf_filter_block_enabled
 maximum output buffer time, readonly - see gf_filter_get_output_buffer_max
 maximum plyaout buffer time, readonly - see gf_filter_get_output_buffer_max
 all sinks are done for this filter, readonly - see gf_filter_all_sinks_done
 number of queued events on the filter, readonly - see gf_filter_get_num_events_queued
 clock hint value in microseconds, readonly - see gf_filter_get_clock_hint
 clock hint media time as Fraction64, readonly - see gf_filter_get_clock_hint
 boolean indicating connections are pending on the filter, readonly - see gf_filter_connections_pending

Additional Inherited Members

- Static Public Attributes inherited from python.libgpac.libgpac.Filter
 name of the filter, readonly - see gf_filter_get_name
 ID of the filter, readonly - see gf_filter_get_id.
 number of input pids for that filter, readonly - see gf_filter_get_ipid_count
 number of output pids for that filter, readonly - see gf_filter_get_opid_count

Constructor & Destructor Documentation

◆ __init__()

def python.libgpac.libgpac.FilterCustom.__init__ (   self,
  fname = "Custom",
  flags = 0 
sessionFilterSession object
fnamename of the filter
flagsflags for the filter
+ Here is the call graph for this function:

Member Function Documentation

◆ push_cap()

def python.libgpac.libgpac.FilterCustom.push_cap (   self,
  priority = 0,
  custom_type = 0 
pcodecapability name (property type)
propcapability value
flagcapability flags (input, output, etc)
prioritycapability priority
custom_typetype of property if user-defined property. If not set and user-defined, property is a string
+ Here is the call graph for this function:

◆ new_pid()

def python.libgpac.libgpac.FilterCustom.new_pid (   self)
FilterPid object

◆ update_status()

def python.libgpac.libgpac.FilterCustom.update_status (   self,
statusstatus string
percentprogress in per 10000, int

◆ reschedule()

def python.libgpac.libgpac.FilterCustom.reschedule (   self,
  when = 0 
whendelay in microseconds, negative value will just post a process task. A value of 0 will mark filter as active even if no packet was dropped/sent

◆ notify_failure()

def python.libgpac.libgpac.FilterCustom.notify_failure (   self,
  error_type = GF_SETUP_ERROR 
errthe failure reason (gpac error code, int)
error_typethe failure notification type

◆ make_sticky()

def python.libgpac.libgpac.FilterCustom.make_sticky (   self)

◆ prevent_blocking()

def python.libgpac.libgpac.FilterCustom.prevent_blocking (   self,
enableif True, blocking prevention is enabled

◆ block_eos()

def python.libgpac.libgpac.FilterCustom.block_eos (   self,
enableif True, eos blocking is enabled

◆ set_max_pids()

def python.libgpac.libgpac.FilterCustom.set_max_pids (   self,
max_pidsnumber of extra pids

◆ hint_clock()

def python.libgpac.libgpac.FilterCustom.hint_clock (   self,
clock_usclock in microseconds
media_timemedia time as Fraction64