vdr-plugin-softhddevice-drm-gles 1.6.2
cReassemblyBufferAudio Class Reference

Audio Stream Reassembly Buffer. More...

#include <pes.h>

Public Member Functions

 cReassemblyBufferAudio (void)
 
AVPacketPopAvPacket (void) override
 Pop an audio AVPacket from the reassembly buffer.
 
AVCodecID TruncateBufferUntilFirstValidData (void)
 Truncate buffer until the first valid audio frame.
 
SyncWordInfo FindSyncWord (const uint8_t *, int)
 Find the first audio sync word in data.
 
AVCodecID DetectCodecFromSyncWord (const uint8_t *, int)
 Detect audio codec from sync word pattern.
 
int GetFrameSizeForCodec (AVCodecID, const uint8_t *)
 Get the frame size for a given codec and frame header.
 
- Public Member Functions inherited from cReassemblyBuffer
virtual void Push (const uint8_t *data, int size, int64_t pts)
 
bool IsEmpty (void)
 
size_t GetSize (void)
 
void Reset (void)
 Reset the reassembly buffer.
 
AVCodecID GetCodec (void)
 

Private Member Functions

SyncWordInfo FindTwoConsecutiveFramesWithSameSyncWord ()
 Find two consecutive audio frames with the same sync word.
 

Private Attributes

bool m_ptsInvalid = false
 flag indicating if PTS is invalid for current buffer, because it was truncated
 

Static Private Attributes

static constexpr int MAX_HEADER_SIZE = 6
 

Additional Inherited Members

- Protected Member Functions inherited from cReassemblyBuffer
 cReassemblyBuffer (const char *identifier)
 
AVPacketPopAvPacket (int)
 Pop an AVPacket from the reassembly buffer.
 
- Protected Attributes inherited from cReassemblyBuffer
AVCodecID m_codec = AV_CODEC_ID_NONE
 detected codec ID
 
cPtsTrackingBuffer m_buffer
 fragmentation buffer
 
int64_t m_lastPoppedPts = AV_NOPTS_VALUE
 PTS of the last popped AVPacket.
 

Detailed Description

Audio Stream Reassembly Buffer.

Reassembles audio elementary streams by detecting sync words and validating frame headers. Supports MP2, AAC (LATM/ADTS), AC3, and E-AC3 codecs.

Definition at line 166 of file pes.h.

Constructor & Destructor Documentation

◆ cReassemblyBufferAudio()

cReassemblyBufferAudio::cReassemblyBufferAudio ( void  )
inline

Definition at line 168 of file pes.h.

Member Data Documentation

◆ m_ptsInvalid

bool cReassemblyBufferAudio::m_ptsInvalid = false
private

flag indicating if PTS is invalid for current buffer, because it was truncated

Definition at line 177 of file pes.h.

Referenced by PopAvPacket(), and TruncateBufferUntilFirstValidData().

◆ MAX_HEADER_SIZE

constexpr int cReassemblyBufferAudio::MAX_HEADER_SIZE = 6
staticconstexprprivate

Definition at line 176 of file pes.h.

Referenced by FindTwoConsecutiveFramesWithSameSyncWord().


The documentation for this class was generated from the following files: