Data Fields | |
uint8_t | pes_buffer [ALIGN(6+65536)] |
uint8_t | ts_buffer [ALIGN(TS_SYNC_SEARCH_LOOKAHEAD)] |
vbi_sliced | sliced [64] |
struct wrap | pes_wrap |
struct wrap | ts_wrap |
struct frame | frame |
int64_t | frame_pts |
int64_t | packet_pts |
vbi_bool | new_frame |
vbi_bool | ts_in_sync |
const uint8_t* | ts_frame_bp |
unsigned int | ts_frame_todo |
uint8_t* | ts_pes_bp |
unsigned int | ts_pes_todo |
int | ts_continuity |
unsigned int | ts_pid |
demux_packet_fn* | demux_packet |
vbi_dvb_demux_cb* | callback |
void* | user_data |
For internal use only.
|
PES wrap-around buffer. Must hold one PES packet, at most 6 + 65535 bytes (start_code[24], stream_id[8], PES_packet_length[16], max. PES_packet_length). |
|
TS wrap-around buffer. Must hold one TS packet for sync_byte search (188 bytes), plus 9 bytes so we can safely examine the header of the contained PES packet. |
|
Output buffer for vbi_dvb_demux_demux(). |
|
Wrap-around state. |
|
Data unit demux state. |
|
PTS of current frame. |
|
PTS of current PES packet. |
|
A new frame commences in the current PES packet. We remember this for the next call and return, cannot reset immediately due to the coroutine design. |
|
The TS demuxer synchonized in the last iteration. The next incomming byte should be a sync_byte. |
|
Data units to be extracted from the pes_buffer. |
|
Payload to be copied from TS to pes_buffer. |
|
Next expected transport_packet continuity_counter. Value may be greater than 15, so you must compare modulo 16. -1 if unknown. |
|
PID of VBI data to be filtered out of a TS. |
|
demux_pes_packet() or demux_ts_packet(). |
|
For vbi_dvb_demux_demux(). |