02.12.2012 Views

LINUX DVB API Version 3 - Linux TV.org

LINUX DVB API Version 3 - Linux TV.org

LINUX DVB API Version 3 - Linux TV.org

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

28 <strong>DVB</strong> DEMUX DEVICE<br />

3.2.8 DMX SET PES FILTER<br />

DESCRIPTION<br />

This ioctl call sets up a PES filter according to the parameters provided. By a<br />

PES filter is meant a filter that is based just on the packet identifier (PID), i.e.<br />

no PES header or payload filtering capability is supported.<br />

The transport stream destination for the filtered output may be set. Also the<br />

PES type may be stated in order to be able to e.g. direct a video stream directly<br />

to the video decoder. Finally there is a flag field where it is possible to state<br />

whether the filtering operation should be started immediately (without waiting<br />

for a DMX START ioctl call). If a filter was previously set-up, this filter will<br />

be cancelled, and the receive buffer will be flushed.<br />

SYNOPSIS<br />

int ioctl( int fd, int request = DMX SET PES FILTER,<br />

struct dmx pes filter params *params);<br />

PARAMETERS<br />

int fd File descriptor returned by a previous call to open().<br />

int request Equals DMX SET PES FILTER for this command.<br />

struct<br />

Pointer to structure containing filter parameters.<br />

dmx pes filter params<br />

*params<br />

ERRORS<br />

EBADF fd is not a valid file descriptor.<br />

EINVAL Invalid argument.<br />

EBUSY This error code indicates that there are conflicting requests.<br />

There are active filters filtering data from another<br />

input source. Make sure that these filters are stopped before<br />

starting this filter.<br />

3.2.9 DMX SET BUFFER SIZE<br />

DESCRIPTION<br />

This ioctl call is used to set the size of the circular buffer used for filtered data.<br />

The default size is two maximum sized sections, i.e. if this function is not<br />

called a buffer size of 2 * 4096 bytes will be used.<br />

SYNOPSIS<br />

int ioctl( int fd, int request = DMX SET BUFFER SIZE,<br />

unsigned long size);<br />

PARAMETERS<br />

int fd File descriptor returned by a previous call to open().<br />

int request Equals DMX SET BUFFER SIZE for this command.<br />

unsigned long size Size of circular buffer.<br />

ERRORS<br />

EBADF fd is not a valid file descriptor.<br />

ENOMEM The driver was not able to allocate a buffer of the requested<br />

size.<br />

28

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!