Декодирование WMA с FFMPeg на iPhone - PullRequest
0 голосов
/ 11 января 2012

Я использую эту функцию для декодирования звука, но нет звука:

int decodedBytes;
decodedBytes = avcodec_decode_audio4(myData->pCodecCtx, myData->myFrame, &data_size, &myData->pkt);

Данные успешно загружены, но я не знаю, откуда идти, поскольку нетзвук на всех.

1 Ответ

3 голосов
/ 13 января 2012

Если вы используете avcodec_decode_audio3, вместо этого он начинает работать:

decodedBytes = avcodec_decode_audio3(myData->pCodecCtx, samples, &data_size, &myData->pkt);

Но вам, вероятно, следует использовать avcodec_decode_audio4 в качестве avcodec_decode_audio3 швов, которые следует считать устаревшими. Я не знаю много о ffmpeg / libav, но я думаю, что audio4 использует буферную систему в libav вместо того, чтобы вы передавали в буфер.

Может быть, этот diff даст подсказку, как использовать audio4:

http://git.libav.org/?p=libav.git;a=commitdiff;h=f199f38573c4c02753f03ba8db04481038fa6f2e

...