Typedefs | |
typedef _vbi_dvb_mux | vbi_dvb_mux |
DVB VBI multiplexer context. | |
typedef vbi_bool | vbi_dvb_mux_cb (vbi_dvb_mux *mx, void *user_data, const uint8_t *packet, unsigned int packet_size) |
Functions | |
vbi_bool | vbi_dvb_multiplex_sliced (uint8_t **packet, unsigned int *packet_left, const vbi_sliced **sliced, unsigned int *sliced_left, vbi_service_set service_mask, unsigned int data_identifier, vbi_bool stuffing) |
vbi_bool | vbi_dvb_multiplex_raw (uint8_t **packet, unsigned int *packet_left, const uint8_t **raw, unsigned int *raw_left, unsigned int data_identifier, vbi_videostd_set videostd_set, unsigned int line, unsigned int first_pixel_position, unsigned int n_pixels_total, vbi_bool stuffing) |
void | vbi_dvb_mux_reset (vbi_dvb_mux *mx) _vbi_nonnull((1)) |
vbi_bool | vbi_dvb_mux_cor (vbi_dvb_mux *mx, uint8_t **buffer, unsigned int *buffer_left, const vbi_sliced **sliced, unsigned int *sliced_lines, vbi_service_set service_mask, const uint8_t *raw, const vbi_sampling_par *sampling_par, int64_t pts) |
vbi_bool | vbi_dvb_mux_feed (vbi_dvb_mux *mx, const vbi_sliced *sliced, unsigned int sliced_lines, vbi_service_set service_mask, const uint8_t *raw, const vbi_sampling_par *sampling_par, int64_t pts) _vbi_nonnull((1)) |
unsigned int | vbi_dvb_mux_get_data_identifier (const vbi_dvb_mux *mx) _vbi_nonnull((1)) |
vbi_bool | vbi_dvb_mux_set_data_identifier (vbi_dvb_mux *mx, unsigned int data_identifier) _vbi_nonnull((1)) |
unsigned int | vbi_dvb_mux_get_min_pes_packet_size (vbi_dvb_mux *mx) _vbi_nonnull((1)) |
unsigned int | vbi_dvb_mux_get_max_pes_packet_size (vbi_dvb_mux *mx) _vbi_nonnull((1)) |
vbi_bool | vbi_dvb_mux_set_pes_packet_size (vbi_dvb_mux *mx, unsigned int min_size, unsigned int max_size) _vbi_nonnull((1)) |
void | vbi_dvb_mux_delete (vbi_dvb_mux *mx) |
vbi_dvb_mux * | vbi_dvb_pes_mux_new (vbi_dvb_mux_cb *callback, void *user_data) _vbi_alloc |
vbi_dvb_mux * | vbi_dvb_ts_mux_new (unsigned int pid, vbi_dvb_mux_cb *callback, void *user_data) _vbi_alloc |
These functions convert raw and/or sliced VBI data to a DVB Packetized Elementary Stream or Transport Stream as defined in EN 300 472 "Digital Video Broadcasting (DVB); Specification for conveying ITU-R System B Teletext in DVB bitstreams" and EN 301 775 "Digital Video Broadcasting (DVB); Specification for the carriage of Vertical Blanking Information (VBI) data in DVB bitstreams".
Note EN 300 468 "Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB systems" defines another method to transmit VPS data in DVB streams. Libzvbi does not provide functions to generate SI tables but the vbi_encode_dvb_pdc_descriptor() function is available to convert a VPS PIL to a PDC descriptor.
|
DVB VBI multiplexer context. The contents of this structure are private. Call vbi_dvb_pes_mux_new() or vbi_dvb_ts_mux_new() to allocate a DVB VBI multiplexer context. |
|
|
|
|
|
After a vbi_dvb_mux_reset() call the vbi_dvb_mux_cor() function will encode a new PES packet, discarding any data of the previous packet which has not been consumed by the application.
|
|
If the returned *buffer_left value is zero and the returned *sliced_left value is greater than zero another call will be necessary to convert the remaining data. After a vbi_dvb_mux_reset() call the vbi_dvb_mux_cor() function will encode a new PES packet, discarding any data of the previous packet which has not been consumed by the application.
|
|
|
|
|
|
The default data_identifier is 0x10.
|
|
|
|
|
|
The PES packet size must be a multiple of 184 bytes, in the range 184 to 65504 bytes inclusive, and this function will round min_size up and max_size down accordingly. If after rounding the maximum size is lower than the minimum, it will be set to the same value as the minimum size. The default minimum size is 184, the default maximum 65504 bytes. For compatibility with decoders compliant to the Teletext buffer model defined in EN 300 472 the maximum should not exceed 1472 bytes.
|
|
|
|
|
|
|