3#include <Alchemy/media/alias.hxx>
4#include <Alchemy/media/flags/codec.hxx>
5#include <StormByte/multimedia/codec.hxx>
13namespace Alchemy::Media {
18 class ALCHEMY_PUBLIC
Codec:
public StormByte::Multimedia::Codec {
31 Codec(
const std::string& name,
const std::string& long_name,
const Flags::Codec& flags,
const Decoders& decoders,
const Encoders& encoders);
41 Codec(std::string&& name, std::string&& long_name,
Flags::Codec&& flags, Decoders&& decoders, Encoders&& encoders);
72 ~Codec() noexcept override = default;
84 StormByte::Multimedia::
Media::Type Type() const noexcept override;
90 Media::Decoders& Decoders() noexcept;
96 const
Media::Decoders& Decoders() const noexcept;
102 Media::Encoders& Encoders() noexcept;
108 const
Media::Encoders& Encoders() const noexcept;
111 Media::Decoders m_decoders;
112 Media::Encoders m_encoders;
The namespace for media flags.