[Libav-user] Find audio frames headers within bitstream

Paul B Mahol onemda at gmail.com
Wed Nov 7 13:38:02 EET 2018

On 11/7/18, Vasiliy Volkov <volk.vasiliy at gmail.com> wrote:
> ср, 7 нояб. 2018 г. в 14:14, Paul B Mahol <onemda at gmail.com>:
>> On 11/7/18, Vasiliy Volkov <volk.vasiliy at gmail.com> wrote:
>> > Hi, again,
>> >
>> > we've encountered an issue with decoding audio streams. Sometimes audio
>> > codec headers are not aligned to PES packets (we work with mpegts). So
>> when
>> > we try to decode such streams libav decoder fails, because he can't
>> > find
>> > where to start decoding process. For such task libav has parsers, which
>> > need to be used for correct decoding arbitrary bitstreams: first you
>> > find
>> > position of header, next send to decoder. We've find that there are
>> exists
>> > private api for such task: libavcodec/mpegaudiodecheader.h but it's
>> > private, and using it in our project is not very clean way, and all
>> public
>> > API's requires to use avio* methods which we don't like to use.
>> >
>> > Is there any other of private API way to find audio frames headers
>> > positions?
>> >
>> What is wrong with using parsers?
> Parsers are private api and when we compile libav they are not included,
> so we need to copy header file into our project and then access -- it's not
> good way.

Why they are not included when you compile FFmpeg?

> So what is the proper way?

Proper way is to have parsers included, and to have them automatically used.

More information about the Libav-user mailing list