summaryrefslogtreecommitdiffstats
path: root/src/multimedia
diff options
context:
space:
mode:
authorVaL Doroshchuk <valentyn.doroshchuk@qt.io>2019-07-11 17:54:10 +0200
committerVaL Doroshchuk <valentyn.doroshchuk@qt.io>2019-07-17 10:55:30 +0200
commit411bd814849dace75ec755c46f668604eb6f4821 (patch)
tree9a1d0298b28cb1265d936d211005e4b613698319 /src/multimedia
parentff7dcf3a38f33bb262c876ce1e959e7a1bc29f5a (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.h4
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);