41#include <StormByte/logger/log.hxx>
156 friend class Backend::Pipeline::Detail::Muxer::Matroska::Container;
157 friend class Backend::Pipeline::Muxer;
158 friend class Backend::Pipeline::Detail::Worker::Mux;
176 explicit Muxer(std::shared_ptr<StormByte::Logger::Log> log,
218 explicit operator
bool() const noexcept;
259 bool Ready() const noexcept override;
282 std::optional<std::
string>
Language(
int output_index) const noexcept;
289 void Language(
int output_index, std::
string language) noexcept;
296 std::optional<std::
string>
Title(
int output_index) const noexcept;
303 void Title(
int output_index, std::
string title) noexcept;
315 void WaitArmed() noexcept;
323 bool BindEncoderStream(
Encoder& encoder,
void* avStream) noexcept;
332 bool RemuxCodec(
int inIndex,
void*& params,
void* timeBase) noexcept;
338 std::
size_t ExpectedSlots() const noexcept;
343 void ClockMuxDone() noexcept;
349 void ClockPass(std::int64_t ns) noexcept;
354 std::shared_ptr<class
Progress> m_progress;
355 std::map<
int, std::
string> m_language;
356 std::map<
int, std::
string> m_title;
357 std::atomic<
bool> m_closed;
358 std::atomic<std::
size_t> m_reserved;
359 std::atomic<std::int64_t> m_positionNs;
#define STORMBYTE_MULTIMEDIA_PUBLIC
Imported symbol.
Definition visibility.h:47