StormByte C++ Library: Multimedia module 0.0.9999
StormByte-Multimedia is a StormByte library module for parsing configuration files
Loading...
Searching...
No Matches
Protected Member Functions | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for StormByte::Multimedia::Pipeline::Config::Base:
Collaboration graph
[legend]

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.
 
Baseoperator= (const Base &other) noexcept=default
 Copy assignment.
 
Baseoperator= (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 ImplementationImplementation () 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]

constexpr 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()

constexpr 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: