diff --git a/ChangeLog b/ChangeLog index 89a726d8d1..803048ad52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2005-05-01 Benjamin Otte + + * gst/elements/gstfakesink.c: (gst_fakesink_change_state): + don't error when we are in error already + the correct fix would be to not allow erroring in downwards + state changes, but I guess the API police would hunt me down if I + did that + 2005-04-26 Wim Taymans * gst/gsttrashstack.h: diff --git a/gst/elements/gstfakesink.c b/gst/elements/gstfakesink.c index 851b6f9375..c06ecf51e7 100644 --- a/gst/elements/gstfakesink.c +++ b/gst/elements/gstfakesink.c @@ -396,7 +396,8 @@ gst_fakesink_change_state (GstElement * element) goto error; break; case GST_STATE_PLAYING_TO_PAUSED: - if (fakesink->state_error == FAKESINK_STATE_ERROR_PLAYING_PAUSED) + if (!GST_FLAG_IS_SET (fakesink, GST_ELEMENT_IN_ERROR) && + fakesink->state_error == FAKESINK_STATE_ERROR_PLAYING_PAUSED) goto error; break; case GST_STATE_PAUSED_TO_READY: diff --git a/plugins/elements/gstfakesink.c b/plugins/elements/gstfakesink.c index 851b6f9375..c06ecf51e7 100644 --- a/plugins/elements/gstfakesink.c +++ b/plugins/elements/gstfakesink.c @@ -396,7 +396,8 @@ gst_fakesink_change_state (GstElement * element) goto error; break; case GST_STATE_PLAYING_TO_PAUSED: - if (fakesink->state_error == FAKESINK_STATE_ERROR_PLAYING_PAUSED) + if (!GST_FLAG_IS_SET (fakesink, GST_ELEMENT_IN_ERROR) && + fakesink->state_error == FAKESINK_STATE_ERROR_PLAYING_PAUSED) goto error; break; case GST_STATE_PAUSED_TO_READY: