Data Structures | |
struct | PIDFilter_s |
Structure representing a PID Filter that belongs to a TS Filter. More... | |
Defines | |
#define | PIDFilterFilterPacketSet(_pidfilter, _callback, _arg) do{ (_pidfilter)->fpArg = _arg; (_pidfilter)->filterPacket = _callback; } while(0) |
Sets the filterpacket callback and user argument. | |
#define | PIDFilterProcessPacketSet(_pidfilter, _callback, _arg) do{ (_pidfilter)->ppArg = _arg; (_pidfilter)->processPacket = _callback; } while(0) |
Sets the processpacket callback and user argument. | |
#define | PIDFilterOutputPacketSet(_pidfilter, _callback, _arg) do{ (_pidfilter)->opArg = _arg; (_pidfilter)->outputPacket = _callback; } while(0) |
Sets the outputpacket callback and user argument. | |
#define | PIDFilterTSStructureChangeSet(_pidfilter, _callback, _arg) do{ (_pidfilter)->tscArg = _arg; (_pidfilter)->tsStructureChanged = _callback; } while(0) |
Sets the tsstructurechanged callback and user argument. | |
#define | PIDFilterMultiplexChangeSet(_pidfilter, _callback, _arg) do{ (_pidfilter)->mcArg = _arg; (_pidfilter)->multiplexChanged = _callback; } while(0) |
Sets the multiplexchanged callback and user argument. | |
Typedefs | |
typedef void(* | MultiplexChanged )(struct PIDFilter_s *pidfilter, void *userarg, Multiplex_t *multiplex) |
Callback used to signal that the transport stream has changed to a new multiplex. | |
typedef void(* | TSStructureChanged )(struct PIDFilter_s *pidfilter, void *userarg) |
Callback used to signal that a change has occured to the underlying structure of the transport stream. | |
typedef int(* | PacketFilter )(struct PIDFilter_s *pidfilter, void *userarg, uint16_t pid, TSPacket_t *packet) |
Callback used to determine if a packet should be passed to the packet processor or output callbacks. | |
typedef TSPacket_t *(* | PacketProcessor )(struct PIDFilter_s *pidfilter, void *userarg, TSPacket_t *packet) |
Callback used to process a packet, this is intended to be a function which needs more time to process a packet than just a simple filter. | |
typedef void(* | PacketOutput )(struct PIDFilter_s *pidfilter, void *userarg, TSPacket_t *packet) |
Callback used to send a packet to an output destination. | |
typedef struct PIDFilter_s | PIDFilter_t |
Functions | |
PIDFilter_t * | PIDFilterAllocate (TSFilter_t *tsfilter) |
Allocate a PID filter for the specified TSFilter_t instance. | |
void | PIDFilterFree (PIDFilter_t *pidfilter) |
Free a PIDFilter_t instance. | |
PIDFilter_t * | PIDFilterSetup (TSFilter_t *tsfilter, PacketFilter filterpacket, void *fparg, PacketProcessor processpacket, void *pparg, PacketOutput outputpacket, void *oparg) |
Creates and initialise a new PIDFIlter_t instance. | |
Variables | |
char | PSISIPIDFilterType [] |
PIDFilter type that processes PSI/SI data. |
#define PIDFilterFilterPacketSet | ( | _pidfilter, | |||
_callback, | |||||
_arg | ) | do{ (_pidfilter)->fpArg = _arg; (_pidfilter)->filterPacket = _callback; } while(0) |
Sets the filterpacket callback and user argument.
_pidfilter | The PIDFilter_t instance to set. | |
_callback | The function to set as the filterpacket callback. | |
_arg | The user argument to pass to the callback. |
#define PIDFilterMultiplexChangeSet | ( | _pidfilter, | |||
_callback, | |||||
_arg | ) | do{ (_pidfilter)->mcArg = _arg; (_pidfilter)->multiplexChanged = _callback; } while(0) |
Sets the multiplexchanged callback and user argument.
_pidfilter | The PIDFilter_t instance to set. | |
_callback | The function to set as the multiplexchanged callback. | |
_arg | The user argument to pass to the callback. |
#define PIDFilterOutputPacketSet | ( | _pidfilter, | |||
_callback, | |||||
_arg | ) | do{ (_pidfilter)->opArg = _arg; (_pidfilter)->outputPacket = _callback; } while(0) |
Sets the outputpacket callback and user argument.
_pidfilter | The PIDFilter_t instance to set. | |
_callback | The function to set as the outputpacket callback. | |
_arg | The user argument to pass to the callback. |
#define PIDFilterProcessPacketSet | ( | _pidfilter, | |||
_callback, | |||||
_arg | ) | do{ (_pidfilter)->ppArg = _arg; (_pidfilter)->processPacket = _callback; } while(0) |
Sets the processpacket callback and user argument.
_pidfilter | The PIDFilter_t instance to set. | |
_callback | The function to set as the processpacket callback. | |
_arg | The user argument to pass to the callback. |
#define PIDFilterTSStructureChangeSet | ( | _pidfilter, | |||
_callback, | |||||
_arg | ) | do{ (_pidfilter)->tscArg = _arg; (_pidfilter)->tsStructureChanged = _callback; } while(0) |
Sets the tsstructurechanged callback and user argument.
_pidfilter | The PIDFilter_t instance to set. | |
_callback | The function to set as the tsstructurechanged callback. | |
_arg | The user argument to pass to the callback. |
typedef void(* MultiplexChanged)(struct PIDFilter_s *pidfilter, void *userarg, Multiplex_t *multiplex) |
Callback used to signal that the transport stream has changed to a new multiplex.
pidfilter | The PID Filter this callback belongs to. | |
userarg | A user defined argument. |
typedef int(* PacketFilter)(struct PIDFilter_s *pidfilter, void *userarg, uint16_t pid, TSPacket_t *packet) |
Callback used to determine if a packet should be passed to the packet processor or output callbacks.
pidFilter | The PID Filter this callback belongs to. | |
userarg | A user defined argument. | |
pid | PID of the packet in question. | |
packet | The packet in question. |
typedef void(* PacketOutput)(struct PIDFilter_s *pidfilter, void *userarg, TSPacket_t *packet) |
Callback used to send a packet to an output destination.
pidFilter | The PID Filter this callback belongs to. | |
userarg | A user defined argument. | |
packet | The packet to output. |
typedef TSPacket_t*(* PacketProcessor)(struct PIDFilter_s *pidfilter, void *userarg, TSPacket_t *packet) |
Callback used to process a packet, this is intended to be a function which needs more time to process a packet than just a simple filter.
pidFilter | The PID Filter this callback belongs to. | |
userarg | A user defined argument. | |
packet | The packet in question. |
typedef void(* TSStructureChanged)(struct PIDFilter_s *pidfilter, void *userarg) |
Callback used to signal that a change has occured to the underlying structure of the transport stream.
pidfilter | The PID Filter this callback belongs to. | |
userarg | A user defined argument. |
PIDFilter_t* PIDFilterAllocate | ( | TSFilter_t * | tsfilter | ) |
Allocate a PID filter for the specified TSFilter_t instance.
tsfilter | The TSFilter_t instance to allocate the PID filter for. |
void PIDFilterFree | ( | PIDFilter_t * | pidfilter | ) |
Free a PIDFilter_t instance.
pidfilter | The instance to release. |
PIDFilter_t* PIDFilterSetup | ( | TSFilter_t * | tsfilter, | |
PacketFilter | filterpacket, | |||
void * | fparg, | |||
PacketProcessor | processpacket, | |||
void * | pparg, | |||
PacketOutput | outputpacket, | |||
void * | oparg | |||
) |
Creates and initialise a new PIDFIlter_t instance.
tsfilter | The TSFilter_t instance to allocate the PID filter for. | |
filterpacket | The callback to use to filter packets. | |
fparg | The user argument to pass to the filter packet callback. | |
processpacket | The callback to use to proces packets. | |
pparg | The user argument ot pass to the process packet callback. | |
outputpacket | The callback to use to output packets. | |
oparg | The user argument to pass to the output packet callback. |