![]() |
DVBCore
22.3.0
Open Source DVB Engine
|
Header file - Function prototypes for Demux control. More...
Go to the source code of this file.
Classes | |
struct | S_DMX_PID_INFO |
Macros | |
#define | MAX_HW_SECT_FILT_LEN 8 |
#define | STB_DMX_PID_FILTER_INVALID 0xffff |
#define | STB_DMX_SECT_FILTER_INVALID 0xffff |
#define | STB_TPID_CBUFF_PRIORITY 10 |
Typedefs | |
typedef void(* | FILTER_CALLBACK) (U8BIT path, U16BIT bytes, U16BIT pfilt_id) |
Functions | |
void | STB_DMXInitialise (U8BIT paths, BOOLEAN inc_pes_collection) |
Initialises the demux / programmable transport interface. More... | |
U16BIT | STB_DMXGetCapabilities (U8BIT path) |
Returns the capability flags of the given demux. More... | |
U8BIT | STB_DMXGetMaxSectionFilters (void) |
Returns the maximum number of section filters available on this hw. More... | |
void | STB_DMXSetDemuxSource (U8BIT path, E_STB_DMX_DEMUX_SOURCE source, U8BIT param) |
Configures the source of the demux. More... | |
void | STB_DMXGetDemuxSource (U8BIT path, E_STB_DMX_DEMUX_SOURCE *source, U8BIT *param) |
Gets the current source of a given demux. More... | |
void | STB_DMXReadTextPES (U8BIT path, U8BIT **buffer, U32BIT *num_bytes) |
Reads Teletext PES data from the demux. More... | |
void | STB_DMXChangeDecodePIDs (U8BIT path, U16BIT pcr_pid, U16BIT video_pid, U16BIT audio_pid, U16BIT text_pid, U16BIT data_pid, U16BIT ad_pid) |
Changes the packet IDs for the PCR Video, Audio, Text and Data. More... | |
void | STB_DMXChangeTextPID (U8BIT path, U16BIT text_pid) |
Changes just the teletext PID. More... | |
U16BIT | STB_DMXGrabPIDFilter (U8BIT path, U16BIT pid, FILTER_CALLBACK func) |
Get a New PID Filter & Setup Associated Buffer and Callback Function Address. More... | |
BOOLEAN | STB_DMXCopyPIDFilterSect (U8BIT path, U8BIT *buffer, U16BIT size, U16BIT pfilt_id) |
Copies a filtered section to caller's buffer. More... | |
void | STB_DMXSkipPIDFilterSect (U8BIT path, U16BIT pfilt_id) |
Skips (discards) a section in the PID filter buffer. More... | |
U16BIT | STB_DMXGrabSectFilter (U8BIT path, U16BIT pfilt_id) |
Allocated a new section filter on the specified PID filter. More... | |
void | STB_DMXSetupSectFilter (U8BIT path, U16BIT sfilt_id, U8BIT *match_ptr, U8BIT *mask_ptr, U8BIT not_equal_byte_index, BOOLEAN crc) |
Configures a match and mask for a specified section filter. More... | |
void | STB_DMXStartPIDFilter (U8BIT path, U16BIT pfilt_id) |
Start Specified PID Filter Collecting Data. More... | |
void | STB_DMXStopPIDFilter (U8BIT path, U16BIT pfilt_id) |
Stop Specified PID Filter Collecting Data. More... | |
void | STB_DMXReleasePIDFilter (U8BIT path, U16BIT pfilt_id) |
Releases a previously allocated PID filter. More... | |
void | STB_DMXReleaseSectFilter (U8BIT path, U16BIT sfilt_id) |
Releases a previously allocated section filter. More... | |
BOOLEAN | STB_DMXGetDescramblerKey (U8BIT path, E_STB_DMX_DESC_TRACK track) |
Acquires a descrambler for the specified track on this path. More... | |
BOOLEAN | STB_DMXFreeDescramblerKey (U8BIT path, E_STB_DMX_DESC_TRACK track) |
Frees the descrambler for the specified track on this path. More... | |
BOOLEAN | STB_DMXSetDescramblerKeyData (U8BIT path, E_STB_DMX_DESC_TRACK track, E_STB_DMX_DESC_KEY_PARITY parity, U8BIT *data) |
Set the descrambler key data for the specified track on this path. More... | |
BOOLEAN | STB_DMXGetKeyUsage (U8BIT path, E_STB_DMX_DESC_TRACK track, E_STB_DMX_KEY_USAGE *key_usage) |
Get the descrambler key usage for the specified track on this path as set by STB_DMXSetKeyUsage. More... | |
BOOLEAN | STB_DMXSetKeyUsage (U8BIT path, E_STB_DMX_DESC_TRACK track, E_STB_DMX_KEY_USAGE key_usage) |
Set the descrambler key usage for the specified track on this path. More... | |
BOOLEAN | STB_DMXGetDescramblerType (U8BIT path, E_STB_DMX_DESC_TRACK track, E_STB_DMX_DESC_TYPE *type) |
Get the descrambler type for the specified track on this path, as set by STB_DMXSetDescramblerType. More... | |
BOOLEAN | STB_DMXSetDescramblerType (U8BIT path, E_STB_DMX_DESC_TRACK track, E_STB_DMX_DESC_TYPE type) |
Set the descrambler type for the specified track on this path. More... | |
void | STB_DMXWriteDemux (U8BIT path, U8BIT *data, U32BIT size) |
Writes data to the demux from memory. More... | |
void | STB_DMXSetServicePids (U8BIT path, U16BIT num_pids, S_DMX_PID_INFO *pid_array) |
Sets the array of PIDs that make up a service and would be included in a single program transport stream (SPTS) when streaming. This function will be called with an updated list if the PIDs change, and with num_pids=0 when streaming is to be stopped. More... | |
Header file - Function prototypes for Demux control.
void STB_DMXChangeDecodePIDs | ( | U8BIT | path, |
U16BIT | pcr_pid, | ||
U16BIT | video_pid, | ||
U16BIT | audio_pid, | ||
U16BIT | text_pid, | ||
U16BIT | data_pid, | ||
U16BIT | ad_pid | ||
) |
Changes the packet IDs for the PCR Video, Audio, Text and Data.
path | The demux path to be configured |
pcr_pid | The PID to use for the Program Clock Reference |
video_pid | The PID to use for the Video PES |
audio_pid | The PID to use for the Audio PES |
text_pid | The PID to use for the Teletext data |
data_pid | The PID to use for the data |
void STB_DMXChangeTextPID | ( | U8BIT | path, |
U16BIT | text_pid | ||
) |
Changes just the teletext PID.
path | The demux path to configure |
text_pid | The PID to use for the teletext data |
BOOLEAN STB_DMXCopyPIDFilterSect | ( | U8BIT | path, |
U8BIT * | buffer, | ||
U16BIT | size, | ||
U16BIT | pfilt_id | ||
) |
Copies a filtered section to caller's buffer.
path | the demux path to use |
buffer | the caller's buffer |
size | the size of the caller's buffer |
pfilt_id | the handle of the PID filter to read from |
BOOLEAN STB_DMXFreeDescramblerKey | ( | U8BIT | path, |
E_STB_DMX_DESC_TRACK | track | ||
) |
Frees the descrambler for the specified track on this path.
path | the demux path for which the descrambler is freed |
track | enum representing audio, video or subtitles PES |
U16BIT STB_DMXGetCapabilities | ( | U8BIT | path | ) |
Returns the capability flags of the given demux.
path | - demux |
void STB_DMXGetDemuxSource | ( | U8BIT | path, |
E_STB_DMX_DEMUX_SOURCE * | source, | ||
U8BIT * | param | ||
) |
Gets the current source of a given demux.
path | the demux path to query |
source | the source of the demux |
param | the source specific parameter (e.g. tuner number) |
BOOLEAN STB_DMXGetDescramblerKey | ( | U8BIT | path, |
E_STB_DMX_DESC_TRACK | track | ||
) |
Acquires a descrambler for the specified track on this path.
path | the demux path for which the descrambler is acquired |
track | enum representing audio, video or subtitles PES |
BOOLEAN STB_DMXGetDescramblerType | ( | U8BIT | path, |
E_STB_DMX_DESC_TRACK | track, | ||
E_STB_DMX_DESC_TYPE * | type | ||
) |
Get the descrambler type for the specified track on this path, as set by STB_DMXSetDescramblerType.
path | the demux path that the descrambler type refers to |
type | descrambler type (DES, AES, etc...) |
BOOLEAN STB_DMXGetKeyUsage | ( | U8BIT | path, |
E_STB_DMX_DESC_TRACK | track, | ||
E_STB_DMX_KEY_USAGE * | key_usage | ||
) |
Get the descrambler key usage for the specified track on this path as set by STB_DMXSetKeyUsage.
path | the demux path that the descrambler key usage refers to |
track | enum representing audio, video or subtitles PES |
key_usage | whether the descrambler has been set to operate at PES level, transport level or all. |
U8BIT STB_DMXGetMaxSectionFilters | ( | void | ) |
Returns the maximum number of section filters available on this hw.
U16BIT STB_DMXGrabPIDFilter | ( | U8BIT | path, |
U16BIT | pid, | ||
FILTER_CALLBACK | func | ||
) |
Get a New PID Filter & Setup Associated Buffer and Callback Function Address.
path | Required Decode Path Number. |
pid | Required PID to Demux. |
func_ptr | User's Interrupt Procedure Function Address. |
U16BIT STB_DMXGrabSectFilter | ( | U8BIT | path, |
U16BIT | pfilt_id | ||
) |
Allocated a new section filter on the specified PID filter.
path | the demux path to use |
pfilt_id | the PID filter to assign the section filter to |
void STB_DMXInitialise | ( | U8BIT | paths, |
BOOLEAN | inc_pes_collection | ||
) |
Initialises the demux / programmable transport interface.
paths | Number of demux paths to be initialised |
inc_pes_collection | Not used |
void STB_DMXReadTextPES | ( | U8BIT | path, |
U8BIT ** | buffer, | ||
U32BIT * | num_bytes | ||
) |
Reads Teletext PES data from the demux.
path | the demux path to read |
buffer | pointer to PES data |
num_bytes | the number of bytes of data |
void STB_DMXReleasePIDFilter | ( | U8BIT | path, |
U16BIT | pfilt_id | ||
) |
Releases a previously allocated PID filter.
path | the demux path of the filter |
pfilt_id | the handle of the filter |
void STB_DMXReleaseSectFilter | ( | U8BIT | path, |
U16BIT | sfilt_id | ||
) |
Releases a previously allocated section filter.
path | the demux path of the filter |
sfilt_id | the handle of the section filter |
void STB_DMXSetDemuxSource | ( | U8BIT | path, |
E_STB_DMX_DEMUX_SOURCE | source, | ||
U8BIT | param | ||
) |
Configures the source of the demux.
path | the demux path to configure |
source | the source to use |
param | source specific parameters (e.g. tuner number) |
BOOLEAN STB_DMXSetDescramblerKeyData | ( | U8BIT | path, |
E_STB_DMX_DESC_TRACK | track, | ||
E_STB_DMX_DESC_KEY_PARITY | parity, | ||
U8BIT * | data | ||
) |
Set the descrambler key data for the specified track on this path.
path | the demux path for which the descrambler key data is set |
track | enum representing audio, video or subtitles PES |
parity | even or odd |
data | pointer to the key data, its length depends on the descrambler type (see STB_DMXSetDescramblerType) |
BOOLEAN STB_DMXSetDescramblerType | ( | U8BIT | path, |
E_STB_DMX_DESC_TRACK | track, | ||
E_STB_DMX_DESC_TYPE | type | ||
) |
Set the descrambler type for the specified track on this path.
path | the demux path that the descrambler type refers to |
type | descrambler type (DES, AES, etc...) |
BOOLEAN STB_DMXSetKeyUsage | ( | U8BIT | path, |
E_STB_DMX_DESC_TRACK | track, | ||
E_STB_DMX_KEY_USAGE | key_usage | ||
) |
Set the descrambler key usage for the specified track on this path.
path | the demux path that the descrambler key usage refers to |
track | enum representing audio, video or subtitles PES |
key_usage | whether the descrambler operates at PES level, transport level or all. |
void STB_DMXSetServicePids | ( | U8BIT | path, |
U16BIT | num_pids, | ||
S_DMX_PID_INFO * | pid_array | ||
) |
Sets the array of PIDs that make up a service and would be included in a single program transport stream (SPTS) when streaming. This function will be called with an updated list if the PIDs change, and with num_pids=0 when streaming is to be stopped.
path | demux path |
num_pids | number of PIDs in the array |
pid_array | array of PIDs to be included |
void STB_DMXSetupSectFilter | ( | U8BIT | path, |
U16BIT | sfilt_id, | ||
U8BIT * | match_ptr, | ||
U8BIT * | mask_ptr, | ||
U8BIT | not_equal_byte_index, | ||
BOOLEAN | crc | ||
) |
Configures a match and mask for a specified section filter.
path | the demux path of the section filter |
sfilt_id | the handle of the section filter |
match_ptr | pointer to the match bytes |
mask_ptr | pointer to the mask bytes |
not_equal_byte_index | the byte position for a not equal compare |
crc | TRUE to use CRC checking FALSE to ignore |
void STB_DMXSkipPIDFilterSect | ( | U8BIT | path, |
U16BIT | pfilt_id | ||
) |
Skips (discards) a section in the PID filter buffer.
path | the demux path of the filter |
pfilt_id | the PID filter handle |
void STB_DMXStartPIDFilter | ( | U8BIT | path, |
U16BIT | pfilt_id | ||
) |
Start Specified PID Filter Collecting Data.
path | Required Decode Path Number. |
pfilter_id | Required PID Filter Identifier. |
void STB_DMXStopPIDFilter | ( | U8BIT | path, |
U16BIT | pfilt_id | ||
) |
Stop Specified PID Filter Collecting Data.
path | Required Decode Path Number. |
pfilter_id | Required PID Filter Identifier. |
void STB_DMXWriteDemux | ( | U8BIT | path, |
U8BIT * | data, | ||
U32BIT | size | ||
) |
Writes data to the demux from memory.
path | the demux path to be written |
data | the data to be written |
size | the number of bytes to be written |