diff options
author | James Almer <jamrial@gmail.com> | 2013-10-05 21:33:41 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2013-10-12 15:24:08 +0200 |
commit | 9c15ef35d404fca2adc31276c1eedb11cf485461 (patch) | |
tree | ee66f637ae5adc509c74449e8cea49504a4141f1 | |
parent | 16ea20c827ef2ffaf77d5e05d5cf9983689f7b2b (diff) | |
download | ffmpeg-9c15ef35d404fca2adc31276c1eedb11cf485461.tar.gz |
oggparsevorbis: support official chapter extension
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r-- | libavformat/oggparsevorbis.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/oggparsevorbis.c b/libavformat/oggparsevorbis.c index 1ed75db1fa..82833904b8 100644 --- a/libavformat/oggparsevorbis.c +++ b/libavformat/oggparsevorbis.c @@ -40,10 +40,10 @@ static int ogm_chapter(AVFormatContext *as, uint8_t *key, uint8_t *val) int i, cnum, h, m, s, ms, keylen = strlen(key); AVChapter *chapter = NULL; - if (keylen < 9 || sscanf(key, "CHAPTER%02d", &cnum) != 1) + if (keylen < 9 || sscanf(key, "CHAPTER%03d", &cnum) != 1) return 0; - if (keylen == 9) { + if (keylen <= 10) { if (sscanf(val, "%02d:%02d:%02d.%03d", &h, &m, &s, &ms) < 4) return 0; @@ -51,7 +51,7 @@ static int ogm_chapter(AVFormatContext *as, uint8_t *key, uint8_t *val) ms + 1000 * (s + 60 * (m + 60 * h)), AV_NOPTS_VALUE, NULL); av_free(val); - } else if (!strcmp(key + 9, "NAME")) { + } else if (!strcmp(key + keylen - 4, "NAME")) { for (i = 0; i < as->nb_chapters; i++) if (as->chapters[i]->id == cnum) { chapter = as->chapters[i]; |