oa::VideoDemuxer

Video stream demuxer

Public Types

Public Methods

oa::Status oa::VideoDemuxer::close()
oa::U64 oa::VideoDemuxer::formatGeneration()
const Av1Config & oa::VideoDemuxer::getAv1Config()
const AvcConfig & oa::VideoDemuxer::getAvcConfig()
oa::U32 oa::VideoDemuxer::getCurrentSampleIndex()
const HvcConfig & oa::VideoDemuxer::getHvcConfig()
const VideoContainerInfo & oa::VideoDemuxer::getInfo()
const VideoDemuxerStats & oa::VideoDemuxer::getStats()
VideoProfile oa::VideoDemuxer::getVideoProfile()
const Vp9Config & oa::VideoDemuxer::getVp9Config()
bool oa::VideoDemuxer::isEos()
bool oa::VideoDemuxer::isLive()
bool oa::VideoDemuxer::isSeekable()
oa::Status oa::VideoDemuxer::readNextPacket(VideoPacket & outPacket)
oa::Result<oa::U64> oa::VideoDemuxer::samplePresentationTimestamp(oa::Usize inSampleIndex)
oa::Status oa::VideoDemuxer::seek(oa::U64 inTimestamp)

Static Public Methods

static oa::Result<VideoDemuxer> oa::VideoDemuxer::open(oa::StringView inUri)
static oa::Result<VideoDemuxer> oa::VideoDemuxer::open(oa::StringView inUri, const VideoDemuxerConfig & inConfig)
static oa::Result<VideoContainerInfo> oa::VideoDemuxer::probe(const char * inPath)

Public Data Members

av1_Av1Configfield
avc_AvcConfigfield
fragment_FragmentConfigfield
hvc_HvcConfigfield
info_VideoContainerInfofield
samples_Vectorfield
vp9_Vp9Configfield

Constructor & Destructor Documentation

oa::VideoDemuxer::VideoDemuxer()
No public source comment is attached to this declaration.
void oa::VideoDemuxer::~VideoDemuxer()
No public source comment is attached to this declaration.

Public Method Documentation

oa::Status oa::VideoDemuxer::close()
Explicit resource-release boundary. Reports local file close failures; pending packets are discarded and no container data is manufactured.

Returns

oa::Status

The declared return value.

oa::U64 oa::VideoDemuxer::formatGeneration()
No public source comment is attached to this declaration.

Returns

oa::U64

The declared return value.

const Av1Config & oa::VideoDemuxer::getAv1Config()
No public source comment is attached to this declaration.

Returns

const Av1Config &

The declared return value.

const AvcConfig & oa::VideoDemuxer::getAvcConfig()
Returns SPS+PPS concatenated as Annex-B (empty if not parsed). Caller prepends to the first IDR packet to bootstrap the decoder.

Returns

const AvcConfig &

The declared return value.

oa::U32 oa::VideoDemuxer::getCurrentSampleIndex()
index of the next sample readNextPacket() will read (0-based). After decoding sample N, this equals N+1. Used by Video for step-back.

Returns

oa::U32

The declared return value.

const HvcConfig & oa::VideoDemuxer::getHvcConfig()
No public source comment is attached to this declaration.

Returns

const HvcConfig &

The declared return value.

const VideoContainerInfo & oa::VideoDemuxer::getInfo()
get container info

Returns

const VideoContainerInfo &

The declared return value.

const VideoDemuxerStats & oa::VideoDemuxer::getStats()
No public source comment is attached to this declaration.

Returns

const VideoDemuxerStats &

The declared return value.

VideoProfile oa::VideoDemuxer::getVideoProfile()
get video profile for decoder creation

Returns

VideoProfile

The declared return value.

const Vp9Config & oa::VideoDemuxer::getVp9Config()
No public source comment is attached to this declaration.

Returns

const Vp9Config &

The declared return value.

bool oa::VideoDemuxer::isEos()
Check if end of stream

Returns

bool

The declared return value.

bool oa::VideoDemuxer::isLive()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

bool oa::VideoDemuxer::isSeekable()
No public source comment is attached to this declaration.

Returns

bool

The declared return value.

oa::Status oa::VideoDemuxer::readNextPacket( VideoPacket & outPacket )
Read next packet from stream

Parameters

outPacket
VideoPacket &

Returns

oa::Status

The declared return value.

oa::Result<oa::U64> oa::VideoDemuxer::samplePresentationTimestamp( oa::Usize inSampleIndex )
Return one indexed sample's presentation timestamp without converting a signed composition offset to unsigned first. Malformed tables whose offset underflows DTS or whose positive offset overflows fail closed.

Parameters

inSampleIndex
oa::Usize

Returns

oa::Result<oa::U64>

The declared return value.

oa::Status oa::VideoDemuxer::seek( oa::U64 inTimestamp )
seek to a specific timestamp (in stream timebase)

Parameters

inTimestamp
oa::U64

Returns

oa::Status

The declared return value.

static oa::Result<VideoDemuxer> oa::VideoDemuxer::open( oa::StringView inUri )
open either a local path or a URL through one canonical source boundary.

Parameters

inUri
oa::StringView

Returns

oa::Result<VideoDemuxer>

The declared return value.

static oa::Result<VideoDemuxer> oa::VideoDemuxer::open( oa::StringView inUri, const VideoDemuxerConfig & inConfig )
No public source comment is attached to this declaration.

Parameters

inUri
oa::StringView

inConfig
const VideoDemuxerConfig &

Returns

oa::Result<VideoDemuxer>

The declared return value.

static oa::Result<VideoContainerInfo> oa::VideoDemuxer::probe( const char * inPath )
probe container info without opening full file

Parameters

inPath
const char *

Returns

oa::Result<VideoContainerInfo>

The declared return value.