aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/sccdec.c
diff options
context:
space:
mode:
authorPaul B Mahol <onemda@gmail.com>2020-06-14 21:16:57 +0200
committerPaul B Mahol <onemda@gmail.com>2020-06-15 19:27:20 +0200
commit6c84f8afaefa55233e24daa62df89b469da2ea21 (patch)
treece13b54d2ac8584d189bfad8cc873dfb9e1319ee /libavformat/sccdec.c
parent76ad8a568f98483c225d59a9f985dc6d054b6b19 (diff)
downloadffmpeg-6c84f8afaefa55233e24daa62df89b469da2ea21.tar.gz
avformat/sccdec: unbreak previous commits to this file
Diffstat (limited to 'libavformat/sccdec.c')
-rw-r--r--libavformat/sccdec.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/libavformat/sccdec.c b/libavformat/sccdec.c
index 72f47f70de..fa2a5c223a 100644
--- a/libavformat/sccdec.c
+++ b/libavformat/sccdec.c
@@ -131,14 +131,11 @@ try_again:
o2 = convert(c4) | (convert(c3) << 4);
lline = NULL;
- out[i+0] = 0xfc;
- out[i+1] = o1;
- out[i+2] = o2;
- if (o1 == 0x94 && o2 == 0x2f && saveptr && av_strcasecmp(saveptr, "942f")) {
+ if (i > 12 && o1 == 0x94 && o2 == 0x20 && saveptr &&
+ (av_strncasecmp(saveptr, "942f", 4) || !av_strncasecmp(saveptr, "942c", 4))) {
int64_t duration;
- i += 3;
out[i] = 0;
duration = i * 11;
@@ -146,13 +143,17 @@ try_again:
if (!sub)
goto fail;
- current_pos += i;
sub->pos = current_pos;
+ current_pos += i;
sub->pts = ts_start;
sub->duration = duration;
ts_start += duration;
i = 0;
}
+
+ out[i+0] = 0xfc;
+ out[i+1] = o1;
+ out[i+2] = o2;
}
out[i] = 0;