Commit graph

7 commits

Author SHA1 Message Date
Jan Alexander Steffens (heftig)
19d34f6b5e fdkaacdec: Use WAV channel mapping instead of interleave setting
The latter is going away in libfdk-aac 2.0.0. Instead, MPEG-style output
is always non-interleaved and WAV-style output is always interleaved.
Earlier libfdk-aac also defaults interleaving accordingly.

Since our reordering looks at the associated PCE indices instead of the
actual channel order, we're agnostic to the mapping.

For https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/825
2018-12-05 21:50:03 +00:00
Vincent Penquerc'h
ce59031b10 fdkaacenc: fix accessing freed memory
The buffer data is not always copied in _Fill, and will be
read in _DecodeFrame. We unmap at the end of the function,
whether we get there via failure or early out, and keep a
ref to the buffer to ensure we can use it to unmap the
memory even after _finish_frame is called, as it unrefs
the buffer.

Note that there is an access beyond the allocated buffer,
which is only apparent when playing from souphttpsrc (ie,
not from filesrc). This appears to be a bug in the bit
reading code in libfdkaac AFAICT.

https://bugzilla.gnome.org/show_bug.cgi?id=772186
2016-09-29 15:13:07 +01:00
Vincent Penquerc'h
58bb21c463 fdkaacdec: avoid memory corruption on decoding error
The buffer size is expected to be in multiples of the sample size,
not in bytes.

https://bugzilla.gnome.org/show_bug.cgi?id=772186
2016-09-29 15:13:07 +01:00
Vincent Penquerc'h
95de5bf193 fdkaacenc: fix buffer leak
https://bugzilla.gnome.org/show_bug.cgi?id=772186
2016-09-29 15:13:07 +01:00
Vincent Penquerc'h
fed624a208 fdkaacdec: do not error out of out of sync return
The docs say we should continue feeding in data and decoding

https://bugzilla.gnome.org/show_bug.cgi?id=772067
2016-09-27 17:20:18 +01:00
Olivier Crête
1b0cdcdf3e fdkaac: fix mixup setting interleaved output
https://bugzilla.gnome.org/show_bug.cgi?id=770455
2016-09-26 11:43:22 +01:00
Sebastian Dröge
cb20432f9f fdkaac: Add FDK AAC based decoder element
Missing is support for error concealment, etc.
2016-08-07 15:42:15 +03:00