StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
StormByte::Multimedia::Pipeline::Config::Base Class Reference

Common destination-stream identity. More...

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

Inheritance diagram for StormByte::Multimedia::Pipeline::Config::Base:
Collaboration diagram for StormByte::Multimedia::Pipeline::Config::Base:

Public Member Functions

Lifecycle
 Base (const Base &other) noexcept=default
 Copy constructor.
 Base (Base &&other) noexcept=default
 Move constructor.
virtual ~Base () noexcept override=default
 Destructor.
Base & operator= (const Base &other) noexcept=default
 Copy assignment.
Base & operator= (Base &&other) noexcept=default
 Move assignment.
Identity
constexpr enum StormByte::Multimedia::Type Type () const noexcept
 Media stamped by the leaf constructor.
Tags
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.
Implementation
const struct Implementation & Implementation () const noexcept
 Decoder / encoder pins.
void Implementation (struct Implementation implementation) noexcept
 Replaces both pins.

Protected Member Functions

constexpr Base (enum StormByte::Multimedia::Type type) noexcept
 Empty overrides; media fixed for the leaf lifetime.

Detailed Description

Common destination-stream identity.

Polymorphic store root (StormByte::Clonable with unique_ptr). Holds tags and implementation pins that apply to every media StormByte::Multimedia::Type used in a Plan slot. Type is stored at construction; it is not virtual. Oficio knobs live on the leaves.

A null destination codec on a leaf means Remux.

Constructor & Destructor Documentation

◆ Base() [1/3]

StormByte::Multimedia::Pipeline::Config::Base::Base ( const Base & other)
defaultnoexcept

Copy constructor.

Parameters
otherSource config.

◆ Base() [2/3]

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

Move constructor.

Parameters
otherConfig to take.

◆ ~Base()

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

Destructor.

◆ Base() [3/3]

StormByte::Multimedia::Pipeline::Config::Base::Base ( enum StormByte::Multimedia::Type type)
inlineexplicitconstexprprotectednoexcept

Empty overrides; media fixed for the leaf lifetime.

Parameters
typeStormByte::Multimedia::Type of the derived class.

Member Function Documentation

◆ Default() [1/2]

const std::optional< bool > & StormByte::Multimedia::Pipeline::Config::Base::Default ( ) const
inlinenoexcept

Default-disposition override.

Returns
Engaged value, or empty to inherit.

◆ Default() [2/2]

void StormByte::Multimedia::Pipeline::Config::Base::Default ( std::optional< bool > value)
inlinenoexcept

Sets or clears the default-disposition override.

Parameters
valuetrue / false to stamp, empty to inherit.

◆ Forced() [1/2]

const std::optional< bool > & StormByte::Multimedia::Pipeline::Config::Base::Forced ( ) const
inlinenoexcept

Forced-disposition override.

Returns
Engaged value, or empty to inherit.

◆ Forced() [2/2]

void StormByte::Multimedia::Pipeline::Config::Base::Forced ( std::optional< bool > value)
inlinenoexcept

Sets or clears the forced-disposition override.

Parameters
valuetrue / false to stamp, empty to inherit.

◆ Implementation() [1/2]

const struct Implementation & StormByte::Multimedia::Pipeline::Config::Base::Implementation ( ) const
inlinenoexcept

Decoder / encoder pins.

Returns
Pair; each side empty means Step default.

◆ Implementation() [2/2]

void StormByte::Multimedia::Pipeline::Config::Base::Implementation ( struct Implementation implementation)
inlinenoexcept

Replaces both pins.

Parameters
implementationDecoder / encoder names. Empty sides = default.

◆ Language() [1/2]

const std::optional< std::string > & StormByte::Multimedia::Pipeline::Config::Base::Language ( ) const
inlinenoexcept

Language override.

Returns
ISO tag, or empty to inherit.

◆ Language() [2/2]

void StormByte::Multimedia::Pipeline::Config::Base::Language ( std::string language)
noexcept

Sets the language override.

Parameters
languageISO tag. Empty clears the override.

◆ operator=() [1/2]

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

Move assignment.

Parameters
otherConfig to take.
Returns
*this.

◆ operator=() [2/2]

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

Copy assignment.

Parameters
otherSource config.
Returns
*this.

◆ Title() [1/2]

const std::optional< std::string > & StormByte::Multimedia::Pipeline::Config::Base::Title ( ) const
inlinenoexcept

Title override.

Returns
Title, or empty to inherit.

◆ Title() [2/2]

void StormByte::Multimedia::Pipeline::Config::Base::Title ( std::string title)
noexcept

Sets the title override.

Parameters
titleTitle. Empty clears the override.

◆ Type()

enum StormByte::Multimedia::Type StormByte::Multimedia::Pipeline::Config::Base::Type ( ) const
inlineconstexprnoexcept

Media stamped by the leaf constructor.

Returns
Value passed to Base(Type).

The documentation for this class was generated from the following file:
  • lib/public/StormByte/multimedia/pipeline/config/base.hxx