Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qffmpegencoderoptions_p.h
Go to the documentation of this file.
1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3#ifndef QFFMPEGENCODEROPTIONS_P_H
4#define QFFMPEGENCODEROPTIONS_P_H
5
6//
7// W A R N I N G
8// -------------
9//
10// This file is not part of the Qt API. It exists purely as an
11// implementation detail. This header file may change from version to
12// version without notice, or even be removed.
13//
14// We mean it.
15//
16
17#include <QtFFmpegMediaPluginImpl/private/qffmpeghwaccel_p.h>
18#include <QtMultimedia/qvideoframeformat.h>
19#include <QtMultimedia/private/qplatformmediarecorder_p.h>
20
21#include <QtCore/qlatin1stringview.h>
22
24
25namespace QFFmpeg {
26
27void applyVideoEncoderOptions(const QMediaEncoderSettings &settings, QLatin1StringView codecName,
28 AVCodecContext *codec, AVDictionary **opts);
29void applyAudioEncoderOptions(const QMediaEncoderSettings &settings, QLatin1StringView codecName,
30 AVCodecContext *codec, AVDictionary **opts);
31
32} // namespace QFFmpeg
33
34QT_END_NAMESPACE
35
36#endif
The QAudioFormat class stores audio stream parameter information.
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
AVSampleFormat adjustSampleFormat(QSpan< const AVSampleFormat > supportedFormats, AVSampleFormat requested)
Q_STATIC_LOGGING_CATEGORY(qLCAndroidVideoDevices, "qt.multimedia.ffmpeg.android.videoDevices")
void applyVideoEncoderOptions(const QMediaEncoderSettings &settings, QLatin1StringView codecName, AVCodecContext *codec, AVDictionary **opts)
void applyAudioEncoderOptions(const QMediaEncoderSettings &settings, QLatin1StringView codecName, AVCodecContext *codec, AVDictionary **opts)
void setEncoderInterface(QObject *source, QMediaInputEncoderInterface *)
std::conditional_t< QT_FFMPEG_AVIO_WRITE_CONST, const uint8_t *, uint8_t * > AvioWriteBufferType
void setEncoderUpdateConnection(QObject *source, EncoderThread *encoder)
T dequeueIfPossible(std::queue< T > &queue)
void disconnectEncoderFromSource(EncoderThread *encoder)
ChannelLayoutT adjustChannelLayout(QSpan< const ChannelLayoutT > supportedLayouts, const ChannelLayoutT &requested)
void connectEncoderToSource(Encoder *encoder, Source *source)
bool findAndOpenAVEncoder(AVCodecID codecId, const std::function< AVScore(const Codec &)> &scoresGetter, const std::function< bool(const Codec &)> &codecOpener)
constexpr qint64 VideoFrameTimeBase
int adjustSampleRate(QSpan< const int > supportedRates, int requested)
static constexpr bool audioEncoderExtendedTracing
Combined button and popup list for selecting options.