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 | Public Attributes | List of all members
StormByte::Multimedia::Pipeline::TrackSettled Class Reference

What an encoder actually opened. More...

#include <StormByte/multimedia/pipeline/transcoder.hxx>

Inheritance diagram for StormByte::Multimedia::Pipeline::TrackSettled:
Inheritance graph
[legend]
Collaboration diagram for StormByte::Multimedia::Pipeline::TrackSettled:
Collaboration graph
[legend]

Public Member Functions

PointerType Clone () const override
 Deep copy.
 
PointerType Move () override
 Move into a new pointer.
 
virtual std::string ToString () const
 Human-readable line for logs.
 
Lifecycle
 TrackSettled () noexcept=default
 Empty settled row.
 
 TrackSettled (const TrackSettled &other)=default
 Copy constructor.
 
 TrackSettled (TrackSettled &&other) noexcept=default
 Move constructor.
 
virtual ~TrackSettled () noexcept override=default
 Destructor.
 
TrackSettledoperator= (const TrackSettled &other)=default
 Copy assignment.
 
TrackSettledoperator= (TrackSettled &&other) noexcept=default
 Move assignment.
 

Public Attributes

int In = -1
 Origin stream or attachment slot.
 
int Out = -1
 Index in Plan::Tracks after Add.
 
Type Kind = Type::Unknown
 Media kind.
 
const CodecSource = nullptr
 Origin codec.
 
const CodecDestination = nullptr
 Opened encoder codec, or nullptr if remux.
 
std::optional< std::string > Implementation
 Opened encoder pin.
 
std::optional< int > Crf
 CRF/CQ actually used.
 
std::optional< std::int64_t > BitRate
 Bitrate actually used.
 
std::optional< std::int64_t > MaxBitRate
 VBV actually used.
 
std::optional< std::string > Preset
 Preset actually used.
 
std::optional< std::string > Tune
 Tune actually used.
 
std::map< std::string, std::string > FineTune
 Vendor leftovers actually used.
 
std::optional< int > SampleFormat
 Encoder AVSampleFormat.
 
std::optional< int > SourceChannels
 Decoded channel count.
 
std::optional< int > EncoderChannels
 Encoder channel count.
 
std::optional< int > FrameSize
 Encoder frame_size.
 
std::optional< int > SampleRate
 Samples per second.
 

Detailed Description

What an encoder actually opened.

Not intention.

Plan / Track are the request. This type is filled after Encoder is open and passed to Transcoder::OnSettled. Derive it and return the type from Transcoder::EmptySettled to carry extra fields.

Constructor & Destructor Documentation

◆ TrackSettled() [1/3]

StormByte::Multimedia::Pipeline::TrackSettled::TrackSettled ( )
defaultnoexcept

Empty settled row.

◆ TrackSettled() [2/3]

StormByte::Multimedia::Pipeline::TrackSettled::TrackSettled ( const TrackSettled other)
default

Copy constructor.

Parameters
otherSource row.

◆ TrackSettled() [3/3]

StormByte::Multimedia::Pipeline::TrackSettled::TrackSettled ( TrackSettled &&  other)
defaultnoexcept

Move constructor.

Parameters
otherRow to take.

◆ ~TrackSettled()

virtual StormByte::Multimedia::Pipeline::TrackSettled::~TrackSettled ( )
overridevirtualdefaultnoexcept

Destructor.

Member Function Documentation

◆ Clone()

PointerType StormByte::Multimedia::Pipeline::TrackSettled::Clone ( ) const
inlineoverride

Deep copy.

Returns
Owning pointer to a new row of the same dynamic type.

◆ Move()

PointerType StormByte::Multimedia::Pipeline::TrackSettled::Move ( )
inlineoverride

Move into a new pointer.

Returns
Owning pointer to the moved row.

◆ operator=() [1/2]

TrackSettled & StormByte::Multimedia::Pipeline::TrackSettled::operator= ( const TrackSettled other)
default

Copy assignment.

Parameters
otherSource row.
Returns
*this.

◆ operator=() [2/2]

TrackSettled & StormByte::Multimedia::Pipeline::TrackSettled::operator= ( TrackSettled &&  other)
defaultnoexcept

Move assignment.

Parameters
otherRow to take.
Returns
*this.

◆ ToString()

virtual std::string StormByte::Multimedia::Pipeline::TrackSettled::ToString ( ) const
virtual

Human-readable line for logs.

Returns
One or more lines, no trailing newline required.

Member Data Documentation

◆ BitRate

std::optional<std::int64_t> StormByte::Multimedia::Pipeline::TrackSettled::BitRate

Bitrate actually used.

◆ Crf

std::optional<int> StormByte::Multimedia::Pipeline::TrackSettled::Crf

CRF/CQ actually used.

◆ Destination

const Codec* StormByte::Multimedia::Pipeline::TrackSettled::Destination = nullptr

Opened encoder codec, or nullptr if remux.

◆ EncoderChannels

std::optional<int> StormByte::Multimedia::Pipeline::TrackSettled::EncoderChannels

Encoder channel count.

◆ FineTune

std::map<std::string, std::string> StormByte::Multimedia::Pipeline::TrackSettled::FineTune

Vendor leftovers actually used.

◆ FrameSize

std::optional<int> StormByte::Multimedia::Pipeline::TrackSettled::FrameSize

Encoder frame_size.

◆ Implementation

std::optional<std::string> StormByte::Multimedia::Pipeline::TrackSettled::Implementation

Opened encoder pin.

◆ In

int StormByte::Multimedia::Pipeline::TrackSettled::In = -1

Origin stream or attachment slot.

◆ Kind

Type StormByte::Multimedia::Pipeline::TrackSettled::Kind = Type::Unknown

Media kind.

◆ MaxBitRate

std::optional<std::int64_t> StormByte::Multimedia::Pipeline::TrackSettled::MaxBitRate

VBV actually used.

◆ Out

int StormByte::Multimedia::Pipeline::TrackSettled::Out = -1

Index in Plan::Tracks after Add.

◆ Preset

std::optional<std::string> StormByte::Multimedia::Pipeline::TrackSettled::Preset

Preset actually used.

◆ SampleFormat

std::optional<int> StormByte::Multimedia::Pipeline::TrackSettled::SampleFormat

Encoder AVSampleFormat.

◆ SampleRate

std::optional<int> StormByte::Multimedia::Pipeline::TrackSettled::SampleRate

Samples per second.

◆ Source

const Codec* StormByte::Multimedia::Pipeline::TrackSettled::Source = nullptr

Origin codec.

◆ SourceChannels

std::optional<int> StormByte::Multimedia::Pipeline::TrackSettled::SourceChannels

Decoded channel count.

◆ Tune

std::optional<std::string> StormByte::Multimedia::Pipeline::TrackSettled::Tune

Tune actually used.


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