audiobuffersplit: Calculate the correct size for fixed size buffers
authorJan Schmidt <jan@centricular.com>
Wed, 16 Dec 2020 17:41:18 +0000 (04:41 +1100)
committerJan Schmidt <jan@centricular.com>
Wed, 16 Dec 2020 17:41:18 +0000 (04:41 +1100)
Fix the output-buffer-size property to do what it says by calculating
the correct audio buffer size for that target size, rounded down to
the nearest whole number of samples.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1887>

gst/audiobuffersplit/gstaudiobuffersplit.c

index 68bf40d..911c598 100644 (file)
@@ -230,8 +230,9 @@ gst_audio_buffer_split_update_samples_per_buffer (GstAudioBufferSplit * self)
   }
 
   if (self->output_buffer_size) {
-    self->output_buffer_duration_n = GST_AUDIO_INFO_BPF (&self->info);
-    self->output_buffer_duration_d = self->output_buffer_size;
+    self->output_buffer_duration_n =
+        self->output_buffer_size / GST_AUDIO_INFO_BPF (&self->info);
+    self->output_buffer_duration_d = GST_AUDIO_INFO_RATE (&self->info);
   }
 
   self->samples_per_buffer =