From: Seungha Yang Date: Mon, 17 Jan 2022 18:03:30 +0000 (+0900) Subject: wasapi2ringbuffer: Fix for desynced buffer-size and segsize X-Git-Tag: 1.20.0~100 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=009bc15f3397252e9e3954ae4af15ffcdbdeac69;p=platform%2Fupstream%2Fgstreamer.git wasapi2ringbuffer: Fix for desynced buffer-size and segsize GstAudioRingBufferSpec::segsize has been configured by using device period but GstWasapi2RingBuffer was referencing the buffer size returned by IAudioClient::GetBufferSize() which is most likely larger than device period. Fixing to sync them. Part-of: --- diff --git a/subprojects/gst-plugins-bad/sys/wasapi2/gstwasapi2ringbuffer.cpp b/subprojects/gst-plugins-bad/sys/wasapi2/gstwasapi2ringbuffer.cpp index 08ce65a..3b04e6c 100644 --- a/subprojects/gst-plugins-bad/sys/wasapi2/gstwasapi2ringbuffer.cpp +++ b/subprojects/gst-plugins-bad/sys/wasapi2/gstwasapi2ringbuffer.cpp @@ -1053,6 +1053,12 @@ gst_wasapi2_ring_buffer_acquire (GstAudioRingBuffer * buf, g_assert (period > 0); + if (self->buffer_size > period) { + GST_INFO_OBJECT (self, "Updating buffer size %d -> %d", self->buffer_size, + period); + self->buffer_size = period; + } + spec->segsize = period * GST_AUDIO_INFO_BPF (&buf->spec.info); spec->segtotal = 2;