mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
oggparsevorbis: Support official chapter extension
Fixes ticket #1833 Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
17b98c1abd
commit
04b9836274
@ -41,10 +41,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;
|
||||
|
||||
@ -52,7 +52,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];
|
||||
|
Loading…
Reference in New Issue
Block a user