diff options
author | Frederik Gladhorn <frederik.gladhorn@qt.io> | 2019-05-27 16:20:50 +0200 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@qt.io> | 2019-05-27 16:20:50 +0200 |
commit | 9702acf13dde540b292693f330622561c46fc589 (patch) | |
tree | 7869f0ce54efbe3d9ffba120c9a2a4dfdd2ba414 | |
parent | 614eae9a9996e2e856e2b8959a4f5c6a9847430c (diff) | |
parent | 2b34e3355c8943f41c84f39ad9a838f6edb80429 (diff) |
Merge 5.12 into 5.12.4
Change-Id: Icdc83c310cb09b610b4335166fe120f112d6b2e0
-rw-r--r-- | src/gsttools/qgstreamerplayersession.cpp | 9 |
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); |