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

Clément Bœsch u at pkh.me
Sat Feb 11 19:44:01 EET 2017


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.

-- 
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/20170211/e583660c/attachment.sig>


More information about the ffmpeg-devel mailing list