diff --git a/gst/audiovisualizers/gstaudiovisualizer.c b/gst/audiovisualizers/gstaudiovisualizer.c index 954db141a2..ef49747739 100644 --- a/gst/audiovisualizers/gstaudiovisualizer.c +++ b/gst/audiovisualizers/gstaudiovisualizer.c @@ -758,8 +758,8 @@ gst_audio_visualizer_src_setcaps (GstAudioVisualizer * scope, GstCaps * caps) gst_video_frame_map (&scope->tempframe, &scope->vinfo, scope->tempbuf, GST_MAP_READWRITE); - if (klass->setup) - res = klass->setup (scope); + if (klass->setup && !klass->setup (scope)) + goto setup_failed; GST_DEBUG_OBJECT (scope, "video: dimension %dx%d, framerate %d/%d", GST_VIDEO_INFO_WIDTH (&info), GST_VIDEO_INFO_HEIGHT (&info), @@ -782,6 +782,12 @@ wrong_caps: GST_DEBUG_OBJECT (scope, "error parsing caps"); return FALSE; } + +setup_failed: + { + GST_WARNING_OBJECT (scope, "failed to set up"); + return FALSE; + } } static gboolean