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

Object representing a PID of a custom filter. More...

Public Member Functions

def send_event (self, evt)
 send an event on the pid - see gf_filter_pid_send_event More...
 
def remove (self)
 removes this output pid - see gf_filter_pid_remove More...
 
def enum_props (self, callback_obj)
 enumerates property on pid More...
 
def get_prop (self, pname)
 get a PID property More...
 
def get_info (self, pname)
 get a PID info More...
 
def get_packet (self)
 get first packet of input PID - see gf_filter_pid_get_packet More...
 
def drop_packet (self)
 drops (removes) the first packet of input PID - see gf_filter_pid_drop_packet More...
 
def copy_props (self, ipid)
 copy property of given PID to the current pid - see gf_filter_pid_copy_properties More...
 
def reset_props (self)
 removes all properties of the current pid - see gf_filter_pid_reset_properties More...
 
def forward (self, ipck)
 forward a packet on the current pid - see gf_filter_pck_forward More...
 
def set_prop (self, pcode, prop, custom_type=0)
 set a property the current pid - see gf_filter_pid_set_property and gf_filter_pid_set_property_str More...
 
def set_info (self, pcode, prop, custom_type=0)
 set a info property the current pid - see gf_filter_pid_set_info and gf_filter_pid_set_info_str More...
 
def clear_eos (self, all_pids)
 clears EOS on the current PID - see gf_filter_pid_clear_eos More...
 
def check_caps (self)
 check PID properties match capability of filter - see gf_filter_pid_check_caps More...
 
def discard_block (self)
 discard blocking mode on PID - see gf_filter_pid_discard_block More...
 
def allow_direct_dispatch (self)
 allow direct dispatch of output to destinations - see gf_filter_pid_allow_direct_dispatch More...
 
def get_clock_type (self)
 get current clock type info - see gf_filter_pid_get_clock_info More...
 
def get_clock_timestamp (self)
 get current clock time stamp - see gf_filter_pid_get_clock_info More...
 
def is_filter_in_parents (self, _filter)
 check if a filter is in the parent filter chain of the pid - see gf_filter_pid_is_filter_in_parents More...
 
def get_buffer_occupancy (self)
 get buffer occupancy - see gf_filter_pid_get_buffer_occupancy More...
 
def loose_connect (self)
 sets loose connect mode - see gf_filter_pid_set_loose_connect More...
 
def set_framing (self, framed)
 sets framing mode - see gf_filter_pid_set_framing_mode More...
 
def set_clock_mode (self, cmode)
 sets clock mode - see gf_filter_pid_set_clock_mode More...
 
def set_discard (self, do_discard)
 sets discard mode - see gf_filter_pid_set_discard More...
 
def require_source_id (self)
 enforces sourceID to be present for output pids of this filter - see gf_filter_pid_require_source_id More...
 
def recompute_dts (self, do_compute)
 sets DTS recomputing mode - see gf_filter_pid_recompute_dts More...
 
def query_cap (self, pcode)
 queries a capability property on output PID - see gf_filter_pid_caps_query and gf_filter_pid_caps_query_str More...
 
def negotiate_cap (self, pcode, prop, custom_type=0)
 negotiates a capability property on input PID - see gf_filter_pid_negotiate_property and gf_filter_pid_negotiate_property_dyn More...
 
def resolve_template (self, template, file_idx=0, suffix=None)
 resolves a template string - see gf_filter_pid_resolve_file_template More...
 
def new_pck_ref (self, ipck, size=0, offset=0)
 creates a new packet referring to an existing packet - see gf_filter_pck_new_ref More...
 
def new_pck (self, size=0)
 creates a new packet of the given size, allocating memory in libgpac - see gf_filter_pck_new_alloc More...
 
def new_pck_shared (self, data)
 creates a new packet sharing memory of the filter - see gf_filter_pck_new_shared The filter object must have a packet_release method with arguments [ FilterPid, FilterPacket ] More...
 
def new_pck_copy (self, ipck)
 creates a new packet copying a source packet - see gf_filter_pck_new_copy More...
 
def new_pck_clone (self, ipck)
 creates a new packet cloning a source packet - see gf_filter_pck_new_clone More...
 

