Main Page | Modules | Data Structures | Data Fields | Related Pages | Examples

Teletext IDL packet demultiplexer
[Low Level Decoding]

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 _vbi_idl_demux vbi_idl_demux
 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)

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).

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 on Mon Jun 9 21:44:14 2008 for ZVBI Library by doxygen 1.3.5