|
vdr-plugin-softhddevice-drm-gles 1.4.0
|
Base class for stream reassembly buffers. More...
#include <pes.h>

Public Member Functions | |
| virtual void | Push (const uint8_t *data, int size, int64_t pts) |
| virtual AVPacket * | PopAvPacket ()=0 |
| bool | IsEmpty () |
| size_t | GetSize () |
| void | Reset () |
| Reset the reassembly buffer. More... | |
| AVCodecID | GetCodec () |
Protected Member Functions | |
| cReassemblyBuffer (const char *identifier) | |
| AVPacket * | PopAvPacket (int) |
| Pop an AVPacket from the reassembly buffer. More... | |
Protected Attributes | |
| AVCodecID | m_codec = AV_CODEC_ID_NONE |
| detected codec ID More... | |
| cPtsTrackingBuffer | m_buffer |
| fragmentation buffer More... | |
| int64_t | m_lastPoppedPts = AV_NOPTS_VALUE |
| PTS of the last popped AVPacket. More... | |
Base class for stream reassembly buffers.
Reassembles fragmented elementary streams into complete AVPackets. Handles codec detection and PTS tracking across fragments.
|
inlineprotected |
|
inline |
Definition at line 128 of file pes.h.
References m_codec.
Referenced by cSoftHdDevice::PlayAudio(), cSoftHdDevice::PlayVideoInternal(), and TEST_CASE().
|
inline |
Definition at line 126 of file pes.h.
References cPtsTrackingBuffer::GetSize(), and m_buffer.
Referenced by TEST_CASE().
|
inline |
Definition at line 125 of file pes.h.
References cPtsTrackingBuffer::GetSize(), and m_buffer.
Referenced by cSoftHdDevice::PlayVideoInternal().
|
pure virtual |
Implemented in cReassemblyBufferVideo, and cReassemblyBufferAudio.
Referenced by cReassemblyBufferVideo::PopAvPacket(), and cReassemblyBufferAudio::PopAvPacket().
|
protected |
Pop an AVPacket from the reassembly buffer.
Creates an AVPacket containing the specified amount of data from the buffer.
| size | Number of bytes to pop from the buffer |
Definition at line 364 of file pes.cpp.
References AV_NOPTS_VALUE, cPtsTrackingBuffer::Erase(), cPtsTrackingBuffer::GetPts(), LOGFATAL, m_buffer, m_lastPoppedPts, and cPtsTrackingBuffer::Peek().
|
inlinevirtual |
Definition at line 123 of file pes.h.
References m_buffer, and cPtsTrackingBuffer::Push().
Referenced by cSoftHdDevice::PlayAudio(), cSoftHdDevice::PlayVideoInternal(), and TEST_CASE().
| void cReassemblyBuffer::Reset | ( | ) |
Reset the reassembly buffer.
Clears all buffered data, PTS tracking, and resets codec detection state.
Definition at line 629 of file pes.cpp.
References AV_NOPTS_VALUE, m_buffer, m_codec, m_lastPoppedPts, and cPtsTrackingBuffer::Reset().
Referenced by cSoftHdDevice::Clear(), cSoftHdDevice::ClearAudio(), cSoftHdDevice::DelPip(), cSoftHdDevice::OnEnteringState(), cSoftHdDevice::PlayAudio(), and cSoftHdDevice::PlayVideoInternal().
|
protected |
fragmentation buffer
Definition at line 133 of file pes.h.
Referenced by cReassemblyBufferAudio::FindTwoConsecutiveFramesWithSameSyncWord(), GetSize(), IsEmpty(), cReassemblyBufferVideo::PopAvPacket(), cReassemblyBufferAudio::PopAvPacket(), PopAvPacket(), Push(), Reset(), and cReassemblyBufferAudio::TruncateBufferUntilFirstValidData().
|
protected |
detected codec ID
Definition at line 132 of file pes.h.
Referenced by GetCodec(), cReassemblyBufferVideo::ParseCodecHeader(), cReassemblyBufferAudio::PopAvPacket(), and Reset().
|
protected |
PTS of the last popped AVPacket.
Definition at line 134 of file pes.h.
Referenced by PopAvPacket(), and Reset().