3#ifndef QFFMPEGENCODERTHREAD_P_H
4#define QFFMPEGENCODERTHREAD_P_H
17#include <QtFFmpegMediaPluginImpl/private/qffmpegthread_p.h>
21#include <QtMultimedia/private/qmediainputencoderinterface_p.h>
39 void setSource(QObject *source) { m_source = source; }
64 return QScopeGuard([
this, locker = ConsumerThread::lockLoopData()]()
mutable {
68 if (m_canPushFrame.exchange(canPush, std::memory_order_relaxed) != canPush)
69 emit canPushFrameChanged();
void setEndOfSourceStream()
QSemaphore m_encodingStartSemaphore
void setPaused(bool paused)
bool isInitialized() const
void setSource(QObject *source)
void setAutoStop(bool autoStop)
void startEncoding(bool noError)
QPointer< QObject > m_source
bool init() override
Called on this thread when thread starts.
bool canPushFrame() const override
RecordingEngine & m_recordingEngine
bool isEndOfSourceStream() const
void updateCanPushFrame()
virtual bool checkIfCanPushFrame() const =0
void resetEndOfSourceStream()
std::atomic_bool m_canPushFrame
std::conditional_t< QT_FFMPEG_AVIO_WRITE_CONST, const uint8_t *, uint8_t * > AvioWriteBufferType