diff options
author | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2019-07-11 17:54:10 +0200 |
---|---|---|
committer | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2019-07-17 10:55:30 +0200 |
commit | 411bd814849dace75ec755c46f668604eb6f4821 (patch) | |
tree | 9a1d0298b28cb1265d936d211005e4b613698319 /src/multimedia | |
parent | ff7dcf3a38f33bb262c876ce1e959e7a1bc29f5a (diff) |
GStreamer: Implement fetching audio/video codecs by container
Moved stream types to QGstCodecsInfo and added possibility to fetch audio
or video codecs by a container. Or fetch containers by audio or video codec.
It would allow to debug supported codecs and containers:
QGstCodecsInfo containers(QGstCodecsInfo::Muxer);
QGstCodecsInfo audioCodecs(QGstCodecsInfo::AudioEncoder);
for (auto &container: containers.supportedCodecs())
qDebug() << audioCodecs.supportedCodecs(containers.supportedStreamTypes(container));
Change-Id: I26bf5579db6974a166d408c4865a9ffe314e3e15
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Diffstat (limited to 'src/multimedia')
-rw-r--r-- | src/multimedia/gsttools_headers/qgstcodecsinfo_p.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/multimedia/gsttools_headers/qgstcodecsinfo_p.h b/src/multimedia/gsttools_headers/qgstcodecsinfo_p.h index 33ab3de4b..d7aadef21 100644 --- a/src/multimedia/gsttools_headers/qgstcodecsinfo_p.h +++ b/src/multimedia/gsttools_headers/qgstcodecsinfo_p.h @@ -54,6 +54,7 @@ #include <private/qgsttools_global_p.h> #include <QtCore/qmap.h> #include <QtCore/qstringlist.h> +#include <QSet> #include <gst/gst.h> @@ -76,6 +77,8 @@ public: QString codecDescription(const QString &codec) const; QByteArray codecElement(const QString &codec) const; QStringList codecOptions(const QString &codec) const; + QSet<QString> supportedStreamTypes(const QString &codec) const; + QStringList supportedCodecs(const QSet<QString> &types) const; private: void updateCodecs(ElementType elementType); @@ -83,6 +86,7 @@ private: QStringList m_codecs; QMap<QString, CodecInfo> m_codecInfo; + QMap<QString, QSet<QString>> m_streamTypes; }; Q_DECLARE_TYPEINFO(QGstCodecsInfo::CodecInfo, Q_MOVABLE_TYPE); |