diff options
author | Paul B Mahol | 2020-06-14 21:16:57 +0200 |
---|---|---|
committer | Paul B Mahol | 2020-06-15 19:27:20 +0200 |
commit | 6c84f8afaefa55233e24daa62df89b469da2ea21 (patch) | |
tree | ce13b54d2ac8584d189bfad8cc873dfb9e1319ee | |
parent | 76ad8a568f98483c225d59a9f985dc6d054b6b19 (diff) |
avformat/sccdec: unbreak previous commits to this file
-rw-r--r-- | libavformat/sccdec.c | 13 |
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; |