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
qffmpegencodingformatcontext_p.h
Go to the documentation of this file.
1// Copyright (C) 2024 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
4#ifndef QFFMPEGENCODINGFORMATCONTEXT_P_H
5#define QFFMPEGENCODINGFORMATCONTEXT_P_H
6
7#include <QtFFmpegMediaPluginImpl/private/qffmpeg_p.h>
8#include <QtFFmpegMediaPluginImpl/private/qffmpegdefs_p.h>
9
10#include <QtMultimedia/qmediaformat.h>
11
12//
13// W A R N I N G
14// -------------
15//
16// This file is not part of the Qt API. It exists purely as an
17// implementation detail. This header file may change from version to
18// version without notice, or even be removed.
19//
20// We mean it.
21//
22
23QT_BEGIN_NAMESPACE
24
25class QIODevice;
26class QFile;
27
28namespace QFFmpeg {
29
31{
32public:
33 explicit EncodingFormatContext(QMediaFormat::FileFormat fileFormat);
35
36 [[nodiscard]] bool openAVIO(const QString &filePath);
37 [[nodiscard]] bool openAVIO(QIODevice *device);
38 bool isAVIOOpen() const { return m_avFormatContext->pb != nullptr; }
39 void closeAVIO();
40
41 AVFormatContext *avFormatContext() { return m_avFormatContext.get(); }
42
43 const AVFormatContext *avFormatContext() const { return m_avFormatContext.get(); }
44
45private:
47
49
50private:
51 AVMuxerContextUPtr m_avFormatContext;
52 std::unique_ptr<QFile> m_outputFile;
53};
54
55} // namespace QFFmpeg
56
57QT_END_NAMESPACE
58
59#endif // QFFMPEGENCODINGFORMATCONTEXT_P_H
EncodingFormatContext(QMediaFormat::FileFormat fileFormat)
const AVFormatContext * avFormatContext() const
Q_STATIC_LOGGING_CATEGORY(qLCAndroidCaCertificates, "qt.multimedia.ffmpeg.android.caCertificates")
Combined button and popup list for selecting options.