Static Public Attributes

 name
 name of the PID - see gf_filter_pid_get_name and gf_filter_pid_set_name More...
 
 filter_name
 name of the parent filter, readonly - see gf_filter_pid_get_filter_name More...
 
 eos
 end of stream property of PID - see gf_filter_pid_is_eos and gf_filter_pid_set_eos More...
 
 has_seen_eos
 True if end of stream was seen in the chain but has not yet reached the filter, readonly - see gf_filter_pid_has_seen_eos. More...
 
 eos_received
 True if end of stream was seen on the input PID but some packets are still to be processed, readonly - see gf_filter_pid_eos_received. More...
 
 would_block
 True if PID would block, readonly - see gf_filter_pid_would_block. More...
 
 sparse
 True if PID is sparse, readonly - see gf_filter_pid_is_sparse. More...
 
 max_buffer
 maximum buffer of PID in microseconds - see gf_filter_pid_get_max_buffer and gf_filter_pid_set_max_buffer More...
 
 buffer
 buffer of PID in microseconds, readonly - see gf_filter_pid_query_buffer_duration More...
 
 buffer_full
 True if buffer is full, readonly - see gf_filter_pid_query_buffer_duration. More...
 
 buffer_total
 total level of buffer, readonly - see gf_filter_pid_query_buffer_duration More...
 
 first_empty
 True if no pending packet, readonly - see gf_filter_pid_first_packet_is_empty. More...
 
 first_cts
 value of CTS of first pending packet, None if none, readonly - see gf_filter_pid_get_first_packet_cts More...
 
 nb_pck_queued
 number of queued packets for input pid, readonly - see gf_filter_pid_get_packet_count More...
 
 timescale
 timescale of pid, readonly - see gf_filter_pid_get_timescale More...
 
 min_pck_dur
 minimum packet duration (in timescale) of pid, readonly - see gf_filter_pid_get_min_pck_duration More...
 
 playing
 True if PID is playing, readonly - see gf_filter_pid_is_playing. More...
 
 next_ts
 Next estimated timestamp on pid, readonly - see gf_filter_pid_get_next_ts. More...
 

Detailed Description

Object representing a PID of a custom filter.

Member Function Documentation

◆ send_event()

def python.libgpac.libgpac.FilterPid.send_event (   self,
  evt 
)

send an event on the pid - see gf_filter_pid_send_event

Parameters
evtFilterEvent to send
Returns

◆ remove()

def python.libgpac.libgpac.FilterPid.remove (   self)

removes this output pid - see gf_filter_pid_remove

Returns

◆ enum_props()

def python.libgpac.libgpac.FilterPid.enum_props (   self,
  callback_obj 
)

enumerates property on pid

Parameters
callback_objcallback object to use, must have a 'on_prop_enum' method defined taking two parameters, prop_name(string) and propval(property value)
Returns

◆ get_prop()

def python.libgpac.libgpac.FilterPid.get_prop (   self,
  pname 
)

get a PID property

Parameters
pnameproperty name
Returns
property value or None if not found

◆ get_info()

def python.libgpac.libgpac.FilterPid.get_info (   self,
  pname 
)

get a PID info

Parameters
pnameproperty name
Returns
property value or None if not found

◆ get_packet()

def python.libgpac.libgpac.FilterPid.get_packet (   self)

get first packet of input PID - see gf_filter_pid_get_packet

Returns
FilterPacket or None if no packet available

◆ drop_packet()

def python.libgpac.libgpac.FilterPid.drop_packet (   self)

drops (removes) the first packet of input PID - see gf_filter_pid_drop_packet

Returns

◆ copy_props()

def python.libgpac.libgpac.FilterPid.copy_props (   self,
  ipid 
)

copy property of given PID to the current pid - see gf_filter_pid_copy_properties

Parameters
ipidFilterPid to copy from
Returns
+ Here is the call graph for this function:

◆ reset_props()

def python.libgpac.libgpac.FilterPid.reset_props (   self)

removes all properties of the current pid - see gf_filter_pid_reset_properties

Returns

◆ forward()

def python.libgpac.libgpac.FilterPid.forward (   self,
  ipck 
)

forward a packet on the current pid - see gf_filter_pck_forward

Parameters
ipckpacket to forward
Returns

◆ set_prop()

def python.libgpac.libgpac.FilterPid.set_prop (   self,
  pcode,
  prop,
  custom_type = 0 
)

set a property the current pid - see gf_filter_pid_set_property and gf_filter_pid_set_property_str

Parameters
pcodeproperty type
propproperty value to set
custom_typetype of property if user-defined property. If not set and user-defined, property is a string
Returns

◆ set_info()

def python.libgpac.libgpac.FilterPid.set_info (   self,
  pcode,
  prop,
  custom_type = 0 
)

set a info property the current pid - see gf_filter_pid_set_info and gf_filter_pid_set_info_str

