[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [phonon-gstreamer/1.0-porting-for-merge] gstreamer: Merge branch 'master' into 1.0-porting-for-merge
From:       Dan_Vrátil <dvratil () redhat ! com>
Date:       2013-10-24 13:57:46
Message-ID: E1VZLQ2-0000CS-0q () scm ! kde ! org
[Download RAW message or body]

Git commit 86563930234bbca8066aa8f55f0df211d58fc8ff by Dan Vrátil.
Committed on 24/10/2013 at 13:56.
Pushed by dvratil into branch '1.0-porting-for-merge'.

Merge branch 'master' into 1.0-porting-for-merge

Conflicts:
	gstreamer/medianode.cpp

M  +16   -8    gstreamer/CMakeLists.txt
M  +29   -0    gstreamer/audiooutput.cpp
M  +12   -101  gstreamer/medianode.cpp
M  +1    -4    gstreamer/mediaobject.cpp
M  +1    -1    gstreamer/pipeline.cpp
M  +1    -1    gstreamer/pipeline.h
M  +1    -1    gstreamer/plugininstaller.cpp
M  +1    -1    gstreamer/plugininstaller.h
M  +1    -1    gstreamer/videodataoutput.cpp

http://commits.kde.org/phonon-gstreamer/86563930234bbca8066aa8f55f0df211d58fc8ff

diff --cc gstreamer/audiooutput.cpp
index 5403404,b73df4d..6d58153
--- a/gstreamer/audiooutput.cpp
+++ b/gstreamer/audiooutput.cpp
@@@ -22,8 -22,8 +22,9 @@@
  #include "devicemanager.h"
  #include "mediaobject.h"
  #include "gsthelper.h"
 +#include "phonon-config-gstreamer.h"
  #include <phonon/audiooutput.h>
+ #include <phonon/pulsesupport.h>
  
  #include <QtCore/QStringBuilder>
  
@@@ -215,6 -210,30 +216,34 @@@ bool AudioOutput::setOutputDevice(cons
  }
  #endif
  
+ #if (PHONON_VERSION >= PHONON_VERSION_CHECK(4, 6, 50))
+ void AudioOutput::setStreamUuid(QString uuid)
+ {
+     m_streamUuid = uuid;
+ #warning this really needs a check for pulsesink as well
+     if (g_object_class_find_property(G_OBJECT_GET_CLASS(m_audioSink), \
"stream-properties")) { +         const QHash<QString, QString> streamProperties = \
PulseSupport::getInstance()->streamProperties(uuid); ++#if GST_VERSION < \
GST_VERSION_CHECK (1,0,0,0) +         GstStructure *properties = \
gst_structure_empty_new("props"); ++#else
++        GstStructure *properties = gst_structure_new_empty("props");
++#endif
+ 
+         QHashIterator<QString, QString> it(streamProperties);
+         while (it.hasNext()) {
+             it.next();
+             gst_structure_set(properties,
+                               it.key().toUtf8().constData(), G_TYPE_STRING, \
it.value().toUtf8().constData(), +                               NULL);
+         }
+ 
+         Q_ASSERT(properties);
+         g_object_set (m_audioSink, "stream-properties", properties, NULL);
+         gst_structure_free(properties);
+     }
+ }
+ #endif
+ 
  }
  } //namespace Phonon::Gstreamer
  #include "moc_audiooutput.cpp"
diff --cc gstreamer/medianode.cpp
index a8b1e4e,fb633cb..b7f459a
--- a/gstreamer/medianode.cpp
+++ b/gstreamer/medianode.cpp
@@@ -47,42 -43,16 +45,24 @@@ MediaNode::MediaNode(Backend *backend, 
  
      if (description & AudioSource) {
          m_audioTee = gst_element_factory_make("tee", NULL);
+         Q_ASSERT(m_audioTee); // Must not ever be null.
          gst_object_ref (GST_OBJECT (m_audioTee));
 +#if GST_VERSION < GST_VERSION_CHECK (1,0,0,0)
          gst_object_sink (GST_OBJECT (m_audioTee));
 +#else
 +        gst_object_ref_sink (GST_OBJECT (m_audioTee));
 +#endif
- 
-         // Fake audio sink to swallow unconnected audio pads
-         m_fakeAudioSink = gst_element_factory_make("fakesink", NULL);
-         g_object_set (G_OBJECT (m_fakeAudioSink), "sync", TRUE, NULL);
-         gst_object_ref (GST_OBJECT (m_fakeAudioSink));
- #if GST_VERSION < GST_VERSION_CHECK (1,0,0,0)
-         gst_object_sink (GST_OBJECT (m_fakeAudioSink));
- #else
-         gst_object_ref_sink (GST_OBJECT (m_fakeAudioSink));
- #endif
      }
  
      if (description & VideoSource) {
          m_videoTee = gst_element_factory_make("tee", NULL);
+         Q_ASSERT(m_videoTee); // Must not ever be null.
          gst_object_ref (GST_OBJECT (m_videoTee));
 +#if GST_VERSION < GST_VERSION_CHECK (1,0,0,0)
          gst_object_sink (GST_OBJECT (m_videoTee));
 +#else
 +        gst_object_ref_sink (GST_OBJECT (m_videoTee));
 +#endif
- 
-         // Fake video sink to swallow unconnected video pads
-         m_fakeVideoSink = gst_element_factory_make("fakesink", NULL);
-         g_object_set (G_OBJECT (m_fakeVideoSink), "sync", TRUE, NULL);
-         gst_object_ref (GST_OBJECT (m_fakeVideoSink));
- #if GST_VERSION < GST_VERSION_CHECK (1,0,0,0)
-         gst_object_sink (GST_OBJECT (m_fakeVideoSink));
- #else
-         gst_object_ref_sink (GST_OBJECT (m_fakeVideoSink));
- #endif
      }
  }
  


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic