3.1. Demux Data Types¶
3.1.1. Output for the demux¶
- 
dmx_output¶
| ID | Description | 
|---|---|
| DMX_OUT_DECODER | Streaming directly to decoder. | 
| DMX_OUT_TAP | Output going to a memory buffer (to be retrieved via the read command). Delivers the stream output to the demux device on which the ioctl is called. | 
| DMX_OUT_TS_TAP | Output multiplexed into a new TS (to be retrieved by reading from
the logical DVR device). Routes output to the logical DVR device /dev/dvb/adapter?/dvr?, which delivers a TS multiplexed from
all filters for whichDMX_OUT_TS_TAPwas specified. | 
| DMX_OUT_TSDEMUX_TAP | Like DMX_OUT_TS_TAP but retrieved from the DMX device. | 
3.1.2. dmx_input_t¶
- 
dmx_input¶
typedef enum
{
    DMX_IN_FRONTEND, /* Input from a front-end device.  */
    DMX_IN_DVR       /* Input from the logical DVR device.  */
} dmx_input_t;
3.1.3. dmx_pes_type_t¶
- 
dmx_pes_type¶
typedef enum
{
    DMX_PES_AUDIO0,
    DMX_PES_VIDEO0,
    DMX_PES_TELETEXT0,
    DMX_PES_SUBTITLE0,
    DMX_PES_PCR0,
    DMX_PES_AUDIO1,
    DMX_PES_VIDEO1,
    DMX_PES_TELETEXT1,
    DMX_PES_SUBTITLE1,
    DMX_PES_PCR1,
    DMX_PES_AUDIO2,
    DMX_PES_VIDEO2,
    DMX_PES_TELETEXT2,
    DMX_PES_SUBTITLE2,
    DMX_PES_PCR2,
    DMX_PES_AUDIO3,
    DMX_PES_VIDEO3,
    DMX_PES_TELETEXT3,
    DMX_PES_SUBTITLE3,
    DMX_PES_PCR3,
    DMX_PES_OTHER
} dmx_pes_type_t;
3.1.4. struct dmx_filter¶
- 
dmx_filter¶
 typedef struct dmx_filter
{
    __u8  filter[DMX_FILTER_SIZE];
    __u8  mask[DMX_FILTER_SIZE];
    __u8  mode[DMX_FILTER_SIZE];
} dmx_filter_t;
- 
dmx_sct_filter_params¶
3.1.5. struct dmx_sct_filter_params¶
struct dmx_sct_filter_params
{
    __u16          pid;
    dmx_filter_t   filter;
    __u32          timeout;
    __u32          flags;
#define DMX_CHECK_CRC       1
#define DMX_ONESHOT         2
#define DMX_IMMEDIATE_START 4
#define DMX_KERNEL_CLIENT   0x8000
};
3.1.6. struct dmx_pes_filter_params¶
- 
dmx_pes_filter_params¶
struct dmx_pes_filter_params
{
    __u16          pid;
    dmx_input_t    input;
    dmx_output_t   output;
    dmx_pes_type_t pes_type;
    __u32          flags;
};
3.1.7. struct dmx_event¶
- 
dmx_event¶
struct dmx_event
{
    dmx_event_t          event;
    time_t               timeStamp;
    union
    {
        dmx_scrambling_status_t scrambling;
    } u;
};
3.1.8. struct dmx_stc¶
- 
dmx_stc¶
struct dmx_stc {
    unsigned int num;   /* input : which STC? 0..N */
    unsigned int base;  /* output: divisor for stc to get 90 kHz clock */
    __u64 stc;      /* output: stc in 'base'*90 kHz units */
};