Parameters
pcodeproperty type
propproperty value to set
custom_typetype of property if user-defined property. If not set and user-defined, property is a string
Returns

◆ clear_eos()

def python.libgpac.libgpac.FilterPid.clear_eos (   self,
  all_pids 
)

clears EOS on the current PID - see gf_filter_pid_clear_eos

Parameters
all_pidsif True, clears eos on all input pids
Returns

◆ check_caps()

def python.libgpac.libgpac.FilterPid.check_caps (   self)

check PID properties match capability of filter - see gf_filter_pid_check_caps

Returns

◆ discard_block()

def python.libgpac.libgpac.FilterPid.discard_block (   self)

discard blocking mode on PID - see gf_filter_pid_discard_block

Returns

◆ allow_direct_dispatch()

def python.libgpac.libgpac.FilterPid.allow_direct_dispatch (   self)

allow direct dispatch of output to destinations - see gf_filter_pid_allow_direct_dispatch

Returns

◆ get_clock_type()

def python.libgpac.libgpac.FilterPid.get_clock_type (   self)

get current clock type info - see gf_filter_pid_get_clock_info

Returns
clock type (int)

◆ get_clock_timestamp()

def python.libgpac.libgpac.FilterPid.get_clock_timestamp (   self)

get current clock time stamp - see gf_filter_pid_get_clock_info

Returns
clock timestamp (Fraction64)

◆ is_filter_in_parents()

def python.libgpac.libgpac.FilterPid.is_filter_in_parents (   self,
  _filter 
)

check if a filter is in the parent filter chain of the pid - see gf_filter_pid_is_filter_in_parents

Parameters
_filterFilter to check
Returns
True or False

◆ get_buffer_occupancy()

def python.libgpac.libgpac.FilterPid.get_buffer_occupancy (   self)

get buffer occupancy - see gf_filter_pid_get_buffer_occupancy

Returns
BufferOccupancy object

◆ loose_connect()

def python.libgpac.libgpac.FilterPid.loose_connect (   self)

sets loose connect mode - see gf_filter_pid_set_loose_connect

Returns

◆ set_framing()

def python.libgpac.libgpac.FilterPid.set_framing (   self,
  framed 
)

sets framing mode - see gf_filter_pid_set_framing_mode

Parameters
framedif True, complete frames only will be delivered on the pid
Returns

◆ set_clock_mode()

def python.libgpac.libgpac.FilterPid.set_clock_mode (   self,
  cmode 
)

sets clock mode - see gf_filter_pid_set_clock_mode

Parameters
cmodeclock mode operation of filter
Returns

◆ set_discard()

def python.libgpac.libgpac.FilterPid.set_discard (   self,
  do_discard 
)

sets discard mode - see gf_filter_pid_set_discard

Parameters
do_discardif True, discard is on
Returns

◆ require_source_id()

def python.libgpac.libgpac.FilterPid.require_source_id (   self)

enforces sourceID to be present for output pids of this filter - see gf_filter_pid_require_source_id

Returns
+ Here is the call graph for this function:

◆ recompute_dts()

def python.libgpac.libgpac.FilterPid.recompute_dts (   self,
  do_compute 
)

sets DTS recomputing mode - see gf_filter_pid_recompute_dts

Parameters
do_computeif True, DTS are recomputed
Returns

◆ query_cap()

def python.libgpac.libgpac.FilterPid.query_cap (   self,
  pcode 
)

queries a capability property on output PID - see gf_filter_pid_caps_query and gf_filter_pid_caps_query_str

Parameters
pcodeproperty to check
Returns
property value if found, None otherwise

◆ negotiate_cap()

def python.libgpac.libgpac.FilterPid.negotiate_cap (   self,
  pcode,
  prop,
  custom_type = 0 
)

negotiates a capability property on input PID - see gf_filter_pid_negotiate_property and gf_filter_pid_negotiate_property_dyn

Parameters
pcodeproperty to negotiate
propproperty to negotiate
custom_typetype of property if user-defined property. If not set and user-defined, property is a string
Returns

◆ resolve_template()

def python.libgpac.libgpac.FilterPid.resolve_template (   self,
  template,
  file_idx = 0,
  suffix = None 
)

resolves a template string - see gf_filter_pid_resolve_file_template

Parameters
templatethe template string
file_idxthe file index
suffixthe file suffix
Returns
the resolved template string
+ Here is the call graph for this function:

◆ new_pck_ref()

def python.libgpac.libgpac.FilterPid.new_pck_ref (   self,
  ipck,
  size = 0,
  offset = 0 
)

creates a new packet referring to an existing packet - see gf_filter_pck_new_ref

