ext/faad/gstfaad.c: Fix off-by-one bug. Fixes warnings during playback of sincity.mp4 when fixating to six channels i...

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.
This commit is contained in:
Ronald S. Bultje 2005-01-17 23:01:43 +00:00
parent 59394d1f89
commit a3efdf57df
2 changed files with 11 additions and 5 deletions

View file

@ -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> 2005-01-17 Tim-Philipp Müller <tim at centricular dot net>
* ext/dvdread/dvdreadsrc.c: (get_next_cell_for): * ext/dvdread/dvdreadsrc.c: (get_next_cell_for):

View file

@ -316,18 +316,18 @@ gst_faad_srcgetcaps (GstPad * pad)
{ {
GstFaad *faad = GST_FAAD (gst_pad_get_parent (pad)); GstFaad *faad = GST_FAAD (gst_pad_get_parent (pad));
static GstAudioChannelPosition *supported_positions = NULL; 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; GstCaps *templ;
if (!supported_positions) { if (!supported_positions) {
guchar *supported_fpos = g_new0 (guchar, guchar *supported_fpos = g_new0 (guchar, num_supported_positions);
LFE_CHANNEL - FRONT_CHANNEL_CENTER);
gint n; 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_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); g_free (supported_fpos);
} }