From: <wt...@fr...> - 2005-03-10 17:44:02
|
CVS Root: /cvs/gstreamer Module: gstreamer Changes by: wtay Date: Thu Mar 10 2005 09:44:00 PST Branch: BRANCH-THREADED Log message: * gst/base/gstbasesink.c: (gst_basesink_change_state): Fix preroll lockup. Modified files: . : ChangeLog gst/base : gstbasesink.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/ChangeLog.diff?r1=1.858.2.77&r2=1.858.2.78 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/base/gstbasesink.c.diff?r1=1.1.2.6&r2=1.1.2.7 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gstreamer/ChangeLog,v retrieving revision 1.858.2.77 retrieving revision 1.858.2.78 diff -u -d -r1.858.2.77 -r1.858.2.78 --- ChangeLog 10 Mar 2005 12:53:15 -0000 1.858.2.77 +++ ChangeLog 10 Mar 2005 17:43:47 -0000 1.858.2.78 @@ -1,5 +1,10 @@ 2005-03-10 Wim Taymans <wi...@fl...> + * gst/base/gstbasesink.c: (gst_basesink_change_state): + Fix preroll lockup. + +2005-03-10 Wim Taymans <wi...@fl...> * REQUIREMENTS: * docs/design/part-MT-refcounting.txt: * docs/design/part-clocks.txt: Index: gstbasesink.c RCS file: /cvs/gstreamer/gstreamer/gst/base/Attic/gstbasesink.c,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -d -r1.1.2.6 -r1.1.2.7 --- gstbasesink.c 7 Mar 2005 10:35:12 -0000 1.1.2.6 +++ gstbasesink.c 10 Mar 2005 17:43:48 -0000 1.1.2.7 @@ -814,6 +814,13 @@ } GST_PREROLL_UNLOCK (basesink->sinkpad); break; + default: + break; + } + GST_ELEMENT_CLASS (parent_class)->change_state (element); + switch (transition) { case GST_STATE_PLAYING_TO_PAUSED: { gboolean eos; @@ -850,6 +857,7 @@ basesink->need_preroll = FALSE; basesink->have_preroll = FALSE; /* make sure the element is finished processing */ GST_STREAM_LOCK (basesink->sinkpad); GST_STREAM_UNLOCK (basesink->sinkpad); @@ -860,7 +868,6 @@ } - GST_ELEMENT_CLASS (parent_class)->change_state (element); DEBUG ("state change < %p %x\n", basesink, transition); return ret; } |