Package: teatime
Version: 2.6.0-5
Severity: normal

Hi,
please take the attached patch for teatime. It was made against version
2.8.0 but should also apply to 2.6.0 without any problems.

First part is for setting the playbin to state NULL which means that it
won't have the sound device open anymore as in the READY state. On many
machines the sound device can only be opened once so this would mean a
fairly big problem otherwise.

The second part uses the gconfaudiosink as audio sink if available. This
would make it use whatever you set in gstreamer-properties. For a Gnome
application this is essential IMHO.
You should Recommend gstreamer0.10-plugins-good for this change.

The third part sets fakesink as videosink to supress video output in any
case.
You should Recommend gstreamer0.10-plugins-base for this change.

Bye

PS: This patch is also sent upstream already...
--- teatime_applet_2-2.8.0-old/src/teatime.c	2007-02-02 20:33:03.000000000 +0100
+++ teatime_applet_2-2.8.0/src/teatime.c	2007-05-06 22:00:03.000000000 +0200
@@ -258,7 +258,7 @@
   switch (GST_MESSAGE_TYPE (msg)) {
     case GST_MESSAGE_ERROR:
     case GST_MESSAGE_EOS:
-      gst_element_set_state (GST_ELEMENT (data), GST_STATE_READY);
+      gst_element_set_state (GST_ELEMENT (data), GST_STATE_NULL);
       break;
     default:
       break;
@@ -626,9 +626,19 @@
   teatime->sound = gst_element_factory_make ("playbin", "playbin");
   if (teatime->sound) {
       GstBus *bus;
+      GstElement *sink;
 
-      g_object_set (G_OBJECT (teatime->sound), "video-sink", NULL, NULL);
-      g_object_set (G_OBJECT (teatime->sound), "vis-plugin", NULL, NULL);
+      sink = gst_element_factory_make ("gconfaudiosink", "audiosink");
+      if (sink)
+          g_object_set (G_OBJECT (teatime->sound), "audio-sink", sink, NULL);
+
+      sink = gst_element_factory_make ("fakesink", "fakevideosink");
+      if (sink)
+          g_object_set (G_OBJECT (teatime->sound), "video-sink", sink, NULL);
+
+      sink = gst_element_factory_make ("fakesink", "fakevis");
+      if (sink)
+          g_object_set (G_OBJECT (teatime->sound), "vis-plugin", sink, NULL);
 
       bus = gst_pipeline_get_bus (GST_PIPELINE (teatime->sound));
       gst_bus_add_watch (bus, bus_callback, teatime->sound);

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply via email to