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: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1533>
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;