diff --git a/ChangeLog b/ChangeLog index cf6c3173b..d9a592d8d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2003-08-10 Moritz Bunkus + * mkvmerge: Fixed support for reading MultiComment tags from + XML tag files. + * mkvmerge: Allow some slightly broken Matroska files to be processed correctly if the reference blocks are off by at most 1ms. diff --git a/src/tagparser_start.cpp b/src/tagparser_start.cpp index f3389dc33..531d15abd 100644 --- a/src/tagparser_start.cpp +++ b/src/tagparser_start.cpp @@ -523,7 +523,11 @@ static void start_level3(parser_data_t *pdata, const char *name) { } else perror_nochild(); - } else + } else if ((parent == E_MultiComment) && + is_multicomment(pdata, name, pdata->m_comment)) + return; + + else die("Unknown parent: level 3, %d", parent); } @@ -716,7 +720,11 @@ static void start_level4(parser_data_t *pdata, const char *name) { } else perror_nochild(); - } else + } else if ((parent == E_MultiComment) && + is_multicomment(pdata, name, pdata->m_comment)) + return; + + else die("Unknown parent: level 4, %d", parent); } @@ -742,10 +750,13 @@ static void start_level5(parser_data_t *pdata, const char *name) { } else if (!strcmp(name, "PriceDate")) { check_instances(pdata->m_price, KaxTagMultiPricePriceDate); pdata->parents->push_back(E_PriceDate); - } else - perror_nochild(); + } - } else + } else if ((parent == E_MultiComment) && + is_multicomment(pdata, name, pdata->m_comment)) + return; + + else die("Unknown parent: level 5, %d", parent); }