summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@qt.io>2019-05-27 16:20:50 +0200
committerFrederik Gladhorn <frederik.gladhorn@qt.io>2019-05-27 16:20:50 +0200
commit9702acf13dde540b292693f330622561c46fc589 (patch)
tree7869f0ce54efbe3d9ffba120c9a2a4dfdd2ba414
parent614eae9a9996e2e856e2b8959a4f5c6a9847430c (diff)
parent2b34e3355c8943f41c84f39ad9a838f6edb80429 (diff)
Merge 5.12 into 5.12.4
-rw-r--r--src/gsttools/qgstreamerplayersession.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gsttools/qgstreamerplayersession.cpp b/src/gsttools/qgstreamerplayersession.cpp
index 56f78cb9f..5ede8a1c9 100644
--- a/src/gsttools/qgstreamerplayersession.cpp
+++ b/src/gsttools/qgstreamerplayersession.cpp
@@ -61,6 +61,7 @@
#include <QtCore/qdir.h>
#include <QtCore/qstandardpaths.h>
#include <qvideorenderercontrol.h>
+#include <QUrlQuery>
//#define DEBUG_PLAYBIN
@@ -1658,6 +1659,14 @@ void QGstreamerPlayerSession::playbinNotifySource(GObject *o, GParamSpec *p, gpo
self->m_sourceType = UDPSrc;
//The udpsrc is always a live source.
self->m_isLiveSource = true;
+
+ QUrlQuery query(self->m_request.url());
+ const QString var = QLatin1String("udpsrc.caps");
+ if (query.hasQueryItem(var)) {
+ GstCaps *caps = gst_caps_from_string(query.queryItemValue(var).toLatin1().constData());
+ g_object_set(G_OBJECT(source), "caps", caps, NULL);
+ gst_caps_unref(caps);
+ }
} else if (qstrcmp(G_OBJECT_CLASS_NAME(G_OBJECT_GET_CLASS(source)), "GstSoupHTTPSrc") == 0) {
//souphttpsrc timeout unit = second
g_object_set(G_OBJECT(source), "timeout", guint(timeout), NULL);