[-]
[+]
|
Changed |
_service:tar_git:qtmultimedia.spec
|
|
[-]
[+]
|
Changed |
_service:tar_git:001-configure-pipeline-properties.patch
^
|
@@ -1,4 +1,5 @@
- debug info on used flags
+- load playbin properties from settings
diff -u -r upstream\src\plugins\gstreamer\audiodecoder\audiodecoder.pro qtmultimedia-mer-5.6\src\plugins\gstreamer\audiodecoder\audiodecoder.pro
--- src/plugins/gstreamer/audiodecoder/audiodecoder.pro Fri Sep 29 20:38:02 2017
+++ src/plugins/gstreamer/audiodecoder/audiodecoder.pro Fri Sep 29 22:24:11 2017
@@ -83,49 +84,77 @@
diff -u -r upstream\src\plugins\gstreamer\mediaplayer\qgstreamerplayersession.cpp qtmultimedia-mer-5.6\src\plugins\gstreamer\mediaplayer\qgstreamerplayersession.cpp
--- src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp Fri Sep 29 20:38:05 2017
+++ src/plugins/gstreamer/mediaplayer/qgstreamerplayersession.cpp Fri Sep 29 20:55:41 2017
-@@ -56,6 +56,7 @@
+@@ -56,6 +56,9 @@
#include <QtCore/qdir.h>
#include <QtCore/qstandardpaths.h>
+#include <iostream>
++#include <QSettings>
++
//#define DEBUG_PLAYBIN
//#define DEBUG_VO_BIN_DUMP
-@@ -145,25 +146,36 @@
+@@ -145,7 +148,14 @@
Q_ASSERT(result == TRUE);
Q_UNUSED(result);
-+ qDebug() << "qDebug - QGstreamerPlayerSession - try to make " << QT_GSTREAMER_PLAYBIN_ELEMENT_NAME;
-+ qWarning() << "qWarning - QGstreamerPlayerSession - try to make " << QT_GSTREAMER_PLAYBIN_ELEMENT_NAME;
-+ qInfo() << "qInfo - QGstreamerPlayerSession - try to make " << QT_GSTREAMER_PLAYBIN_ELEMENT_NAME;
-+ std::cerr << "QGstreamerPlayerSession - try to make " << QT_GSTREAMER_PLAYBIN_ELEMENT_NAME << std::endl;
- m_playbin = gst_element_factory_make(QT_GSTREAMER_PLAYBIN_ELEMENT_NAME, NULL);
+- m_playbin = gst_element_factory_make(QT_GSTREAMER_PLAYBIN_ELEMENT_NAME, NULL);
++ QSettings settings("qtmultimedia", "settings");
++
++ QString playbinElementName = QT_GSTREAMER_PLAYBIN_ELEMENT_NAME;
++ if(settings.contains("playbin/playbin-name"))
++ playbinElementName = settings.value("playbin/playbin-name");
++ m_playbin = gst_element_factory_make(playbinElementName, NULL);
++ qInfo() << "QGstreamerPlayerSession - created " << playbinElementName;
++
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
-+ std::cerr << "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
+@@ -156,16 +166,45 @@
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);
-+ std::cerr << "QGstreamerPlayerSession - using configured flags: 0x" << std::hex << flags << std::cerr;
++ qInfo() << "QGstreamerPlayerSession - using configured flags: 0x" << std::hex << flags;
#if !GST_CHECK_VERSION(1,0,0)
} else {
flags |= GST_PLAY_FLAG_NATIVE_VIDEO;
-+ std::cerr << "QGstreamerPlayerSession - using fixed flags";
#endif
}
#endif
- g_object_set(G_OBJECT(m_playbin), "flags", flags, NULL);
+
-+ // bigger buffer for network streams
-+ g_object_set(G_OBJECT(m_playbin), "buffer-size", 128000, NULL);
++ if(settings.contains("playbin/buffer-duration")) {
++ int bufferDuration = settings.value("playbin/buffer-duration").toInt();
++ g_object_set(G_OBJECT(m_playbin), "buffer-duration", bufferDuration, NULL);
++ qInfo() << "Loaded from settings buffer-duration=" << bufferDuration;
++ }
++ if(settings.contains("playbin/buffer-size")) {
++ int bufferSize = settings.value("playbin/buffer-size").toInt();
++ g_object_set(G_OBJECT(m_playbin), "buffer-size", bufferSize, NULL);
++ qInfo() << "Loaded from settings buffer-size=" << bufferSize;
++ }
++ if(settings.contains("playbin/ring-buffer-max-size")) {
++ int ringBufferMaxSize = settings.value("playbin/ring-buffer-max-size").toInt();
++ g_object_set(G_OBJECT(m_playbin), "ring-buffer-max-size", ringBufferMaxSize, NULL);
++ qInfo() << "Loaded from settings ring-buffer-max-size=" << ringBufferMaxSize;
++ }
++ if(settings.contains("playbin/flags")) {
++ bool ok;
++ flags = settings.value("playbin/flags").toInt(&ok,0);
++ qInfo() << "Loaded from settings flags: 0x" << std::hex << flags;
++ }
++
+ g_object_set(G_OBJECT(m_playbin), "flags", flags, NULL);
- GstElement *audioSink = gst_element_factory_make("autoaudiosink", "audiosink");
+- GstElement *audioSink = gst_element_factory_make("autoaudiosink", "audiosink");
++ QString audioSinkName = "autoaudiosink";
++ if(settings.contains("playbin/audiosink-name"))
++ audioSinkName = settings.value("playbin/audiosink-name");
++ GstElement *audioSink = gst_element_factory_make(audioSinkName, "audiosink");
++ qInfo() << "Created audiosink " << audioSinkName;
++
if (audioSink) {
+ if (usePlaybinVolume()) {
+ m_audioSink = audioSink;
|
|
Deleted |
_service:tar_git:qt5-qtmultimedia-5.6.2+git6+mer.5.6.20170929212214.9.ge177cf5.tar.bz2
^
|
|
Added |
_service:tar_git:qt5-qtmultimedia-5.6.2+git6+mer.5.6.20170930095722.10.gff16d55.tar.bz2
^
|