[-]
[+]
|
Changed |
_service:tar_git:qtmultimedia.spec
|
|
[-]
[+]
|
Added |
_service:tar_git:001-configure-pipeline-properties.patch
^
|
@@ -0,0 +1,79 @@
+- debug info on used flags
+--- src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp Fri Sep 29 20:38:02 2017
++++ src/plugins/gstreamer/audiodecoder/qgstreameraudiodecodersession.cpp Fri Sep 29 20:55:26 2017
+@@ -85,9 +85,15 @@
+ m_durationQueries(0)
+ {
+ // Create pipeline here
++ qWarning() << "QGstreamerAudioDecoderSession - try to make " << QT_GSTREAMER_PLAYBIN_ELEMENT_NAME;
+ m_playbin = gst_element_factory_make(QT_GSTREAMER_PLAYBIN_ELEMENT_NAME, NULL);
+
+ if (m_playbin != 0) {
++
++ int flags = GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO;
++ QByteArray envFlags = qgetenv("QT_GSTREAMER_PLAYBIN_FLAGS");
++
++ g_object_set(G_OBJECT(m_playbin), "flags", flags, NULL);
+ // Sort out messages
+ m_bus = gst_element_get_bus(m_playbin);
+ m_busHelper = new QGstreamerBusHelper(m_bus, this);
+@@ -527,12 +533,24 @@
+ int flags = 0;
+ if (m_playbin) {
+ g_object_get(G_OBJECT(m_playbin), "flags", &flags, NULL);
+- // make sure not to use GST_PLAY_FLAG_NATIVE_AUDIO unless desired
+- // it prevents audio format conversion
+ flags &= ~(GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_NATIVE_VIDEO | GST_PLAY_FLAG_TEXT | GST_PLAY_FLAG_VIS | GST_PLAY_FLAG_NATIVE_AUDIO);
+- flags |= GST_PLAY_FLAG_AUDIO;
++
++ QByteArray envFlags = qgetenv("QT_GSTREAMER_PLAYBIN_FLAGS");
++ if (!envFlags.isEmpty()) {
++ bool ok;
++ flags |= envFlags.toInt(&ok, 0);
++ qWarning() << "QGstreamerPlayerSession - using configured flags: 0x" << std::hex << flags;
++#if !GST_CHECK_VERSION(1,0,0)
++ } else {
++ qWarning() << "QGstreamerPlayerSession - using fixed flags";
++ // make sure not to use GST_PLAY_FLAG_NATIVE_AUDIO unless desired
++ // it prevents audio format conversion
++ flags |= GST_PLAY_FLAG_AUDIO;
++#endif
++ }
++#endif
+ if (wantNativeAudio)
+- flags |= GST_PLAY_FLAG_NATIVE_AUDIO;
++ flags |= GST_PLAY_FLAG_NATIVE_AUDIO;
+ g_object_set(G_OBJECT(m_playbin), "flags", flags, NULL);
+ }
+ }
+diff -u -r upstream\src\plugins\gstreamer\mediaplayer\qgstreamerplayersession.cpp qtmultimedia-mer-5.6\src\plugins\gstreamer\mediaplayer\qgstreamerplayersession.cpp
+--- upstream\src\plugins\gstreamer\mediaplayer\qgstreamerplayersession.cpp Fri Sep 29 20:38:05 2017
++++ qtmultimedia-mer-5.6\src\plugins\gstreamer\mediaplayer\qgstreamerplayersession.cpp Fri Sep 29 20:55:41 2017
+@@ -145,21 +145,26 @@
+ Q_ASSERT(result == TRUE);
+ Q_UNUSED(result);
+
++ qWarning() << "QGstreamerPlayerSession - try to make " << QT_GSTREAMER_PLAYBIN_ELEMENT_NAME;
+ m_playbin = gst_element_factory_make(QT_GSTREAMER_PLAYBIN_ELEMENT_NAME, NULL);
+ if (m_playbin) {
+ //GST_PLAY_FLAG_NATIVE_VIDEO omits configuration of ffmpegcolorspace and videoscale,
+ //since those elements are included in the video output bin when necessary.
+ #ifdef Q_WS_MAEMO_6
++ qWarning() << "QGstreamerPlayerSession - will use fixed flags (Q_WS_MAEMO_6)";
+ int flags = GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO |
+ GST_PLAY_FLAG_NATIVE_VIDEO | GST_PLAY_FLAG_NATIVE_AUDIO;
+ #else
+ int flags = GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO;
+ QByteArray envFlags = qgetenv("QT_GSTREAMER_PLAYBIN_FLAGS");
+ if (!envFlags.isEmpty()) {
+- flags |= envFlags.toInt();
++ bool ok;
++ flags |= envFlags.toInt(&ok, 0);
++ qWarning() << "QGstreamerPlayerSession - using configured flags: 0x" << std::hex << flags;
+ #if !GST_CHECK_VERSION(1,0,0)
+ } else {
+ flags |= GST_PLAY_FLAG_NATIVE_VIDEO;
++ qWarning() << "QGstreamerPlayerSession - using fixed flags";
+ #endif
+ }
+ #endif
|
|
Added |
_service:tar_git:qt5-qtmultimedia-5.6.2+git6+mer.5.6.20170929190619.2.g28db323.tar.bz2
^
|
|
Deleted |
_service:tar_git:qt5-qtmultimedia-5.6.2+git6.tar.bz2
^
|