[FFmpeg-devel] [PATCH v2 6/6] avformat/subtitles: guess UTF-16 if no BOM present

wm4 nfxjfg at googlemail.com
Sat Sep 6 00:23:39 CEST 2014

On Sat, 6 Sep 2014 00:00:10 +0200
Michael Niedermayer <michaelni at gmx.at> wrote:

> On Thu, Sep 04, 2014 at 10:40:27PM +0200, wm4 wrote:
> > ---
> > Follows reimar's suggestion for detecting UTF-16. If the detection goes
> > wrong, probing the format won't succeed, so this should not break
> > anything.
> > 
> > I didn't use ffio_ensure_seekback), because this apparently reallocates
> > the buffer - which we certainly don't want, because the probe API
> > doesn't allow this.
> the format probe API doesnt provide a AVIOContext, and if one is
> provided, it could use a allocated and reallocatable buffer
> or do i misunderstand ?
> [...]

I'm ffio_init_context() to initialize an AVIOContext on a buffer (the
probe buffer), so I can use the same code for probing and actual
demuxing. And in this case, AVIOContext reallocates the buffer we pass
it. This turns the old buffer pointer into a dangling pointer, which
breaks probing.

Maybe this could be easily fixed by always allocating a new buffer
inside the subtitle probe functions, but I'm not sure if this is ok.
I'm also not sure why ffio_ensure_seekback() wants to reallocate at all
in this case - maybe I should take a closer look.

More information about the ffmpeg-devel mailing list