35 VideoEncoder(
RecordingEngine &recordingEngine,
const QMediaEncoderSettings &settings,
36 const QVideoFrameFormat &format, std::optional<AVPixelFormat> hwFormat);
39 void addFrame(
const QVideoFrame &frame);
46 void retrievePackets();
53 std::pair<qint64, qint64> frameTimeStamps(
const QVideoFrame &frame)
const;
55 QMediaEncoderSettings m_settings;
56 VideoFrameEncoder::SourceParams m_sourceParams;
57 std::queue<FrameInfo> m_videoFrameQueue;
58 const size_t m_maxQueueSize = 10;
60 VideoFrameEncoderUPtr m_frameEncoder;
61 qint64 m_baseTime = 0;
62 bool m_shouldAdjustTimeBaseForNextFrame =
true;
63 qint64 m_lastFrameTime = 0;
65 std::optional<qreal> m_fixedSourceFrameRate;
66 FrameRateAdapter m_frameRateAdapter;
70 std::queue<QVideoFrame> m_framesBeforeInit;
71 const size_t m_maxFramesBeforeInit = 10;