rpms/gstreamer-plugins-base/devel gstpb-pulse-hang-bz556986.patch, NONE, 1.1 gstreamer-plugins-base.spec, 1.67, 1.68
Bastien Nocera
hadess at fedoraproject.org
Tue Jan 13 18:38:01 UTC 2009
Author: hadess
Update of /cvs/pkgs/rpms/gstreamer-plugins-base/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29406
Modified Files:
gstreamer-plugins-base.spec
Added Files:
gstpb-pulse-hang-bz556986.patch
Log Message:
* Tue Jan 13 2009 - Bastien Nocera <bnocera at redhat.com> - 0.10.2-4
- Avoid deadlocks when PulseAudio disappears
gstpb-pulse-hang-bz556986.patch:
--- NEW FILE gstpb-pulse-hang-bz556986.patch ---
--- gst-libs/gst/audio/gstbaseaudiosink.c 2008/12/20 12:45:03 1.113
+++ gst-libs/gst/audio/gstbaseaudiosink.c 2009/01/05 17:13:13 1.114
@@ -1710,18 +1710,6 @@
}
static GstStateChangeReturn
-gst_base_audio_sink_do_play (GstBaseAudioSink * sink)
-{
- GstStateChangeReturn ret;
-
- GST_OBJECT_LOCK (sink);
- ret = gst_base_audio_sink_async_play (GST_BASE_SINK_CAST (sink));
- GST_OBJECT_UNLOCK (sink);
-
- return ret;
-}
-
-static GstStateChangeReturn
gst_base_audio_sink_change_state (GstElement * element,
GstStateChange transition)
{
@@ -1745,15 +1733,23 @@
gst_ring_buffer_may_start (sink->ringbuffer, FALSE);
break;
case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
- gst_base_audio_sink_do_play (sink);
+ GST_OBJECT_LOCK (sink);
+ GST_DEBUG_OBJECT (sink, "ringbuffer may start now");
+ sink->priv->sync_latency = TRUE;
+ GST_OBJECT_UNLOCK (sink);
+
+ gst_ring_buffer_may_start (sink->ringbuffer, TRUE);
+ if (GST_BASE_SINK_CAST (sink)->pad_mode == GST_ACTIVATE_PULL) {
+ /* we always start the ringbuffer in pull mode immediatly */
+ gst_ring_buffer_start (sink->ringbuffer);
+ }
break;
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
- /* need to take the lock so we don't interfere with an
- * async play */
- GST_OBJECT_LOCK (sink);
/* ringbuffer cannot start anymore */
gst_ring_buffer_may_start (sink->ringbuffer, FALSE);
gst_ring_buffer_pause (sink->ringbuffer);
+
+ GST_OBJECT_LOCK (sink);
sink->priv->sync_latency = FALSE;
GST_OBJECT_UNLOCK (sink);
break;
Index: gstreamer-plugins-base.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gstreamer-plugins-base/devel/gstreamer-plugins-base.spec,v
retrieving revision 1.67
retrieving revision 1.68
diff -u -r1.67 -r1.68
--- gstreamer-plugins-base.spec 1 Jan 2009 18:18:06 -0000 1.67
+++ gstreamer-plugins-base.spec 13 Jan 2009 18:37:30 -0000 1.68
@@ -5,7 +5,7 @@
Name: %{gstreamer}-plugins-base
Version: 0.10.21
-Release: 3%{?dist}
+Release: 4%{?dist}
Summary: GStreamer streaming media framework base plug-ins
Group: Applications/Multimedia
@@ -15,6 +15,8 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Patch0: gstpb-0.10.15-cd-speed.patch
+# http://bugzilla.gnome.org/show_bug.cgi?id=556986
+Patch1: gstpb-pulse-hang-bz556986.patch
Requires: %{gstreamer} >= %{_gst}
Requires: liboil >= 0.3.12-9
@@ -53,6 +55,7 @@
%prep
%setup -q -n gst-plugins-base-%{version}
%patch0 -p1 -b .cd-speed
+%patch1 -p0 -b .pulse-hang
%build
%configure \
@@ -238,6 +241,9 @@
%doc %{_datadir}/gtk-doc/html/gst-plugins-base-plugins-%{majorminor}
%changelog
+* Tue Jan 13 2009 - Bastien Nocera <bnocera at redhat.com> - 0.10.2-4
+- Avoid deadlocks when PulseAudio disappears
+
* Thu Jan 1 2009 - Rex Dieter <rdieter at fedoraproject.org> - 0.10.2-3
- rebuild for pkgconfig deps (#478577)
More information about the fedora-extras-commits
mailing list