Hello community, here is the log from the commit of package telepathy-stream-engine for openSUSE:Factory checked in at Fri Jun 12 19:45:48 CEST 2009. -------- --- GNOME/telepathy-stream-engine/telepathy-stream-engine.changes 2009-04-07 20:08:12.000000000 +0200 +++ telepathy-stream-engine/telepathy-stream-engine.changes 2009-06-09 14:11:02.000000000 +0200 @@ -1,0 +2,10 @@ +Tue Jun 9 14:09:16 CEST 2009 - vuntz@novell.com + +- Update to version 0.5.9: + + Allow user-specific audio sinks to be any bin + + Add a GetPreviewWindow which always returns the same window and + does not start the video source + + Add pulseaudio friendly properties + + Fix some bugs + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- telepathy-stream-engine-0.5.8.tar.bz2 New: ---- telepathy-stream-engine-0.5.9.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ telepathy-stream-engine.spec ++++++ --- /var/tmp/diff_new_pack.C13172/_old 2009-06-12 19:45:13.000000000 +0200 +++ /var/tmp/diff_new_pack.C13172/_new 2009-06-12 19:45:13.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package telepathy-stream-engine (Version 0.5.8) +# spec file for package telepathy-stream-engine (Version 0.5.9) # # Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -26,7 +26,7 @@ BuildRequires: gtk2-devel BuildRequires: libxslt BuildRequires: python-xml -Version: 0.5.8 +Version: 0.5.9 Release: 1 License: LGPL v2.1 or later # runtime dependency @@ -73,6 +73,13 @@ %{_sysconfdir}/stream-engine %changelog +* Tue Jun 09 2009 vuntz@novell.com +- Update to version 0.5.9: + + Allow user-specific audio sinks to be any bin + + Add a GetPreviewWindow which always returns the same window and + does not start the video source + + Add pulseaudio friendly properties + + Fix some bugs * Tue Apr 07 2009 vuntz@novell.com - Update to version 0.5.8: + Remove useless elements ++++++ telepathy-stream-engine-0.5.8.tar.bz2 -> telepathy-stream-engine-0.5.9.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/telepathy-stream-engine-0.5.8/api/Stream_Engine.xml new/telepathy-stream-engine-0.5.9/api/Stream_Engine.xml --- old/telepathy-stream-engine-0.5.8/api/Stream_Engine.xml 2009-01-13 00:08:07.000000000 +0100 +++ new/telepathy-stream-engine-0.5.9/api/Stream_Engine.xml 2009-06-03 18:39:07.000000000 +0200 @@ -9,6 +9,9 @@ <method name="CreatePreviewWindow"> <arg direction="out" type="u" name="window" /> </method> + <method name="GetPreviewWindow"> + <arg direction="out" type="u" name="window" /> + </method> <signal name="Receiving"> <arg type="o" name="channel_path" /> <arg type="u" name="stream_id" /> diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/telepathy-stream-engine-0.5.8/ChangeLog new/telepathy-stream-engine-0.5.9/ChangeLog --- old/telepathy-stream-engine-0.5.8/ChangeLog 2009-04-07 01:51:24.000000000 +0200 +++ new/telepathy-stream-engine-0.5.9/ChangeLog 2009-06-03 18:50:10.000000000 +0200 @@ -1,3 +1,83 @@ +commit cd4a1a7ae9b82997465bb79546f0e309b6a04dc8 +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Wed Jun 3 12:49:05 2009 -0400 + + Version 0.5.9 + +commit 3b416d8acf82aee928fe2c9d0df2275bd53035a2 +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Wed Jun 3 12:46:35 2009 -0400 + + Typecast stream-engine video sinks before calling videosink methods on them + +commit a6446f852c167e7c7b72e754a7d02a38aeee6ff9 +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Wed Jun 3 12:10:47 2009 -0400 + + Set pulse-audio friendly properties + +commit 5364da1a4007f201ed23993465147f53efa6dadd +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Wed Jun 3 11:58:09 2009 -0400 + + Disable drawing on the expose event and double-buffer in GTK+ + +commit 3152e13114cae9fdfcbfa5f2b8da273919524836 +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Wed Jun 3 11:57:49 2009 -0400 + + Recalculate latency on latency event + +commit 3a5f7101609daf187b885c76fedae0975939bf51 +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Tue Jun 2 13:29:25 2009 -0400 + + Only pass event to the singleton preview sink if it exists + +commit 47034d0c15936f4461dfe11b0b2fef3048a2fb8a +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Fri May 29 14:49:49 2009 -0400 + + Force the video sinks to be at least QCIF + +commit 2d4dae4b94b1240817ba1684a4757e5427e7cfea +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Fri May 29 14:25:12 2009 -0400 + + Add GetPreviewWindow call to get a single preview window + +commit 5b6336abc9ff42497700881dd9267b04002e3c3c +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Mon Jun 1 14:09:49 2009 -0400 + + Disable H263-2000, the payloader is broken. + + see http://bugzilla.gnome.org/show_bug.cgi?id=577784 + +commit 9d1c785dedf80108f0b8bc6e6e2c463ac112b3ea +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Thu May 14 18:47:34 2009 -0400 + + Abort on pipeline error, at least until rtpbin teardown is merged + +commit 601aaf156c23408af0794247082b11da57b03189 +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Thu May 14 18:44:28 2009 -0400 + + Error out stream if the stream-engine wrapper can not be created + +commit dd54b4795c81958b4d594fd27d8e5681c613112c +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Thu May 14 18:44:08 2009 -0400 + + Allow user-specified audio sinks to be full bins + +commit b80d59abf278ae77fbd7db355ce3d6552e30bc6e +Author: Olivier Crête <olivier.crete@collabora.co.uk> +Date: Mon Apr 6 19:54:10 2009 -0400 + + Version 0.5.8.1 + commit 71337acf23a62636d0d7d06f0884d95a94d78bf6 Author: Olivier Crête <olivier.crete@collabora.co.uk> Date: Mon Apr 6 19:45:19 2009 -0400 diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/telepathy-stream-engine-0.5.8/configure new/telepathy-stream-engine-0.5.9/configure --- old/telepathy-stream-engine-0.5.8/configure 2009-04-07 01:51:16.000000000 +0200 +++ new/telepathy-stream-engine-0.5.9/configure 2009-06-03 18:49:17.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for Telepathy Stream Engine 0.5.8. +# Generated by GNU Autoconf 2.63 for Telepathy Stream Engine 0.5.9. # # Report bugs to https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy&component=s.... # @@ -750,8 +750,8 @@ # Identity of this package. PACKAGE_NAME='Telepathy Stream Engine' PACKAGE_TARNAME='telepathy-stream-engine' -PACKAGE_VERSION='0.5.8' -PACKAGE_STRING='Telepathy Stream Engine 0.5.8' +PACKAGE_VERSION='0.5.9' +PACKAGE_STRING='Telepathy Stream Engine 0.5.9' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy&component=s...' # Factoring default headers for most tests. @@ -1533,7 +1533,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -`configure' configures Telepathy Stream Engine 0.5.8 to adapt to many kinds of systems. +`configure' configures Telepathy Stream Engine 0.5.9 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1604,7 +1604,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Telepathy Stream Engine 0.5.8:";; + short | recursive ) echo "Configuration of Telepathy Stream Engine 0.5.9:";; esac cat <<_ACEOF @@ -1739,7 +1739,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<_ACEOF -Telepathy Stream Engine configure 0.5.8 +Telepathy Stream Engine configure 0.5.9 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1753,7 +1753,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Telepathy Stream Engine $as_me 0.5.8, which was +It was created by Telepathy Stream Engine $as_me 0.5.9, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -2472,7 +2472,7 @@ # Define the identity of the package. PACKAGE='telepathy-stream-engine' - VERSION='0.5.8' + VERSION='0.5.9' cat >>confdefs.h <<_ACEOF @@ -22633,7 +22633,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Telepathy Stream Engine $as_me 0.5.8, which was +This file was extended by Telepathy Stream Engine $as_me 0.5.9, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22696,7 +22696,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\ -Telepathy Stream Engine config.status 0.5.8 +Telepathy Stream Engine config.status 0.5.9 configured by $0, generated by GNU Autoconf 2.63, with options \"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\""`$]/\\&/g'`\" diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/telepathy-stream-engine-0.5.8/configure.ac new/telepathy-stream-engine-0.5.9/configure.ac --- old/telepathy-stream-engine-0.5.8/configure.ac 2009-04-07 01:51:08.000000000 +0200 +++ new/telepathy-stream-engine-0.5.9/configure.ac 2009-06-03 18:48:37.000000000 +0200 @@ -9,7 +9,7 @@ m4_define([stream_engine_major_version], [0]) m4_define([stream_engine_minor_version], [5]) -m4_define([stream_engine_micro_version], [8]) +m4_define([stream_engine_micro_version], [9]) m4_define([stream_engine_nano_version], [0]) # Some magic diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/telepathy-stream-engine-0.5.8/gstcodecs.conf new/telepathy-stream-engine-0.5.9/gstcodecs.conf --- old/telepathy-stream-engine-0.5.8/gstcodecs.conf 2009-01-13 00:08:07.000000000 +0100 +++ new/telepathy-stream-engine-0.5.9/gstcodecs.conf 2009-06-03 18:39:07.000000000 +0200 @@ -37,3 +37,7 @@ [video/H264] [video/H263-1998] + +# Payloader is broken, see gnome bug #577784 +[video/H263-2000] +id=-1 diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/telepathy-stream-engine-0.5.8/NEWS new/telepathy-stream-engine-0.5.9/NEWS --- old/telepathy-stream-engine-0.5.8/NEWS 2009-04-07 01:51:08.000000000 +0200 +++ new/telepathy-stream-engine-0.5.9/NEWS 2009-06-03 18:48:26.000000000 +0200 @@ -1,3 +1,12 @@ +telepathy-stream-engine 0.5.9 (2009-06-03) +========================================== + +* Allow user-specific audio sinks to be any bin +* Add a GetPreviewWindow which always returns the same window + and does not start the video source +* Add pulseaudio friendly properties +* Fix some bugs + telepathy-stream-engine 0.5.8 (2009-04-06) ========================================== diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/telepathy-stream-engine-0.5.8/src/audiostream.c new/telepathy-stream-engine-0.5.9/src/audiostream.c --- old/telepathy-stream-engine-0.5.8/src/audiostream.c 2009-04-07 00:45:54.000000000 +0200 +++ new/telepathy-stream-engine-0.5.9/src/audiostream.c 2009-06-03 18:39:01.000000000 +0200 @@ -444,13 +444,14 @@ g_free (padname); if (g_getenv ("FS_AUDIOSINK")) - sink = gst_element_factory_make (g_getenv ("FS_AUDIOSINK"), NULL); + sink = gst_parse_bin_from_description (g_getenv ("FS_AUDIOSINK"), TRUE, + NULL); if (!sink && g_getenv ("FS_AUDIO_SINK")) - sink = gst_element_factory_make (g_getenv ("FS_AUDIO_SINK"), NULL); + sink = gst_parse_bin_from_description (g_getenv ("FS_AUDIO_SINK"), TRUE, + NULL); if (!sink) sink = gst_element_factory_make ("pulsesink", NULL); - if (!gst_bin_add (GST_BIN (self->priv->bin), sink)) { WARNING (self, "could not add sinkbin to the pipeline"); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/telepathy-stream-engine-0.5.8/src/stream-engine-main.c new/telepathy-stream-engine-0.5.9/src/stream-engine-main.c --- old/telepathy-stream-engine-0.5.8/src/stream-engine-main.c 2009-04-07 01:50:32.000000000 +0200 +++ new/telepathy-stream-engine-0.5.9/src/stream-engine-main.c 2009-06-03 18:39:07.000000000 +0200 @@ -255,6 +255,8 @@ } g_option_context_free (optcontext); + g_set_application_name("Maemo Telepathy Stream Engine"); + g_setenv("PULSE_PROP_media.role", "phone", TRUE); tp_debug_divert_messages (g_getenv ("STREAM_ENGINE_LOGFILE")); tp_debug_set_flags (g_getenv ("STREAM_ENGINE_DEBUG")); diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/telepathy-stream-engine-0.5.8/src/tp-stream-engine.c new/telepathy-stream-engine-0.5.9/src/tp-stream-engine.c --- old/telepathy-stream-engine-0.5.8/src/tp-stream-engine.c 2009-04-07 00:48:39.000000000 +0200 +++ new/telepathy-stream-engine-0.5.9/src/tp-stream-engine.c 2009-06-03 18:46:11.000000000 +0200 @@ -143,6 +143,8 @@ GList *output_sinks; GList *preview_sinks; + TpStreamEngineVideoPreview *preview; + guint bus_async_source_id; }; @@ -350,6 +352,10 @@ g_list_free (priv->preview_sinks); priv->preview_sinks = NULL; + if (priv->preview) + g_object_unref (priv->preview); + priv->preview = NULL; + if (priv->pipeline) { /* @@ -600,6 +606,8 @@ if (!audiostream) { + tf_stream_error (stream, TP_MEDIA_STREAM_ERROR_UNKNOWN, + "Could not create audio stream"); g_warning ("Could not create audio stream: %s", error->message); return; } @@ -619,6 +627,8 @@ if (!videostream) { g_warning ("Could not create video stream: %s", error->message); + tf_stream_error (stream, TP_MEDIA_STREAM_ERROR_UNKNOWN, + "Could not create video stream"); gst_element_release_request_pad (self->priv->videotee, pad); return; } @@ -782,12 +792,12 @@ case GST_MESSAGE_ERROR: gst_message_parse_error (message, &error, &error_string); - g_debug ("%s: got error from %s: %s: %s (%d %d), stopping pipeline", + error_all_streams (engine, error->message); + + g_error ("%s: got error from %s: %s: %s (%d %d), stopping pipeline", G_STRFUNC, name, error->message, error_string, error->domain, error->code); - error_all_streams (engine, error->message); - gst_element_set_state (engine->priv->pipeline, GST_STATE_NULL); gst_element_set_state (engine->priv->videosrc, GST_STATE_NULL); gst_element_set_state (engine->priv->pipeline, GST_STATE_PLAYING); @@ -805,7 +815,9 @@ g_error_free (error); break; } - + case GST_MESSAGE_LATENCY: + gst_bin_recalculate_latency (GST_BIN (engine->priv->pipeline)); + break; default: break; } @@ -829,33 +841,44 @@ g_mutex_lock (self->priv->mutex); + + if (self->priv->preview) + { + handled = tp_stream_engine_video_sink_bus_sync_message ( + TP_STREAM_ENGINE_VIDEO_SINK (self->priv->preview), message); + if (handled) + goto done; + } + for (item = g_list_first (self->priv->preview_sinks); item && !handled; item = g_list_next (item)) { - TpStreamEngineVideoSink *preview = item->data; + TpStreamEngineVideoSink *preview = + TP_STREAM_ENGINE_VIDEO_SINK (item->data); handled = tp_stream_engine_video_sink_bus_sync_message (preview, message); if (handled) - break; + goto done; } - if (!handled) + for (item = g_list_first (self->priv->output_sinks); + item && !handled; + item = g_list_next (item)) { - for (item = g_list_first (self->priv->output_sinks); - item && !handled; - item = g_list_next (item)) - { - TpStreamEngineVideoSink *output = item->data; + TpStreamEngineVideoSink *output = + TP_STREAM_ENGINE_VIDEO_SINK (item->data); - handled = tp_stream_engine_video_sink_bus_sync_message (output, - message); - if (handled) - break; - } + handled = tp_stream_engine_video_sink_bus_sync_message (output, + message); + if (handled) + goto done; } + + done: g_mutex_unlock (self->priv->mutex); + if (handled) { gst_message_unref (message); @@ -1091,6 +1114,69 @@ } +/** + * tp_stream_engine_get_preview_window + * + * Implements DBus method GetPreviewWindow + * on interface org.maemo.Telepathy.StreamEngine + */ +static void +tp_stream_engine_get_preview_window (StreamEngineSvcStreamEngine *iface, + DBusGMethodInvocation *context) +{ + TpStreamEngine *self = TP_STREAM_ENGINE (iface); + GError *error = NULL; + GstPad *pad; + TpStreamEngineVideoPreview *preview; + guint window_id; + + g_mutex_lock (self->priv->mutex); + if (self->priv->preview) + { + g_object_get (self->priv->preview, "window-id", &window_id, NULL); + g_mutex_unlock (self->priv->mutex); + stream_engine_svc_stream_engine_return_from_create_preview_window ( + context, + window_id); + return; + } + g_mutex_unlock (self->priv->mutex); + + preview = tp_stream_engine_video_preview_new (GST_BIN (self->priv->pipeline), + &error); + + if (!preview) + { + dbus_g_method_return_error (context, error); + g_clear_error (&error); + return; + } + + g_mutex_lock (self->priv->mutex); + if (self->priv->preview) + { + g_object_get (self->priv->preview, "window-id", &window_id, NULL); + g_mutex_unlock (self->priv->mutex); + stream_engine_svc_stream_engine_return_from_create_preview_window ( + context, + window_id); + g_object_unref (preview); + return; + } + self->priv->preview = preview; + g_mutex_unlock (self->priv->mutex); + + pad = gst_element_get_request_pad (self->priv->videotee, "src%d"); + + g_object_set (preview, "pad", pad, NULL); + + g_object_get (preview, "window-id", &window_id, NULL); + + stream_engine_svc_stream_engine_return_from_create_preview_window (context, + window_id); +} + + static void handler_result (TfChannel *chan G_GNUC_UNUSED, GError *error, @@ -1382,6 +1468,7 @@ klass, tp_stream_engine_##x) IMPLEMENT (get_output_window); IMPLEMENT (create_preview_window); + IMPLEMENT (get_preview_window); IMPLEMENT (shutdown); IMPLEMENT (attach_to_channel); #undef IMPLEMENT diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/telepathy-stream-engine-0.5.8/src/videosink.c new/telepathy-stream-engine-0.5.9/src/videosink.c --- old/telepathy-stream-engine-0.5.8/src/videosink.c 2009-04-07 00:49:17.000000000 +0200 +++ new/telepathy-stream-engine-0.5.9/src/videosink.c 2009-06-03 18:39:07.000000000 +0200 @@ -307,6 +307,14 @@ gtk_widget_show (widget); } +static gboolean +expose_handler (GtkWidget *widget, + GdkEventExpose *event, + gpointer user_data) +{ + return TRUE; +} + static GObject * tp_stream_engine_video_sink_constructor (GType type, guint n_props, @@ -325,10 +333,15 @@ gst_object_ref (self->priv->sink); self->priv->plug = gtk_plug_new (0); + gtk_widget_set_size_request (self->priv->plug, 176, 144); + gtk_widget_set_double_buffered (self->priv->plug, FALSE); + gtk_widget_set_app_paintable (self->priv->plug, TRUE); self->priv->delete_event_handler_id = g_signal_connect (self->priv->plug, "delete-event", G_CALLBACK (delete_event), self); self->priv->embedded_handler_id = g_signal_connect (self->priv->plug, "embedded", G_CALLBACK (embedded_event), NULL); + g_signal_connect (self->priv->plug, "expose-event", + G_CALLBACK (expose_handler), NULL); self->priv->window_id = gtk_plug_get_id (GTK_PLUG (self->priv->plug)); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org