Неправильный AVFrame nb_samples при декодировании MP3 - PullRequest
0 голосов
/ 23 апреля 2019

При использовании ffmpeg 3.4.4, поставляемого с моим дистрибутивом, у меня проблема с декодированием mp3 файлов.Декодер работает корректно для flac и m4a.

Я видел две проблемы, которые, по моему мнению, связаны, обе связаны с определением количества семплов в файле.

При открытиифайл, который я использую в следующей последовательности вызовов API:

avformat_open_input(...);
avformat_find_stream_info(...);
avformat_find_best_stream(...);

На данный момент AVStream у меня, в отличие от случаев для flac и m4a, поле nb_frames не равно числуобразцы.Вместо этого я должен использовать time_base и duration для вычисления количества выборок.

При декодировании файла я avcodec_send_packet и avcodec_receive_frame.AVFrame, который заполняется, имеет неправильное значение для nb_sample, так что после прочтения всего файла я заканчиваю декодировать только около 4% выборок.

Как правильно декодировать mp3-файлыс ffmpeg?

...