StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
Public Member Functions | List of all members
StormByte::Multimedia::FFmpeg::AVStream Class Reference

Non-owning view of an AVStream (owned by AVFormatContext). More...

#include <StormByte/multimedia/ffmpeg/AVStream.hxx>

Public Member Functions

 AVStream (::AVStream *stream) noexcept
 Binds a raw stream pointer (not owned).
 
 AVStream (const AVStream &)=delete
 Copy constructor (deleted).
 
 AVStream (AVStream &&other) noexcept=default
 Move constructor.
 
 ~AVStream () noexcept=default
 Destructor.
 
AVStreamoperator= (const AVStream &)=delete
 Copy assignment (deleted).
 
AVStreamoperator= (AVStream &&other) noexcept=default
 Move assignment.
 
bool operator< (const AVStream &other) const noexcept
 Orders by stream index (for std::set).
 
int Index () const noexcept
 Stream index.
 
int Type () const noexcept
 Stream media type.
 
AVCodecParameters CodecParameters () const noexcept
 Copy of codec parameters.
 
AVRational TimeBase () const noexcept
 Stream time base.
 
std::optional< std::chrono::nanoseconds > Duration () const noexcept
 Stream duration in nanoseconds.
 
double FrameRate () const noexcept
 Estimated FPS (avg or r_frame_rate).
 
AVRational FrameRateRational () const noexcept
 Estimated FPS as a rational (avg_frame_rate, else r_frame_rate).
 
AVRational SampleAspectRatio () const noexcept
 Pixel aspect ratio (codecpar, else stream sample_aspect_ratio).
 
const char * Tag (const char *key) const noexcept
 Looks up a stream metadata tag.
 
int Disposition () const noexcept
 Raw FFmpeg disposition bits.
 
::AVStreamRaw () const noexcept
 Raw FFmpeg stream (non-owning).
 

Detailed Description

Non-owning view of an AVStream (owned by AVFormatContext).

Constructor & Destructor Documentation

◆ AVStream() [1/3]

StormByte::Multimedia::FFmpeg::AVStream::AVStream ( ::AVStream *  stream)
explicitnoexcept

Binds a raw stream pointer (not owned).

Parameters
streamRaw stream pointer.

◆ AVStream() [2/3]

StormByte::Multimedia::FFmpeg::AVStream::AVStream ( const AVStream )
delete

Copy constructor (deleted).

◆ AVStream() [3/3]

StormByte::Multimedia::FFmpeg::AVStream::AVStream ( AVStream &&  other)
defaultnoexcept

Move constructor.

Parameters
otherSource view.

◆ ~AVStream()

StormByte::Multimedia::FFmpeg::AVStream::~AVStream ( )
defaultnoexcept

Destructor.

Member Function Documentation

◆ CodecParameters()

AVCodecParameters StormByte::Multimedia::FFmpeg::AVStream::CodecParameters ( ) const
noexcept

Copy of codec parameters.

Returns
Parameters wrapper.

◆ Disposition()

int StormByte::Multimedia::FFmpeg::AVStream::Disposition ( ) const
noexcept

Raw FFmpeg disposition bits.

Returns
AV_DISPOSITION_* mask, or 0.

◆ Duration()

std::optional< std::chrono::nanoseconds > StormByte::Multimedia::FFmpeg::AVStream::Duration ( ) const
noexcept

Stream duration in nanoseconds.

Returns
Duration, or empty if unknown.

◆ FrameRate()

double StormByte::Multimedia::FFmpeg::AVStream::FrameRate ( ) const
noexcept

Estimated FPS (avg or r_frame_rate).

Returns
FPS, or 0.

◆ FrameRateRational()

AVRational StormByte::Multimedia::FFmpeg::AVStream::FrameRateRational ( ) const
noexcept

Estimated FPS as a rational (avg_frame_rate, else r_frame_rate).

Returns
{num, den} with den > 0. {0, 1} if unknown.

◆ Index()

int StormByte::Multimedia::FFmpeg::AVStream::Index ( ) const
noexcept

Stream index.

Returns
Index, or -1.

◆ operator<()

bool StormByte::Multimedia::FFmpeg::AVStream::operator< ( const AVStream other) const
noexcept

Orders by stream index (for std::set).

Parameters
otherOther stream.
Returns
true if this index is less.

◆ operator=() [1/2]

AVStream & StormByte::Multimedia::FFmpeg::AVStream::operator= ( AVStream &&  other)
defaultnoexcept

Move assignment.

Parameters
otherSource view.
Returns
*this.

◆ operator=() [2/2]

AVStream & StormByte::Multimedia::FFmpeg::AVStream::operator= ( const AVStream )
delete

Copy assignment (deleted).

Returns
*this.

◆ Raw()

::AVStream * StormByte::Multimedia::FFmpeg::AVStream::Raw ( ) const
noexcept

Raw FFmpeg stream (non-owning).

Returns
Pointer, or nullptr.

◆ SampleAspectRatio()

AVRational StormByte::Multimedia::FFmpeg::AVStream::SampleAspectRatio ( ) const
noexcept

Pixel aspect ratio (codecpar, else stream sample_aspect_ratio).

Returns
{num, den} with den > 0. {0, 1} if unknown.

◆ Tag()

const char * StormByte::Multimedia::FFmpeg::AVStream::Tag ( const char *  key) const
noexcept

Looks up a stream metadata tag.

Parameters
keyDictionary key (e.g. "language").
Returns
Value, or nullptr if missing.

◆ TimeBase()

AVRational StormByte::Multimedia::FFmpeg::AVStream::TimeBase ( ) const
noexcept

Stream time base.

Returns
Time base.

◆ Type()

int StormByte::Multimedia::FFmpeg::AVStream::Type ( ) const
noexcept

Stream media type.

Returns
AVMediaType as int.

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