diff options
author | Andrew den Exter <andrew.den.exter@jollamobile.com> | 2013-12-10 17:59:52 +1000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-13 06:06:18 +0100 |
commit | b27913b76d5a1820470b411d2193e4388b047c9d (patch) | |
tree | 64c17a3d7685c0695f62b7b1963d3836c3b53e69 | |
parent | 61001f8dd5a1b2d128259b518f74d46cf9f69173 (diff) | |
download | qtmultimedia-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.cpp | 8 |
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); |