libgpac
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

 ipids
 List of input FilterPid.
 
 opids
 List of output FilterPid.
 
 block_enabled
 filter blocking is enabled, readonly - see gf_filter_block_enabled
 
 output_buffer
 maximum output buffer time, readonly - see gf_filter_get_output_buffer_max
 
 playout_buffer
 maximum plyaout buffer time, readonly - see gf_filter_get_output_buffer_max
 
 sinks_done
 all sinks are done for this filter, readonly - see gf_filter_all_sinks_done
 
 nb_evts_queued
 number of queued events on the filter, readonly - see gf_filter_get_num_events_queued
 
 clock_hint_time
 clock hint value in microseconds, readonly - see gf_filter_get_clock_hint
 
 clock_hint_mediatime
 clock hint media time as Fraction64, readonly - see gf_filter_get_clock_hint
 
 connections_pending
 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
 name of the filter, readonly - see gf_filter_get_name
 
 ID
 ID of the filter, readonly - see gf_filter_get_id.
 
 nb_ipid
 number of input pids for that filter, readonly - see gf_filter_get_ipid_count
 
 nb_opid
 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,
  session,
  fname = "Custom",
  flags = 0 
)
Parameters
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,
  pcode,
  prop,
  flag,
  priority = 0,
  custom_type = 0 
)
Parameters
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
Returns
+ Here is the call graph for this function:

◆ new_pid()

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

◆ update_status()

def python.libgpac.libgpac.FilterCustom.update_status (   self,
  status,
  percent 
)
Parameters
statusstatus string
percentprogress in per 10000, int
Returns

◆ reschedule()

def python.libgpac.libgpac.FilterCustom.reschedule (   self,
  when = 0 
)
Parameters
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
Returns

◆ notify_failure()

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

◆ make_sticky()

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

◆ prevent_blocking()

def python.libgpac.libgpac.FilterCustom.prevent_blocking (   self,
  enable 
)
Parameters
enableif True, blocking prevention is enabled
Returns

◆ block_eos()

def python.libgpac.libgpac.FilterCustom.block_eos (   self,
  enable 
)
Parameters
enableif True, eos blocking is enabled
Returns

◆ set_max_pids()

def python.libgpac.libgpac.FilterCustom.set_max_pids (   self,
  max_pids 
)
Parameters
max_pidsnumber of extra pids
Returns

◆ hint_clock()

def python.libgpac.libgpac.FilterCustom.hint_clock (   self,
  clock_us,
  media_time 
)
Parameters
clock_usclock in microseconds
media_timemedia time as Fraction64
Returns