summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den.exter@jollamobile.com>2013-12-10 17:59:52 +1000
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-13 06:06:18 +0100
commitb27913b76d5a1820470b411d2193e4388b047c9d (patch)
tree64c17a3d7685c0695f62b7b1963d3836c3b53e69
parent61001f8dd5a1b2d128259b518f74d46cf9f69173 (diff)
downloadqtmultimedia-b27913b76d5a1820470b411d2193e4388b047c9d.tar.gz
qtmultimedia-b27913b76d5a1820470b411d2193e4388b047c9d.tar.bz2
qtmultimedia-b27913b76d5a1820470b411d2193e4388b047c9d.zip
Fix playback with exotic gstreamer pipelines.
Extend the list of raw video formats, and allow the playbin flags to be overridden by an environment variable when the default isn't suitable for whatever reason. Change-Id: I4c7d821b0ce29f5ad2dc0341e378ffd17c489e98 Reviewed-by: John Brooks <john.brooks@dereferenced.net> Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
-rw-r--r--src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
index 04d612b0..d61e6a01 100644
--- a/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
+++ b/src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp
@@ -83,6 +83,7 @@ typedef enum {
"video/x-raw-rgb; " \
"video/x-raw-gray; " \
"video/x-surface; " \
+ "video/x-android-buffer; " \
"audio/x-raw-int; " \
"audio/x-raw-float; " \
"text/plain; " \
@@ -140,7 +141,12 @@ QGstreamerPlayerSession::QGstreamerPlayerSession(QObject *parent)
#else
int flags = 0;
g_object_get(G_OBJECT(m_playbin), "flags", &flags, NULL);
- flags |= GST_PLAY_FLAG_NATIVE_VIDEO;
+ QByteArray envFlags = qgetenv("QT_GSTREAMER_PLAYBIN_FLAGS");
+ if (!envFlags.isEmpty()) {
+ flags |= envFlags.toInt();
+ } else {
+ flags |= GST_PLAY_FLAG_NATIVE_VIDEO;
+ }
#endif
g_object_set(G_OBJECT(m_playbin), "flags", flags, NULL);