Main Page   Modules   Data Structures   Data Fields   Related Pages   Examples  

Teletext IDL packet demultiplexer

Functions to decode data transmissions in Teletext Independent Data Line packets (EN 300 708 section 6). More...

Defines

#define VBI_IDL_DATA_LOST   (1 << 0)
#define VBI_IDL_DEPENDENT   (1 << 3)

Typedefs

typedef struct _vbi_idl_demux vbi_idl_demux
 IDL demultiplexer context. More...

typedef vbi_bool vbi_idl_demux_cb (vbi_idl_demux *dx, const uint8_t *buffer, unsigned int n_bytes, unsigned int flags, void *user_data)

Functions

void vbi_idl_demux_reset (vbi_idl_demux *dx) _vbi_nonnull((1))
vbi_bool vbi_idl_demux_feed (vbi_idl_demux *dx, const uint8_t buffer[42])
vbi_bool vbi_idl_demux_feed_frame (vbi_idl_demux *dx, const vbi_sliced *sliced, unsigned int n_lines)
void vbi_idl_demux_delete (vbi_idl_demux *dx)
vbi_idl_demuxvbi_idl_a_demux_new (unsigned int channel, unsigned int address, vbi_idl_demux_cb *callback, void *user_data)

Detailed Description

Functions to decode data transmissions in Teletext Independent Data Line packets (EN 300 708 section 6).

@name vbi_idl_demux_cb flags


Define Documentation

#define VBI_IDL_DATA_LOST   (1 << 0)
 

Data was lost (not received or uncorrectable) between the current and previous vbi_idl_demux_feed() call.

#define VBI_IDL_DEPENDENT   (1 << 3)
 

IDL Format A flag (EN 300 708 section 6.5.2): The data may require the use of data in other channels or with other service packet addresses as defined by the application.


Typedef Documentation

typedef struct _vbi_idl_demux vbi_idl_demux
 

IDL demultiplexer context.

The contents of this structure are private.

Call vbi_idl_demux_new() to allocate an IDL demultiplexer context.

typedef vbi_bool vbi_idl_demux_cb(vbi_idl_demux *dx, const uint8_t *buffer, unsigned int n_bytes, unsigned int flags, void *user_data)
 

Parameters:
dx   IDL demultiplexer returned by vbi_idl_a_demux_new() and given to vbi_idl_demux_feed().
buffer   Pointer to received user data.
n_bytes   Number of bytes in the buffer. Can be 0 if the decoded packet did not contain user data.
flags   VBI_IDL_DATA_LOST, VBI_IDL_DEPENDENT.
user_data   User pointer passed to vbi_idl_demux_new().

The vbi_idl_demux_feed() function calls a function of this type after successfully decoding an IDL packet.

Returns:
FALSE to abort vbi_idl_demux_feed() and return FALSE.


Function Documentation

void vbi_idl_demux_reset ( vbi_idl_demux * dx )
 

Parameters:
dx   IDL demultiplexer allocated with vbi_idl_a_demux_new().

Resets the IDL demux context, useful for example after a channel change.

Since:
0.2.14

vbi_bool vbi_idl_demux_feed ( vbi_idl_demux * dx,
const uint8_t buffer[42] )
 

Parameters:
dx   IDL demultiplexer allocated with vbi_idl_a_demux_new().
buffer   Teletext packet (last 42 bytes, i. e. without clock run-in and framing code), as in struct vbi_sliced.

This function takes a stream of Teletext packets, filters out packets of the desired data channel and address and calls the output function given to vbi_idl_a_demux_new() when new user data is available.

Returns:
FALSE if the packet contained incorrectable errors.

Since:
0.2.14

vbi_bool vbi_idl_demux_feed_frame ( vbi_idl_demux * dx,
const vbi_sliced * sliced,
unsigned int n_lines )
 

Parameters:
dx   IDL demultiplexer allocated with vbi_idl_a_demux_new().
sliced   Sliced VBI data.
n_lines   Number of lines in the sliced array.

This function works like vbi_idl_demux_feed() but operates on sliced VBI data and filters out VBI_SLICED_TELETEXT_B_625.

Returns:
FALSE if any Teletext lines contained incorrectable errors.

Since:
0.2.26

void vbi_idl_demux_delete ( vbi_idl_demux * dx )
 

Parameters:
dx   IDL demultiplexer allocated with vbi_idl_a_demux_new(), can be NULL.

Frees all resources associated with dx.

Since:
0.2.14

vbi_idl_demux* vbi_idl_a_demux_new ( unsigned int channel,
unsigned int address,
vbi_idl_demux_cb * callback,
void * user_data )
 

Parameters:
channel   Filter out packets of this channel.
address   Filter out packets with this service data address.
callback   Function to be called by vbi_idl_demux_feed() when new data is available.
user_data   User pointer passed through to callback function.

Allocates a new Independent Data Line format A (EN 300 708 section 6.5) demultiplexer.

Returns:
Pointer to newly allocated IDL demultiplexer which must be freed with vbi_idl_demux_delete() when done. NULL on failure (out of memory).

Since:
0.2.14


Generated at Sun Sep 14 21:21:05 2008 for ZVBI Library by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001