diff options
author | Paul HENRYS <visechelle@gmail.com> | 2013-03-22 13:41:17 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2013-04-15 08:22:03 +0200 |
commit | 447f68d13b4d4e6098618f92b33a898a686d4bcb (patch) | |
tree | b0f043adfb210952cda51971ce662805246d1885 | |
parent | 1454914a2b1b94d433a4075e433b4111a280a322 (diff) |
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
-rw-r--r-- | gst-libs/gst/audio/gstaudiobasesrc.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/gst-libs/gst/audio/gstaudiobasesrc.c b/gst-libs/gst/audio/gstaudiobasesrc.c index 7bcec97b2..efe4f2091 100644 --- a/gst-libs/gst/audio/gstaudiobasesrc.c +++ b/gst-libs/gst/audio/gstaudiobasesrc.c @@ -530,6 +530,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; @@ -550,10 +553,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"); |