Parameters
ipckthe input (referenced) packet
sizethe data size of the new packet
offsetthe offset in the original data
Returns
the new FilterPacket or None if failure

◆ new_pck()

def python.libgpac.libgpac.FilterPid.new_pck (   self,
  size = 0 
)

creates a new packet of the given size, allocating memory in libgpac - see gf_filter_pck_new_alloc

Parameters
sizethe data size of the new packet
Returns
the new FilterPacket or None if failure

◆ new_pck_shared()

def python.libgpac.libgpac.FilterPid.new_pck_shared (   self,
  data 
)

creates a new packet sharing memory of the filter - see gf_filter_pck_new_shared The filter object must have a packet_release method with arguments [ FilterPid, FilterPacket ]

Parameters
datathe data to use. If NumPy is detected, accept a NP Array. Otherwise data is type casted into POINTER(c_ubyte)
Returns
the new FilterPacket or None if failure

◆ new_pck_copy()

def python.libgpac.libgpac.FilterPid.new_pck_copy (   self,
  ipck 
)

creates a new packet copying a source packet - see gf_filter_pck_new_copy

Parameters
ipckthe FilterPacket to copy
Returns
the new FilterPacket or None if failure

◆ new_pck_clone()

def python.libgpac.libgpac.FilterPid.new_pck_clone (   self,
  ipck 
)

creates a new packet cloning a source packet - see gf_filter_pck_new_clone

Parameters
ipckthe FilterPacket to clone
Returns
the new FilterPacket or None if failure

Field Documentation

◆ name

python.libgpac.libgpac.FilterPid.name
static

◆ filter_name

python.libgpac.libgpac.FilterPid.filter_name
static

name of the parent filter, readonly - see gf_filter_pid_get_filter_name

◆ eos

python.libgpac.libgpac.FilterPid.eos
static

end of stream property of PID - see gf_filter_pid_is_eos and gf_filter_pid_set_eos

◆ has_seen_eos

python.libgpac.libgpac.FilterPid.has_seen_eos
static

True if end of stream was seen in the chain but has not yet reached the filter, readonly - see gf_filter_pid_has_seen_eos.

◆ eos_received

python.libgpac.libgpac.FilterPid.eos_received
static

True if end of stream was seen on the input PID but some packets are still to be processed, readonly - see gf_filter_pid_eos_received.

◆ would_block

python.libgpac.libgpac.FilterPid.would_block
static

True if PID would block, readonly - see gf_filter_pid_would_block.

◆ sparse

python.libgpac.libgpac.FilterPid.sparse
static

True if PID is sparse, readonly - see gf_filter_pid_is_sparse.

◆ max_buffer

python.libgpac.libgpac.FilterPid.max_buffer
static

maximum buffer of PID in microseconds - see gf_filter_pid_get_max_buffer and gf_filter_pid_set_max_buffer

◆ buffer

python.libgpac.libgpac.FilterPid.buffer
static

buffer of PID in microseconds, readonly - see gf_filter_pid_query_buffer_duration

◆ buffer_full

python.libgpac.libgpac.FilterPid.buffer_full
static

True if buffer is full, readonly - see gf_filter_pid_query_buffer_duration.

◆ buffer_total

python.libgpac.libgpac.FilterPid.buffer_total
static

total level of buffer, readonly - see gf_filter_pid_query_buffer_duration

◆ first_empty

python.libgpac.libgpac.FilterPid.first_empty
static

True if no pending packet, readonly - see gf_filter_pid_first_packet_is_empty.

◆ first_cts

python.libgpac.libgpac.FilterPid.first_cts
static

value of CTS of first pending packet, None if none, readonly - see gf_filter_pid_get_first_packet_cts

◆ nb_pck_queued

python.libgpac.libgpac.FilterPid.nb_pck_queued
static

number of queued packets for input pid, readonly - see gf_filter_pid_get_packet_count

◆ timescale

python.libgpac.libgpac.FilterPid.timescale
static

timescale of pid, readonly - see gf_filter_pid_get_timescale

◆ min_pck_dur

python.libgpac.libgpac.FilterPid.min_pck_dur
static

minimum packet duration (in timescale) of pid, readonly - see gf_filter_pid_get_min_pck_duration

◆ playing

python.libgpac.libgpac.FilterPid.playing
static

True if PID is playing, readonly - see gf_filter_pid_is_playing.

◆ next_ts

python.libgpac.libgpac.FilterPid.next_ts
static

Next estimated timestamp on pid, readonly - see gf_filter_pid_get_next_ts.