summaryrefslogtreecommitdiff
path: root/libavformat/subviewerdec.c
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <ceffmpeg@gmail.com>2019-01-24 00:22:47 +0100
committerCarl Eugen Hoyos <ceffmpeg@gmail.com>2019-01-27 14:25:53 +0100
commitd3a69438049b481dd9db1af82fd22494d7560ee4 (patch)
treed5ced00adf5c5c444798409e910aeb410b310429 /libavformat/subviewerdec.c
parentb5b6f6ad59ef9bd7af7c5ff3cf94ca3d6abd29ae (diff)
lavf/subviewerdec: Skip leading BOM.
Fixes ticket #7661.
Diffstat (limited to 'libavformat/subviewerdec.c')
-rw-r--r--libavformat/subviewerdec.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libavformat/subviewerdec.c b/libavformat/subviewerdec.c
index af084f4856..61eb80af87 100644
--- a/libavformat/subviewerdec.c
+++ b/libavformat/subviewerdec.c
@@ -27,6 +27,7 @@
#include "avformat.h"
#include "internal.h"
#include "subtitles.h"
+#include "avio_internal.h"
#include "libavcodec/internal.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
@@ -78,6 +79,11 @@ static int subviewer_read_header(AVFormatContext *s)
if (!st)
return AVERROR(ENOMEM);
+ res = ffio_ensure_seekback(s->pb, 3);
+ if (res < 0)
+ return res;
+ if (avio_rb24(s->pb) != 0xefbbbf)
+ avio_seek(s->pb, -3, SEEK_CUR);
avpriv_set_pts_info(st, 64, 1, 100);
st->codecpar->codec_type = AVMEDIA_TYPE_SUBTITLE;
st->codecpar->codec_id = AV_CODEC_ID_SUBVIEWER;