41#include <StormByte/logger/log.hxx>
151 friend class Backend::Pipeline::Detail::Muxer::Matroska::Container;
152 friend class Backend::Pipeline::Muxer;
153 friend class Backend::Pipeline::Detail::Worker::Mux;
171 explicit Muxer(std::shared_ptr<StormByte::Logger::Log> log,
213 explicit operator
bool() const noexcept;
219 bool Closed() const noexcept;
226 std::optional<Property::Duration> Position() const noexcept;
248 bool Armed() const noexcept;
254 bool Ready() const noexcept override;
260 std::
size_t InputCeiling() const noexcept
override {
274 std::optional<std::string>
Language(
int output_index)
const noexcept;
281 void Language(
int output_index, std::string language)
noexcept;
288 std::optional<std::string>
Title(
int output_index)
const noexcept;
295 void Title(
int output_index, std::string title)
noexcept;
307 void WaitArmed() noexcept;
315 bool BindEncoderStream(
Encoder& encoder,
void* avStream) noexcept;
324 bool RemuxCodec(
int inIndex,
void*& params,
void* timeBase) noexcept;
330 std::
size_t ExpectedSlots() const noexcept;
332 static constexpr std::
size_t Ceiling = 64;
334 std::unique_ptr<Backend::Pipeline::
Muxer> m_backend;
336 std::map<
int, std::
string> m_language;
337 std::map<
int, std::
string> m_title;
338 std::atomic<
bool> m_closed;
339 std::atomic<std::
size_t> m_reserved;
340 std::atomic<std::int64_t> m_positionNs;
#define STORMBYTE_MULTIMEDIA_PUBLIC
Imported symbol.
Definition visibility.h:47