Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qplatformmediaformatinfo.cpp
Go to the documentation of this file.
1// Copyright (C) 2021 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
5#include <qset.h>
6
8
10
12
13QList<QMediaFormat::FileFormat> QPlatformMediaFormatInfo::supportedFileFormats(const QMediaFormat &constraints, QMediaFormat::ConversionMode m) const
14{
15 QSet<QMediaFormat::FileFormat> formats;
16
17 const auto &codecMap = (m == QMediaFormat::Encode) ? encoders : decoders;
18 for (const auto &m : codecMap) {
19 if (constraints.audioCodec() != QMediaFormat::AudioCodec::Unspecified && !m.audio.contains(constraints.audioCodec()))
20 continue;
21 if (constraints.videoCodec() != QMediaFormat::VideoCodec::Unspecified && !m.video.contains(constraints.videoCodec()))
22 continue;
23 formats.insert(m.format);
24 }
25 return formats.values();
26}
27
28QList<QMediaFormat::AudioCodec> QPlatformMediaFormatInfo::supportedAudioCodecs(const QMediaFormat &constraints, QMediaFormat::ConversionMode m) const
29{
30 QSet<QMediaFormat::AudioCodec> codecs;
31
32 const auto &codecMap = (m == QMediaFormat::Encode) ? encoders : decoders;
33 for (const auto &m : codecMap) {
34 if (constraints.fileFormat() != QMediaFormat::UnspecifiedFormat && m.format != constraints.fileFormat())
35 continue;
36 if (constraints.videoCodec() != QMediaFormat::VideoCodec::Unspecified && !m.video.contains(constraints.videoCodec()))
37 continue;
38 for (const auto &c : m.audio)
39 codecs.insert(c);
40 }
41 return codecs.values();
42}
43
44QList<QMediaFormat::VideoCodec> QPlatformMediaFormatInfo::supportedVideoCodecs(const QMediaFormat &constraints, QMediaFormat::ConversionMode m) const
45{
46 QSet<QMediaFormat::VideoCodec> codecs;
47
48 const auto &codecMap = (m == QMediaFormat::Encode) ? encoders : decoders;
49 for (const auto &m : codecMap) {
50 if (constraints.fileFormat() != QMediaFormat::UnspecifiedFormat && m.format != constraints.fileFormat())
51 continue;
52 if (constraints.audioCodec() != QMediaFormat::AudioCodec::Unspecified && !m.audio.contains(constraints.audioCodec()))
53 continue;
54 for (const auto &c : m.video)
55 codecs.insert(c);
56 }
57 return codecs.values();
58}
59
61{
62 const auto &codecMap = (m == QMediaFormat::Encode) ? encoders : decoders;
63
64 for (const auto &m : codecMap) {
65 if (m.format != format.fileFormat())
66 continue;
67 if (!m.audio.contains(format.audioCodec()))
68 continue;
69 if (format.videoCodec() != QMediaFormat::VideoCodec::Unspecified && !m.video.contains(format.videoCodec()))
70 continue;
71 return true;
72 }
73 return false;
74}
75
\inmodule QtMultimedia
VideoCodec videoCodec
The video codec of the media.
ConversionMode
In many cases, systems have asymmetric capabilities and can often decode more formats or codecs than ...
AudioCodec audioCodec
The audio codec of the media.
FileFormat fileFormat
The file (container) format of the media.
bool isSupported(const QMediaFormat &format, QMediaFormat::ConversionMode m) const
QList< QMediaFormat::AudioCodec > supportedAudioCodecs(const QMediaFormat &constraints, QMediaFormat::ConversionMode m) const
virtual ~QPlatformMediaFormatInfo()
QList< QMediaFormat::VideoCodec > supportedVideoCodecs(const QMediaFormat &constraints, QMediaFormat::ConversionMode m) const
QList< QMediaFormat::FileFormat > supportedFileFormats(const QMediaFormat &constraints, QMediaFormat::ConversionMode m) const
EGLint EGLint * formats
Combined button and popup list for selecting options.
const GLfloat * m
GLint GLsizei GLsizei GLenum format
const GLubyte * c