libgpac
Documentation of the core library of GPAC
filter_pck.c File Reference
#include "filter_session.h"
+ Include dependency graph for filter_pck.c:

Data Structures

struct  GF_PckQueueEnum
 

Macros

#define PCK_SETTER_CHECK(_pname)
 

Functions

static void gf_filter_pck_reset_props (GF_FilterPacket *pck, GF_FilterPid *pid)
 
GF_EXPORT GF_Err gf_filter_pck_merge_properties_filter (GF_FilterPacket *pck_src, GF_FilterPacket *pck_dst, gf_filter_prop_filter filter_prop, void *cbk)
 
GF_EXPORT GF_Err gf_filter_pck_merge_properties (GF_FilterPacket *pck_src, GF_FilterPacket *pck_dst)
 
static void pck_queue_enum (void *udta, void *item)
 
static GF_FilterPacket * gf_filter_pck_new_alloc_internal (GF_FilterPid *pid, u32 data_size, u8 **data)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_new_alloc (GF_FilterPid *pid, u32 data_size, u8 **data)
 
static GF_FilterPacket * gf_filter_pck_new_dangling_packet (GF_FilterPacket *cached_pck, u32 data_length)
 
static GF_FilterPacket * gf_filter_pck_clone_frame_interface (GF_FilterPid *pid, GF_FilterPacket *pck_source, u8 **data, Bool dangling_packet, GF_FilterPacket *cached_pck)
 
static GF_FilterPacket * gf_filter_pck_new_clone_internal (GF_FilterPid *pid, GF_FilterPacket *pck_source, u8 **data, Bool force_copy, Bool dangling_packet, GF_FilterPacket *cached_pck)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_dangling_copy (GF_FilterPacket *pck_source, GF_FilterPacket *cached_pck)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_dangling_clone (GF_FilterPacket *pck_source, GF_FilterPacket *cached_pck)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_new_clone (GF_FilterPid *pid, GF_FilterPacket *pck_source, u8 **data)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_new_copy (GF_FilterPid *pid, GF_FilterPacket *pck_source, u8 **data)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_new_alloc_destructor (GF_FilterPid *pid, u32 data_size, u8 **data, gf_fsess_packet_destructor destruct)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_new_shared_internal (GF_FilterPid *pid, const u8 *data, u32 data_size, gf_fsess_packet_destructor destruct, Bool intern_pck)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_new_shared (GF_FilterPid *pid, const u8 *data, u32 data_size, gf_fsess_packet_destructor destruct)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_new_ref_destructor (GF_FilterPid *pid, u32 data_offset, u32 data_size, GF_FilterPacket *reference, gf_fsess_packet_destructor destruct)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_new_ref (GF_FilterPid *pid, u32 data_offset, u32 data_size, GF_FilterPacket *reference)
 
GF_EXPORT GF_Err gf_filter_pck_set_readonly (GF_FilterPacket *pck)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_new_frame_interface (GF_FilterPid *pid, GF_FilterFrameInterface *frame_ifce, gf_fsess_packet_destructor destruct)
 
GF_EXPORT GF_Err gf_filter_pck_forward (GF_FilterPacket *reference, GF_FilterPid *pid)
 
void gf_filter_packet_destroy (GF_FilterPacket *pck)
 
Bool gf_filter_aggregate_packets (GF_FilterPidInst *dst)
 
GF_EXPORT void gf_filter_pck_discard (GF_FilterPacket *pck)
 
GF_Err gf_filter_pck_send_internal (GF_FilterPacket *pck, Bool from_filter)
 
