mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-19 20:46:22 +00:00
libs/gst/base/gstbasesink.c: Don't send an async_start message during downwards state change if target state is less ...
Original commit message from CVS: * libs/gst/base/gstbasesink.c: Don't send an async_start message during downwards state change if target state is less than READY
This commit is contained in:
parent
6473b0adc1
commit
c99ddd944f
2 changed files with 16 additions and 6 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2007-08-09 Philippe Kalaf <philippe.kalaf@collabora.co.uk>
|
||||||
|
|
||||||
|
* libs/gst/base/gstbasesink.c:
|
||||||
|
Don't send an async_start message during downwards state change if target
|
||||||
|
state is less than READY
|
||||||
|
|
||||||
2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
|
2007-08-09 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||||
|
|
||||||
translated by: Gabor Kelemen <kelemeng@gnome.hu>
|
translated by: Gabor Kelemen <kelemeng@gnome.hu>
|
||||||
|
|
|
@ -2923,12 +2923,16 @@ gst_base_sink_change_state (GstElement * element, GstStateChange transition)
|
||||||
GST_DEBUG_OBJECT (basesink, "PLAYING to PAUSED, we are prerolled");
|
GST_DEBUG_OBJECT (basesink, "PLAYING to PAUSED, we are prerolled");
|
||||||
basesink->playing_async = FALSE;
|
basesink->playing_async = FALSE;
|
||||||
} else {
|
} else {
|
||||||
GST_DEBUG_OBJECT (basesink, "PLAYING to PAUSED, need preroll");
|
if (GST_STATE_TARGET (GST_ELEMENT (basesink)) <= GST_STATE_READY) {
|
||||||
basesink->playing_async = TRUE;
|
ret = GST_STATE_CHANGE_SUCCESS;
|
||||||
basesink->priv->commited = FALSE;
|
} else {
|
||||||
ret = GST_STATE_CHANGE_ASYNC;
|
GST_DEBUG_OBJECT (basesink, "PLAYING to PAUSED, need preroll");
|
||||||
gst_element_post_message (GST_ELEMENT_CAST (basesink),
|
basesink->playing_async = TRUE;
|
||||||
gst_message_new_async_start (GST_OBJECT_CAST (basesink), FALSE));
|
basesink->priv->commited = FALSE;
|
||||||
|
ret = GST_STATE_CHANGE_ASYNC;
|
||||||
|
gst_element_post_message (GST_ELEMENT_CAST (basesink),
|
||||||
|
gst_message_new_async_start (GST_OBJECT_CAST (basesink), FALSE));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
GST_DEBUG_OBJECT (basesink, "rendered: %" G_GUINT64_FORMAT
|
GST_DEBUG_OBJECT (basesink, "rendered: %" G_GUINT64_FORMAT
|
||||||
", dropped: %" G_GUINT64_FORMAT, basesink->priv->rendered,
|
", dropped: %" G_GUINT64_FORMAT, basesink->priv->rendered,
|
||||||
|
|
Loading…
Reference in a new issue