diff --git a/ChangeLog b/ChangeLog index 89abb786b..0b7934842 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-08-20 Moritz Bunkus + + * mkvmerge: bug fix: SSA/ASS subs with the old codec ID 'S_SSA' + and 'S_ASS' were accepted, but their codec ID was kept. It is now + correctly changed to 'S_TEXT/SSA' and 'S_TEXT/ASS'. + 2004-08-19 Moritz Bunkus * mkvmerge, mkvinfo, mkvextract: new feature: Added support for diff --git a/src/input/r_matroska.cpp b/src/input/r_matroska.cpp index 743456116..5bb361d2c 100644 --- a/src/input/r_matroska.cpp +++ b/src/input/r_matroska.cpp @@ -1638,12 +1638,18 @@ kax_reader_c::create_packetizer(int64_t tid) { t->sub_type = 'v'; } else if (!strncmp(t->codec_id, "S_TEXT", 6) || - !strcmp(t->codec_id, MKV_S_TEXTASS) || - !strcmp(t->codec_id, MKV_S_TEXTSSA) || !strcmp(t->codec_id, "S_SSA") || !strcmp(t->codec_id, "S_ASS")) { + string new_codec_id; + + if (!strcmp(t->codec_id, "S_SSA") || + !strcmp(t->codec_id, "S_ASS")) + new_codec_id = string("S_TEXT/") + string(&t->codec_id[2]); + else + new_codec_id = t->codec_id; t->ptzr = - add_packetizer(new textsubs_packetizer_c(this, t->codec_id, + add_packetizer(new textsubs_packetizer_c(this, + new_codec_id.c_str(), t->private_data, t->private_size, false, true, nti));