Bug 5156756 Fix AAC ADTS header size computation
This previous frame size computation code had two incorrect
assumptions:
1/ the ADTS frame length value already contains the header size
2/ the ADTS header is not of fixed size: it is 2 bytes bigger
if it contains the CRC value.
For 1/, the code worked because when the header size was added
to the frame size, the + operator is of stronger precedence
than the ? operator, so the size added was always 0 (instead
of ADTS_HEADER_LENGTH.
For 2/, the code worked as long as there was no CRC in the ADTS
data.
The fix consists in:
- documenting what the frame length computation code returns
- fixing the frame length computation
- when computing the frame length, also returning the header
size so the correct data can be sent to the decoder.
Change-Id: I92df72a9e531f594f762e63d62f9dee7b0109904
1 file changed