ext/faad/gstfaad.c: Fix off-by-one bug. Fixes warnings during playback of sincity...
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>
Mon, 17 Jan 2005 23:01:43 +0000 (23:01 +0000)
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>
Mon, 17 Jan 2005 23:01:43 +0000 (23:01 +0000)
Original commit message from CVS:
* ext/faad/gstfaad.c: (gst_faad_srcgetcaps):
Fix off-by-one bug. Fixes warnings during playback of sincity.mp4
when fixating to six channels in Totem.

ChangeLog
ext/faad/gstfaad.c

index 54532d4..1f1c765 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-01-17  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
+
+       * ext/faad/gstfaad.c: (gst_faad_srcgetcaps):
+         Fix off-by-one bug. Fixes warnings during playback of sincity.mp4
+         when fixating to six channels in Totem.
+
 2005-01-17  Tim-Philipp Müller  <tim at centricular dot net>
 
        * ext/dvdread/dvdreadsrc.c: (get_next_cell_for):
index 2005964..444437a 100644 (file)
@@ -316,18 +316,18 @@ gst_faad_srcgetcaps (GstPad * pad)
 {
   GstFaad *faad = GST_FAAD (gst_pad_get_parent (pad));
   static GstAudioChannelPosition *supported_positions = NULL;
-  static gint num_supported_positions = LFE_CHANNEL - FRONT_CHANNEL_CENTER;
+  static gint num_supported_positions = LFE_CHANNEL - FRONT_CHANNEL_CENTER + 1;
   GstCaps *templ;
 
   if (!supported_positions) {
-    guchar *supported_fpos = g_new0 (guchar,
-        LFE_CHANNEL - FRONT_CHANNEL_CENTER);
+    guchar *supported_fpos = g_new0 (guchar, num_supported_positions);
     gint n;
 
-    for (n = 0; n < LFE_CHANNEL - FRONT_CHANNEL_CENTER; n++) {
+    for (n = 0; n <= num_supported_positions; n++) {
       supported_fpos[n] = n + FRONT_CHANNEL_CENTER;
     }
-    supported_positions = gst_faad_chanpos_to_gst (supported_fpos, n);
+    supported_positions = gst_faad_chanpos_to_gst (supported_fpos,
+        num_supported_positions);
     g_free (supported_fpos);
   }