summaryrefslogtreecommitdiffstats
path: root/gst/autodetect/gstautovideosink.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/autodetect/gstautovideosink.c')
-rw-r--r--gst/autodetect/gstautovideosink.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/gst/autodetect/gstautovideosink.c b/gst/autodetect/gstautovideosink.c
index b4a861b9..b9dfda81 100644
--- a/gst/autodetect/gstautovideosink.c
+++ b/gst/autodetect/gstautovideosink.c
@@ -57,7 +57,7 @@ gst_auto_video_sink_class_init (GstAutoVideoSinkClass * klass)
{
GstElementClass *eklass = GST_ELEMENT_CLASS (klass);
- eklass->change_state = gst_auto_video_sink_change_state;
+ eklass->change_state = GST_DEBUG_FUNCPTR (gst_auto_video_sink_change_state);
}
/*
@@ -205,15 +205,21 @@ static GstStateChangeReturn
gst_auto_video_sink_change_state (GstElement * element,
GstStateChange transition)
{
+ GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
GstAutoVideoSink *sink = GST_AUTO_VIDEO_SINK (element);
- GST_DEBUG_OBJECT (element, "Change state 0x%x", transition);
-
switch (transition) {
case GST_STATE_CHANGE_NULL_TO_READY:
if (!gst_auto_video_sink_detect (sink))
return GST_STATE_CHANGE_FAILURE;
break;
+ default:
+ break;
+ }
+
+ ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+
+ switch (transition) {
case GST_STATE_CHANGE_READY_TO_NULL:
gst_auto_video_sink_reset (sink);
break;
@@ -221,5 +227,5 @@ gst_auto_video_sink_change_state (GstElement * element,
break;
}
- return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+ return ret;
}