opusenc: fix calculation of filler data size
authorVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Thu, 29 Sep 2011 13:22:33 +0000 (14:22 +0100)
committerVincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Mon, 7 Nov 2011 11:21:26 +0000 (11:21 +0000)
https://bugzilla.gnome.org/show_bug.cgi?id=660469

ext/opus/gstopusenc.c

index 75ccaaa..9fc3075 100644 (file)
@@ -807,7 +807,7 @@ gst_opus_enc_encode (GstOpusEnc * enc, gboolean flush)
       (enc->bitrate * enc->frame_samples / enc->sample_rate + 4) / 8;
 
   if (flush && gst_adapter_available (enc->adapter) % bytes != 0) {
-    guint diff = gst_adapter_available (enc->adapter) % bytes;
+    guint diff = bytes - gst_adapter_available (enc->adapter) % bytes;
     GstBuffer *buf = gst_buffer_new_and_alloc (diff);
 
     memset (GST_BUFFER_DATA (buf), 0, diff);