16-байтовое выравнивание закодированных данных AAC

Мне нужно кодировать поток ACM, чтобы вылететь в AAC ELD с помощью библиотеки FDK.

Моя проблема в том, что в моем случае закодированные данные AAC должны быть выровнены на 16 байтов. Т.е. длина его будет разделена на 16.

Я не уверен, как это сделать.
Я попытался добавить 0 в конец закодированных данных, пока они не будут разделены на 16, а затем отправить их в CBC, но есть некоторые декодеры, которым это не нравится.

Я должен добавить заполнение к закодированным данным ACC так, чтобы декодер ACC на другой стороне знал, что с этим делать.

Я не думаю, что библиотека AAC, которую я использую (библиотека FDK), имеет возможность добавить заполнение, поэтому я думаю, что мне нужно будет дополнять закодированные данные AAC самостоятельно?

Можете ли вы сказать мне лучший и простой способ сделать это

1

Решение

Вы пытались добавить 0xE0 (0b11100000) вместо нулей?

Если байт начинает кадр, его три старших бита указывают тип блока. Тип 0b111 указывает на конец кадра. Тип 0 указывает на одноканальный элемент и требует кодированного звука, поэтому вы получаете ошибку при заполнении нулями.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector