[FFmpeg-devel] [PATCH] avformat/mpl2dec: skip BOM when probing

Clément Bœsch u at pkh.me
Sun Feb 12 13:57:49 EET 2017


On Sun, Feb 12, 2017 at 12:51:11PM +0100, Paul B Mahol wrote:
> On 2/11/17, Clement Boesch <u at pkh.me> wrote:
> > On Sat, Feb 11, 2017 at 11:56:07AM +0100, Paul B Mahol wrote:
> >> Signed-off-by: Paul B Mahol <onemda at gmail.com>
> >> ---
> >>  libavformat/mpl2dec.c | 8 ++++++++
> >>  1 file changed, 8 insertions(+)
> >>
> >> diff --git a/libavformat/mpl2dec.c b/libavformat/mpl2dec.c
> >> index 59589d5..0e30cb0 100644
> >> --- a/libavformat/mpl2dec.c
> >> +++ b/libavformat/mpl2dec.c
> >> @@ -23,6 +23,8 @@
> >>   * MPL2 subtitles format demuxer
> >>   */
> >>
> >> +#include "libavutil/intreadwrite.h"
> >> +
> >>  #include "avformat.h"
> >>  #include "internal.h"
> >>  #include "subtitles.h"
> >> @@ -39,6 +41,9 @@ static int mpl2_probe(AVProbeData *p)
> >>      const unsigned char *ptr = p->buf;
> >>      const unsigned char *ptr_end = ptr + p->buf_size;
> >>
> >> +    if (AV_RB24(ptr) == 0xefbbbf)
> >> +        ptr += 3;
> >> +
> >>      for (i = 0; i < 2; i++) {
> >>          if (sscanf(ptr, "[%"SCNd64"][%"SCNd64"]%c", &start, &end, &c) !=
> >> 3 &&
> >>              sscanf(ptr, "[%"SCNd64"][]%c",          &start,       &c) !=
> >> 2)
> >> @@ -94,6 +99,9 @@ static int mpl2_read_header(AVFormatContext *s)
> >>          if (!len)
> >>              break;
> >>
> >> +        if (AV_RB24(p) == 0xefbbbf)
> >> +            p += 3;
> >> +
> >
> > The BOM is supposed to be at the beginning of the file, not at every line.
> > The check should be outside the while loop.
> >
> > --
> > Clement B.
> >
> 
> Removed check which was there, it appears to still work.

Doesn't it skip the first event? Or maybe your libc skips it in sscanf?

-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170212/479bb55c/attachment.sig>


More information about the ffmpeg-devel mailing list