diff mbox

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

Message ID 20170215094502.19229-1-onemda@gmail.com
State Accepted
Commit 74267333a10e0be4355221d7be22dab73bd7184c
Headers show

Commit Message

Paul B Mahol Feb. 15, 2017, 9:45 a.m. UTC
Fixes #5442.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
---
 libavformat/mpl2dec.c | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Paul B Mahol Feb. 16, 2017, 11:01 a.m. UTC | #1
On 2/15/17, Paul B Mahol <onemda@gmail.com> wrote:
> Fixes #5442.
>
> Signed-off-by: Paul B Mahol <onemda@gmail.com>
> ---
>  libavformat/mpl2dec.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
>

Will apply this shortly.
diff mbox

Patch

diff --git a/libavformat/mpl2dec.c b/libavformat/mpl2dec.c
index 59589d5..dfcdf5a 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)
@@ -83,6 +88,9 @@  static int mpl2_read_header(AVFormatContext *s)
     st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE;
     st->codecpar->codec_id   = AV_CODEC_ID_MPL2;
 
+    if (avio_rb24(s->pb) != 0xefbbbf)
+        avio_seek(s->pb, -3, SEEK_CUR);
+
     while (!avio_feof(s->pb)) {
         char line[4096];
         char *p = line;