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::Pipeline::Config::Audio Class Reference

#include <StormByte/multimedia/pipeline/config/audio.hxx>

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

Public Member Functions

PointerType Clone () const override
 Deep copy.
 
PointerType Move () override
 Move into a new pointer.
 
Lifecycle
constexpr Audio () noexcept
 Empty audio config (Remux until Codec is set).
 
 Audio (const Audio &other) noexcept=default
 Copy constructor.
 
 Audio (Audio &&other) noexcept=default
 Move constructor.
 
virtual ~Audio () noexcept override=default
 Destructor.
 
Audiooperator= (const Audio &other) noexcept=default
 Copy assignment.
 
Audiooperator= (Audio &&other) noexcept=default
 Move assignment.
 
Encode
const StormByte::Multimedia::CodecCodec () const noexcept
 Destination codec.
 
void Codec (const StormByte::Multimedia::Codec &codec) noexcept
 Sets the destination codec (Encode).
 
const std::optional< std::int64_t > & BitRate () const noexcept
 Target bitrate.
 
void BitRate (std::int64_t bits_per_second) noexcept
 Sets target bitrate.
 
const std::optional< std::int64_t > & MaxBitRate () const noexcept
 Maximum bitrate.
 
void MaxBitRate (std::int64_t bits_per_second) noexcept
 Sets maximum bitrate.
 
const std::optional< std::string > & Preset () const noexcept
 Encoder preset, if the implementation has one.
 
void Preset (std::string name) noexcept
 Sets the preset.
 
const std::map< std::string, std::string > & FineTune () const noexcept
 Vendor leftovers.
 
void FineTune (std::map< std::string, std::string > options) noexcept
 Replaces the vendor dict.
 
- Public Member Functions inherited from StormByte::Multimedia::Pipeline::Config::Base
 Base (const Base &other) noexcept=default
 Copy constructor.
 
 Base (Base &&other) noexcept=default
 Move constructor.
 
virtual ~Base () noexcept override=default
 Destructor.
 
Baseoperator= (const Base &other) noexcept=default
 Copy assignment.
 
Baseoperator= (Base &&other) noexcept=default
 Move assignment.
 
constexpr enum StormByte::Multimedia::Type Type () const noexcept
 Media stamped by the leaf constructor.
 
const std::optional< std::string > & Language () const noexcept
 Language override.
 
void Language (std::string language) noexcept
 Sets the language override.
 
const std::optional< std::string > & Title () const noexcept
 Title override.
 
void Title (std::string title) noexcept
 Sets the title override.
 
const std::optional< bool > & Default () const noexcept
 Default-disposition override.
 
void Default (std::optional< bool > value) noexcept
 Sets or clears the default-disposition override.
 
const std::optional< bool > & Forced () const noexcept
 Forced-disposition override.
 
void Forced (std::optional< bool > value) noexcept
 Sets or clears the forced-disposition override.
 
const struct ImplementationImplementation () const noexcept
 Decoder / encoder pins.
 
void Implementation (struct Implementation implementation) noexcept
 Replaces both pins.
 

Additional Inherited Members

- Protected Member Functions inherited from StormByte::Multimedia::Pipeline::Config::Base
constexpr Base (enum StormByte::Multimedia::Type type) noexcept
 Empty overrides; media fixed for the leaf lifetime.
 

Constructor & Destructor Documentation

◆ Audio() [1/3]

constexpr StormByte::Multimedia::Pipeline::Config::Audio::Audio ( )
inlineconstexprnoexcept

Empty audio config (Remux until Codec is set).

◆ Audio() [2/3]

StormByte::Multimedia::Pipeline::Config::Audio::Audio ( const Audio other)
defaultnoexcept

Copy constructor.

Parameters
otherSource config.

◆ Audio() [3/3]

StormByte::Multimedia::Pipeline::Config::Audio::Audio ( Audio &&  other)
defaultnoexcept

Move constructor.

Parameters
otherConfig to take.

◆ ~Audio()

virtual StormByte::Multimedia::Pipeline::Config::Audio::~Audio ( )
overridevirtualdefaultnoexcept

Destructor.

Member Function Documentation

◆ BitRate() [1/2]

const std::optional< std::int64_t > & StormByte::Multimedia::Pipeline::Config::Audio::BitRate ( ) const
inlinenoexcept

Target bitrate.

Returns
Bits per second, or empty.

◆ BitRate() [2/2]

void StormByte::Multimedia::Pipeline::Config::Audio::BitRate ( std::int64_t  bits_per_second)
inlinenoexcept

Sets target bitrate.

Parameters
bits_per_secondBits per second.

◆ Clone()

PointerType StormByte::Multimedia::Pipeline::Config::Audio::Clone ( ) const
inlineoverride

Deep copy.

Returns
Owning pointer to a new Audio.

◆ Codec() [1/2]

const StormByte::Multimedia::Codec * StormByte::Multimedia::Pipeline::Config::Audio::Codec ( ) const
inlinenoexcept

Destination codec.

Returns
Registry codec, or nullptr if this track is Remux.

◆ Codec() [2/2]

void StormByte::Multimedia::Pipeline::Config::Audio::Codec ( const StormByte::Multimedia::Codec codec)
inlinenoexcept

Sets the destination codec (Encode).

Parameters
codecRegistry codec. Must be audio at Plan validation.

◆ FineTune() [1/2]

const std::map< std::string, std::string > & StormByte::Multimedia::Pipeline::Config::Audio::FineTune ( ) const
inlinenoexcept

Vendor leftovers.

Not bitrate / preset.

Returns
Key/value map.

◆ FineTune() [2/2]

void StormByte::Multimedia::Pipeline::Config::Audio::FineTune ( std::map< std::string, std::string >  options)
inlinenoexcept

Replaces the vendor dict.

Parameters
optionsKey/value pairs.

◆ MaxBitRate() [1/2]

const std::optional< std::int64_t > & StormByte::Multimedia::Pipeline::Config::Audio::MaxBitRate ( ) const
inlinenoexcept

Maximum bitrate.

Returns
Bits per second, or empty.

◆ MaxBitRate() [2/2]

void StormByte::Multimedia::Pipeline::Config::Audio::MaxBitRate ( std::int64_t  bits_per_second)
inlinenoexcept

Sets maximum bitrate.

Parameters
bits_per_secondMax bitrate.

◆ Move()

PointerType StormByte::Multimedia::Pipeline::Config::Audio::Move ( )
inlineoverride

Move into a new pointer.

Returns
Owning pointer to the moved Audio.

◆ operator=() [1/2]

Audio & StormByte::Multimedia::Pipeline::Config::Audio::operator= ( Audio &&  other)
defaultnoexcept

Move assignment.

Parameters
otherConfig to take.
Returns
*this.

◆ operator=() [2/2]

Audio & StormByte::Multimedia::Pipeline::Config::Audio::operator= ( const Audio other)
defaultnoexcept

Copy assignment.

Parameters
otherSource config.
Returns
*this.

◆ Preset() [1/2]

const std::optional< std::string > & StormByte::Multimedia::Pipeline::Config::Audio::Preset ( ) const
inlinenoexcept

Encoder preset, if the implementation has one.

Returns
Name, or empty.

◆ Preset() [2/2]

void StormByte::Multimedia::Pipeline::Config::Audio::Preset ( std::string  name)
noexcept

Sets the preset.

Empty clears it.

Parameters
namePreset name.

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