GF_EXPORT GF_Err gf_filter_pck_send (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_ref (GF_FilterPacket **pck)
 
GF_EXPORT GF_FilterPacket * gf_filter_pck_ref_ex (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_ref_props (GF_FilterPacket **pck)
 
GF_EXPORT void gf_filter_pck_unref (GF_FilterPacket *pck)
 
GF_EXPORT const u8gf_filter_pck_get_data (GF_FilterPacket *pck, u32 *size)
 
static GF_Err gf_filter_pck_set_property_full (GF_FilterPacket *pck, u32 prop_4cc, const char *prop_name, char *dyn_name, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pck_set_property (GF_FilterPacket *pck, u32 prop_4cc, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pck_set_property_str (GF_FilterPacket *pck, const char *name, const GF_PropertyValue *value)
 
GF_EXPORT GF_Err gf_filter_pck_set_property_dyn (GF_FilterPacket *pck, char *name, const GF_PropertyValue *value)
 
GF_EXPORT Bool gf_filter_pck_has_properties (GF_FilterPacket *pck)
 
static GFINLINE const GF_PropertyValue * pck_check_prop (GF_FilterPacket *pck, u32 prop_4cc, const char *prop_name, const GF_PropertyValue *ret)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pck_get_property (GF_FilterPacket *_pck, u32 prop_4cc)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pck_get_property_str (GF_FilterPacket *_pck, const char *prop_name)
 
GF_EXPORT const GF_PropertyValue * gf_filter_pck_enum_properties (GF_FilterPacket *pck, u32 *idx, u32 *prop_4cc, const char **prop_name)
 
GF_EXPORT GF_Err gf_filter_pck_set_framing (GF_FilterPacket *pck, Bool is_start, Bool is_end)
 
GF_EXPORT GF_Err gf_filter_pck_get_framing (GF_FilterPacket *pck, Bool *is_start, Bool *is_end)
 
GF_EXPORT GF_Err gf_filter_pck_set_dts (GF_FilterPacket *pck, u64 dts)
 
GF_EXPORT u64 gf_filter_pck_get_dts (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_cts (GF_FilterPacket *pck, u64 cts)
 
GF_EXPORT u64 gf_filter_pck_get_cts (GF_FilterPacket *pck)
 
GF_EXPORT u32 gf_filter_pck_get_timescale (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_sap (GF_FilterPacket *pck, GF_FilterSAPType sap_type)
 
GF_EXPORT GF_FilterSAPType gf_filter_pck_get_sap (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_roll_info (GF_FilterPacket *pck, s16 roll_count)
 
GF_EXPORT s16 gf_filter_pck_get_roll_info (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_interlaced (GF_FilterPacket *pck, u32 is_interlaced)
 
GF_EXPORT u32 gf_filter_pck_get_interlaced (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_corrupted (GF_FilterPacket *pck, Bool is_corrupted)
 
GF_EXPORT Bool gf_filter_pck_get_corrupted (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_duration (GF_FilterPacket *pck, u32 duration)
 
GF_EXPORT u32 gf_filter_pck_get_duration (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_seek_flag (GF_FilterPacket *pck, Bool is_seek)
 
GF_EXPORT Bool gf_filter_pck_get_seek_flag (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_dependency_flags (GF_FilterPacket *pck, u8 dep_flags)
 
GF_EXPORT u8 gf_filter_pck_get_dependency_flags (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_carousel_version (GF_FilterPacket *pck, u8 version_number)
 
GF_EXPORT u8 gf_filter_pck_get_carousel_version (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_byte_offset (GF_FilterPacket *pck, u64 byte_offset)
 
GF_EXPORT u64 gf_filter_pck_get_byte_offset (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_crypt_flags (GF_FilterPacket *pck, u8 crypt_flag)
 
GF_EXPORT u8 gf_filter_pck_get_crypt_flags (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_seq_num (GF_FilterPacket *pck, u32 seq_num)
 
GF_EXPORT u32 gf_filter_pck_get_seq_num (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_set_clock_type (GF_FilterPacket *pck, GF_FilterClockType ctype)
 
GF_EXPORT GF_FilterClockType gf_filter_pck_get_clock_type (GF_FilterPacket *pck)
 
GF_EXPORT GF_FilterFrameInterfacegf_filter_pck_get_frame_interface (GF_FilterPacket *pck)
 
GF_EXPORT GF_Err gf_filter_pck_expand (GF_FilterPacket *pck, u32 nb_bytes_to_add, u8 **data_start, u8 **new_range_start, u32 *new_size)
 
GF_EXPORT GF_Err gf_filter_pck_truncate (GF_FilterPacket *pck, u32 size)
 
GF_EXPORT Bool gf_filter_pck_is_blocking_ref (GF_FilterPacket *pck)
 
GF_EXPORT void gf_filter_pck_check_realloc (GF_FilterPacket *pck, u8 *data, u32 size)
 

Data Structure Documentation

◆ GF_PckQueueEnum

struct GF_PckQueueEnum
Data Fields
u32 data_size
GF_FilterPacket * pck
GF_FilterPacket * closest

Macro Definition Documentation

◆ PCK_SETTER_CHECK

#define PCK_SETTER_CHECK (   _pname)
Value:
if (PCK_IS_INPUT(pck)) { \
GF_LOG(GF_LOG_ERROR, GF_LOG_FILTER, ("Attempt to set %s on an input packet in filter %s\n", _pname, pck->pid->filter->name));\
return GF_BAD_PARAM; \
} \
#define PCK_IS_INPUT(__pck)
Definition: filter_session.h:42
@ GF_BAD_PARAM
Definition: tools.h:135
@ GF_LOG_FILTER
Definition: tools.h:822
@ GF_LOG_ERROR
Definition: tools.h:741

Function Documentation

◆ gf_filter_pck_reset_props()

static void gf_filter_pck_reset_props ( GF_FilterPacket *  pck,
GF_FilterPid *  pid 
)
static
+ Here is the caller graph for this function:

◆ pck_queue_enum()

static void pck_queue_enum ( void *  udta,
void *  item 
)
static
+ Here is the caller graph for this function:

◆ gf_filter_pck_new_alloc_internal()

static GF_FilterPacket* gf_filter_pck_new_alloc_internal ( GF_FilterPid *  pid,
u32  data_size,
u8 **  data 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pck_new_dangling_packet()

static GF_FilterPacket* gf_filter_pck_new_dangling_packet ( GF_FilterPacket *  cached_pck,
u32  data_length 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pck_clone_frame_interface()

static GF_FilterPacket* gf_filter_pck_clone_frame_interface ( GF_FilterPid *  pid,
GF_FilterPacket *  pck_source,
u8 **  data,
Bool  dangling_packet,
GF_FilterPacket *  cached_pck 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pck_new_clone_internal()

static GF_FilterPacket* gf_filter_pck_new_clone_internal ( GF_FilterPid *  pid,
GF_FilterPacket *  pck_source,
u8 **  data,
Bool  force_copy,
Bool  dangling_packet,
GF_FilterPacket *  cached_pck 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pck_new_shared_internal()

GF_EXPORT GF_FilterPacket* gf_filter_pck_new_shared_internal ( GF_FilterPid *  pid,
const u8 data,
u32  data_size,
gf_fsess_packet_destructor  destruct,
Bool  intern_pck 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_packet_destroy()

void gf_filter_packet_destroy ( GF_FilterPacket *  pck)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_aggregate_packets()

Bool gf_filter_aggregate_packets ( GF_FilterPidInst *  dst)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pck_send_internal()

GF_Err gf_filter_pck_send_internal ( GF_FilterPacket *  pck,
Bool  from_filter 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_filter_pck_set_property_full()

static GF_Err gf_filter_pck_set_property_full ( GF_FilterPacket *  pck,
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:

◆ pck_check_prop()

static GFINLINE const GF_PropertyValue* pck_check_prop ( GF_FilterPacket *  pck,
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: