diff --git a/ChangeLog b/ChangeLog index 1dc594319..35b7eb7c8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -11,6 +11,9 @@ 2010-06-10 Moritz Bunkus + * mkvmerge: bug fix: The Matroska reader will use the MPEG audio + packetizer for MP2 tracks instead of the passthrough packetizer. + * mkvmerge: bug fix: The Matroska reader did not handle compressed tracks correctly if the passthrough packetizer was used. diff --git a/src/common/matroska.h b/src/common/matroska.h index 609c3e503..3171a4020 100644 --- a/src/common/matroska.h +++ b/src/common/matroska.h @@ -30,6 +30,7 @@ #define MKV_A_AC3 "A_AC3" #define MKV_A_EAC3 "A_EAC3" #define MKV_A_DTS "A_DTS" +#define MKV_A_MP2 "A_MPEG/L2" #define MKV_A_MP3 "A_MPEG/L3" #define MKV_A_PCM "A_PCM/INT/LIT" #define MKV_A_PCM_BE "A_PCM/INT/BIG" diff --git a/src/input/r_matroska.cpp b/src/input/r_matroska.cpp index 7bc445563..3c8d7c0c0 100644 --- a/src/input/r_matroska.cpp +++ b/src/input/r_matroska.cpp @@ -351,7 +351,7 @@ kax_reader_c::verify_audio_track(kax_track_t *t) { bool is_ok = true; if (t->codec_id == MKV_A_ACM) is_ok = verify_acm_audio_track(t); - else if (starts_with(t->codec_id, MKV_A_MP3, strlen(MKV_A_MP3) - 1)) + else if ((t->codec_id == MKV_A_MP3) || (t->codec_id == MKV_A_MP2)) t->a_formattag = 0x0055; else if (starts_with(t->codec_id, MKV_A_AC3, strlen(MKV_A_AC3)) || (t->codec_id == MKV_A_EAC3)) t->a_formattag = 0x2000;