diff --git a/libavformat/sccdec.c b/libavformat/sccdec.c index ddf5fdf870..89d21b9c1f 100644 --- a/libavformat/sccdec.c +++ b/libavformat/sccdec.c @@ -94,8 +94,7 @@ static int scc_read_header(AVFormatContext *s) if (!strncmp(line, "Scenarist_SCC V1.0", 18)) continue; - if (sscanf(line, "%d:%d:%d:%d", &hh1, &mm1, &ss1, &fs1) != 4 && - sscanf(line, "%d:%d:%d;%d", &hh1, &mm1, &ss1, &fs1) != 4) + if (sscanf(line, "%d:%d:%d%*[:;]%d", &hh1, &mm1, &ss1, &fs1) != 4) continue; ts_start = (hh1 * 3600LL + mm1 * 60LL + ss1) * 1000LL + fs1 * 33; @@ -105,8 +104,7 @@ static int scc_read_header(AVFormatContext *s) if (len2 > 13) break; } - if (sscanf(line2, "%d:%d:%d:%d", &hh2, &mm2, &ss2, &fs2) != 4 && - sscanf(line2, "%d:%d:%d;%d", &hh2, &mm2, &ss2, &fs2) != 4) + if (sscanf(line2, "%d:%d:%d%*[:;]%d", &hh2, &mm2, &ss2, &fs2) != 4) continue; ts_end = (hh2 * 3600LL + mm2 * 60LL + ss2) * 1000LL + fs2 * 33;