diff --git a/ext/libvisual/gstaudiovisualizer.c b/ext/libvisual/gstaudiovisualizer.c index 639f1e4898..3aac927c8f 100644 --- a/ext/libvisual/gstaudiovisualizer.c +++ b/ext/libvisual/gstaudiovisualizer.c @@ -750,8 +750,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) + goto setup_failed; GST_DEBUG_OBJECT (scope, "video: dimension %dx%d, framerate %d/%d", GST_VIDEO_INFO_WIDTH (&info), GST_VIDEO_INFO_HEIGHT (&info), @@ -772,6 +772,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