3#ifndef QFFMPEGMUXER_P_H
4#define QFFMPEGMUXER_P_H
17#include <QtFFmpegMediaPluginImpl/private/qffmpegthread_p.h>
18#include <QtFFmpegMediaPluginImpl/private/qffmpeg_p.h>
35 AVPacketUPtr takePacket();
43 std::queue<AVPacketUPtr> m_packetQueue;
bool init() override
Called on this thread when thread starts.
AudioEncoder(RecordingEngine &recordingEngine, const QAudioFormat &sourceFormat, const QMediaEncoderSettings &settings)
void addBuffer(const QAudioBuffer &buffer)
void cleanup() override
Called on this thread before thread exits.
bool hasData() const override
Must return true when data is available for processing.
void processOne() override
Process one work item.
bool checkIfCanPushFrame() const override
bool init() override
Called on this thread when thread starts.
void cleanup() override
Called on this thread before thread exits.
Muxer(RecordingEngine *encoder)
void processOne() override
Process one work item.
void addPacket(AVPacketUPtr packet)
bool hasData() const override
Must return true when data is available for processing.
AVSampleFormat adjustSampleFormat(QSpan< const AVSampleFormat > supportedFormats, AVSampleFormat requested)
void applyVideoEncoderOptions(const QMediaEncoderSettings &settings, const QByteArray &codecName, AVCodecContext *codec, AVDictionary **opts)
Q_STATIC_LOGGING_CATEGORY(qLcEncodingFormatContext, "qt.multimedia.ffmpeg.encodingformatcontext")
void setEncoderInterface(QObject *source, QMediaInputEncoderInterface *)
void setEncoderUpdateConnection(QObject *source, EncoderThread *encoder)
T dequeueIfPossible(std::queue< T > &queue)
std::conditional_t< QT_FFMPEG_AVIO_WRITE_CONST, const uint8_t *, uint8_t * > AvioWriteBufferType
void disconnectEncoderFromSource(EncoderThread *encoder)
void applyAudioEncoderOptions(const QMediaEncoderSettings &settings, const QByteArray &codecName, AVCodecContext *codec, AVDictionary **opts)
ChannelLayoutT adjustChannelLayout(QSpan< const ChannelLayoutT > supportedLayouts, const ChannelLayoutT &requested)
void connectEncoderToSource(Encoder *encoder, Source *source)
constexpr qint64 VideoFrameTimeBase
int adjustSampleRate(QSpan< const int > supportedRates, int requested)
static constexpr bool audioEncoderExtendedTracing