audiobasesrc: fix ring buffer leak on open failure

This commit is contained in:
Vincent Penquerc'h 2015-04-09 12:59:38 +01:00
parent 0915cb0e78
commit 4e6b917ba3

View file

@ -1140,8 +1140,13 @@ gst_audio_base_src_change_state (GstElement * element,
src->ringbuffer = rb;
GST_OBJECT_UNLOCK (src);
if (!gst_audio_ring_buffer_open_device (src->ringbuffer))
if (!gst_audio_ring_buffer_open_device (src->ringbuffer)) {
GST_OBJECT_LOCK (src);
gst_object_unparent (GST_OBJECT_CAST (src->ringbuffer));
src->ringbuffer = NULL;
GST_OBJECT_UNLOCK (src);
goto open_failed;
}
break;
}
case GST_STATE_CHANGE_READY_TO_PAUSED: