From: Paul HENRYS Date: Fri, 22 Mar 2013 12:41:17 +0000 (+0100) Subject: audiobasesrc: Fix ringbuffer handling when settings caps X-Git-Tag: 1.1.1~256 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=78a8531c7539dda7c22ca4b9bbd238c9c337005f;p=platform%2Fupstream%2Fgst-plugins-base.git audiobasesrc: Fix ringbuffer handling when settings caps ringbuffer was released after setting values to its spec field in gst_audio_base_src_setcaps(). This led to failure in case gst_audio_base_src_setcaps() is called more than one time. https://bugzilla.gnome.org/show_bug.cgi?id=696540 --- diff --git a/gst-libs/gst/audio/gstaudiobasesrc.c b/gst-libs/gst/audio/gstaudiobasesrc.c index 66bade4..8f1721b 100644 --- a/gst-libs/gst/audio/gstaudiobasesrc.c +++ b/gst-libs/gst/audio/gstaudiobasesrc.c @@ -534,6 +534,9 @@ gst_audio_base_src_setcaps (GstBaseSrc * bsrc, GstCaps * caps) GstAudioRingBufferSpec *spec; gint bpf, rate; + GST_DEBUG ("release old ringbuffer"); + gst_audio_ring_buffer_release (src->ringbuffer); + spec = &src->ringbuffer->spec; spec->buffer_time = src->buffer_time; @@ -554,10 +557,6 @@ gst_audio_base_src_setcaps (GstBaseSrc * bsrc, GstCaps * caps) GST_OBJECT_UNLOCK (src); - GST_DEBUG ("release old ringbuffer"); - - gst_audio_ring_buffer_release (src->ringbuffer); - gst_audio_ring_buffer_debug_spec_buff (spec); GST_DEBUG ("acquire new ringbuffer");