From: <wt...@ke...> - 2007-11-06 12:28:42
|
CVS Root: /cvs/gstreamer Module: gstreamer Changes by: wtay Date: Tue Nov 06 2007 12:28:31 UTC Log message: * gst/gstelement.c: (gst_element_set_state_func): Only change the state cookie if a different state was set on the element. See #492729. Modified files: . : ChangeLog gst : gstelement.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/ChangeLog.diff?r1=1.3519&r2=1.3520 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gstelement.c.diff?r1=1.463&r2=1.464 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gstreamer/ChangeLog,v retrieving revision 1.3519 retrieving revision 1.3520 diff -u -d -r1.3519 -r1.3520 --- ChangeLog 6 Nov 2007 11:41:30 -0000 1.3519 +++ ChangeLog 6 Nov 2007 12:28:15 -0000 1.3520 @@ -1,3 +1,9 @@ +2007-11-06 Wim Taymans <wim...@gm...> + + * gst/gstelement.c: (gst_element_set_state_func): + Only change the state cookie if a different state was set on the + element. See #492729. 2007-11-06 Tim-Philipp Müller <tim at centricular dot net> * gst/gstvalue.c: Index: gstelement.c RCS file: /cvs/gstreamer/gstreamer/gst/gstelement.c,v retrieving revision 1.463 retrieving revision 1.464 diff -u -d -r1.463 -r1.464 --- gstelement.c 3 Oct 2007 15:27:24 -0000 1.463 +++ gstelement.c 6 Nov 2007 12:28:17 -0000 1.464 @@ -2300,12 +2300,15 @@ current = GST_STATE (element); next = GST_STATE_NEXT (element); old_pending = GST_STATE_PENDING (element); - /* increment state cookie so that we can track each state change */ - element->state_cookie++; /* this is the (new) state we should go to. TARGET is the last state we set on * the element. */ - GST_STATE_TARGET (element) = state; + if (state != GST_STATE_TARGET (element)) { + GST_STATE_TARGET (element) = state; + /* increment state cookie so that we can track each state change. We only do + * this if this is actually a new state change. */ + element->state_cookie++; + } GST_STATE_PENDING (element) = state; GST_CAT_DEBUG_OBJECT (GST_CAT_STATES, element, |