Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
CDVDDemuxUtils Class Reference

#include <DVDDemuxUtils.h>

Static Public Member Functions

static void FreeDemuxPacket (DemuxPacket *pPacket)
 
static DemuxPacketAllocateDemuxPacket (int iDataSize=0)
 
static DemuxPacketAllocateDemuxPacket (unsigned int iDataSize, unsigned int encryptedSubsampleCount)
 
static void StoreSideData (DemuxPacket *pkt, AVPacket *src)
 
static std::vector< ChapterFFmpegLoadChapters (std::span< AVChapter * > chapters)
 

Static Public Attributes

static constexpr std::chrono::milliseconds KEYFRAME_OFFSET_LIMIT {1000}
 

Member Function Documentation

◆ AllocateDemuxPacket() [1/2]

DemuxPacket * CDVDDemuxUtils::AllocateDemuxPacket ( int iDataSize = 0)
static

Required number of additionally allocated bytes at the end of the input bitstream for decoding. this is mainly needed because some optimized bitstream readers read 32 or 64 bit at once and could read over the end
Note, if the first 23 bits of the additional bytes are not 0 then damaged MPEG bitstreams could cause overread and segfault

◆ AllocateDemuxPacket() [2/2]

DemuxPacket * CDVDDemuxUtils::AllocateDemuxPacket ( unsigned int iDataSize,
unsigned int encryptedSubsampleCount )
static

◆ FreeDemuxPacket()

void CDVDDemuxUtils::FreeDemuxPacket ( DemuxPacket * pPacket)
static
Todo
: properly handle avpkt side_data. this works around our improper use of the side_data

◆ LoadChapters()

std::vector< ChapterFFmpeg > CDVDDemuxUtils::LoadChapters ( std::span< AVChapter * > chapters)
static

◆ StoreSideData()

void CDVDDemuxUtils::StoreSideData ( DemuxPacket * pkt,
AVPacket * src )
static
Todo
: properly handle avpkt side_data. this works around our improper use of the side_data

Member Data Documentation

◆ KEYFRAME_OFFSET_LIMIT

std::chrono::milliseconds CDVDDemuxUtils::KEYFRAME_OFFSET_LIMIT {1000}
staticconstexpr

How far in a first chapter may start and still count as starting at zero: longer than a keyframe interval, shorter than anything worth seeking to.


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