mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-06 07:28:53 +00:00
gst/base/gstbasesrc.c: Handle state change failure more correctly.
Original commit message from CVS: * gst/base/gstbasesrc.c: (gst_base_src_change_state): Handle state change failure more correctly.
This commit is contained in:
parent
1b8f44e409
commit
74d0352327
3 changed files with 23 additions and 8 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2005-09-19 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
|
* gst/base/gstbasesrc.c: (gst_base_src_change_state):
|
||||||
|
Handle state change failure more correctly.
|
||||||
|
|
||||||
2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
2005-09-19 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||||
|
|
||||||
* check/Makefile.am:
|
* check/Makefile.am:
|
||||||
|
|
|
@ -1077,10 +1077,8 @@ gst_base_src_change_state (GstElement * element, GstStateChange transition)
|
||||||
|
|
||||||
if ((presult =
|
if ((presult =
|
||||||
GST_ELEMENT_CLASS (parent_class)->change_state (element,
|
GST_ELEMENT_CLASS (parent_class)->change_state (element,
|
||||||
transition)) != GST_STATE_CHANGE_SUCCESS) {
|
transition)) == GST_STATE_CHANGE_FAILURE)
|
||||||
gst_base_src_stop (basesrc);
|
goto failure;
|
||||||
return presult;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (transition) {
|
switch (transition) {
|
||||||
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
|
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
|
||||||
|
@ -1102,4 +1100,11 @@ gst_base_src_change_state (GstElement * element, GstStateChange transition)
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
|
/* ERRORS */
|
||||||
|
failure:
|
||||||
|
{
|
||||||
|
gst_base_src_stop (basesrc);
|
||||||
|
return presult;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1077,10 +1077,8 @@ gst_base_src_change_state (GstElement * element, GstStateChange transition)
|
||||||
|
|
||||||
if ((presult =
|
if ((presult =
|
||||||
GST_ELEMENT_CLASS (parent_class)->change_state (element,
|
GST_ELEMENT_CLASS (parent_class)->change_state (element,
|
||||||
transition)) != GST_STATE_CHANGE_SUCCESS) {
|
transition)) == GST_STATE_CHANGE_FAILURE)
|
||||||
gst_base_src_stop (basesrc);
|
goto failure;
|
||||||
return presult;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (transition) {
|
switch (transition) {
|
||||||
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
|
case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
|
||||||
|
@ -1102,4 +1100,11 @@ gst_base_src_change_state (GstElement * element, GstStateChange transition)
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
|
/* ERRORS */
|
||||||
|
failure:
|
||||||
|
{
|
||||||
|
gst_base_src_stop (basesrc);
|
||||||
|
return presult;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue