3#ifndef QFFMPEGENCODER_P_H
4#define QFFMPEGENCODER_P_H
21#include <private/qplatformmediarecorder_p.h>
40class VideoFrameEncoder;
88 AVFormatContext *formatContext =
nullptr;
89 Muxer *muxer =
nullptr;
90 bool isRecording =
false;
103 mutable QMutex queueMutex;
111 AVPacket *takePacket();
136 mutable QMutex queueMutex;
148 void retrievePackets();
155 AVStream *
stream =
nullptr;
156 AVCodecContext *codec =
nullptr;
160 SwrContext *resampler =
nullptr;
161 qint64 samplesWritten = 0;
162 const AVCodec *avCodec =
nullptr;
169 mutable QMutex queueMutex;
191 void retrievePackets();
void storeRelease(T newValue) noexcept
void addBuffer(const QAudioBuffer &buffer)
bool shouldWait() const override
QFFmpegAudioInput * audioInput() const
AudioEncoder(Encoder *encoder, QFFmpegAudioInput *input, const QMediaEncoderSettings &settings)
virtual void setPaused(bool b)
QAtomicInteger< bool > paused
Encoder(const QMediaEncoderSettings &settings, const QUrl &url)
void newTimeStamp(qint64 time)
void durationChanged(qint64 duration)
void addAudioInput(QFFmpegAudioInput *input)
void error(QMediaRecorder::Error code, const QString &description)
void setMetaData(const QMediaMetaData &metaData)
void addVideoSource(QPlatformVideoSource *source)
void newAudioBuffer(const QAudioBuffer &buffer)
EncodingFinalizer(Encoder *e)
bool shouldWait() const override
void addPacket(AVPacket *)
void setPaused(bool b) override
bool shouldWait() const override
void addFrame(const QVideoFrame &frame)
VideoEncoder(Encoder *encoder, const QMediaEncoderSettings &settings, const QVideoFrameFormat &format, std::optional< AVPixelFormat > hwFormat)
\macro QT_RESTRICTED_CAST_FROM_ASCII
The QVideoFrame class represents a frame of video data.
Combined button and popup list for selecting options.
GLboolean GLboolean GLboolean b
GLint GLsizei GLsizei GLenum format
GLsizei GLsizei GLchar * source
GLenum GLenum GLenum input
QSettings settings("MySoft", "Star Runner")
[0]
QUrl url("example.com")
[constructor-url-reference]