From 1151078f029e64e65f353f8d8b6d231a47581eb2 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Thu, 16 Aug 2007 16:30:05 +0000 Subject: [PATCH] Added support for reading MP2 audio tracks from OGM files. Patch by Mihail Zenkov . --- AUTHORS | 3 +++ ChangeLog | 5 +++++ src/input/r_ogm.cpp | 7 ++++++- src/input/r_ogm.h | 1 + 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 2dd932b5e..aa25a7728 100644 --- a/AUTHORS +++ b/AUTHORS @@ -57,6 +57,9 @@ Rice, Matt Stone, Jory (jcsston) * Fixes to mkvinfo's GUI +Zenkov, Mihail + + * mkvmerge: enhancement: Added support for reading MP2 audio + tracks from OGM files. Patch by Mihail Zenkov (see AUTHORS). + 2007-08-15 Moritz Bunkus * mkvextract: enhancement: Added support for extracting Dolby diff --git a/src/input/r_ogm.cpp b/src/input/r_ogm.cpp index 5894407a5..3a42f72be 100644 --- a/src/input/r_ogm.cpp +++ b/src/input/r_ogm.cpp @@ -495,12 +495,13 @@ ogm_reader_c::create_packetizer(int64_t tid) { (int64_t)tid); break; + case OGM_STREAM_TYPE_A_MP2: case OGM_STREAM_TYPE_A_MP3: ptzr = new mp3_packetizer_c(this, get_uint64_le(&sth->samples_per_unit), get_uint16_le(&sth->sh.audio.channels), true, ti); - mxinfo(FMT_TID "Using the MP3 output module.\n", ti.fname.c_str(), + mxinfo(FMT_TID "Using the MPEG audio output module.\n", ti.fname.c_str(), (int64_t)tid); break; @@ -801,6 +802,8 @@ ogm_reader_c::handle_new_stream(ogg_page *og) { if (codec_id == 0x0001) dmx->stype = OGM_STREAM_TYPE_A_PCM; + else if (codec_id == 0x0050) + dmx->stype = OGM_STREAM_TYPE_A_MP2; else if (codec_id == 0x0055) dmx->stype = OGM_STREAM_TYPE_A_MP3; else if (codec_id == 0x2000) @@ -1206,6 +1209,7 @@ ogm_reader_c::identify() { (sdemuxers[i]->stype == OGM_STREAM_TYPE_A_AAC || sdemuxers[i]->stype == OGM_STREAM_TYPE_A_AC3 || sdemuxers[i]->stype == OGM_STREAM_TYPE_A_FLAC || + sdemuxers[i]->stype == OGM_STREAM_TYPE_A_MP2 || sdemuxers[i]->stype == OGM_STREAM_TYPE_A_MP3 || sdemuxers[i]->stype == OGM_STREAM_TYPE_A_PCM || sdemuxers[i]->stype == OGM_STREAM_TYPE_A_VORBIS) ? "audio" : @@ -1216,6 +1220,7 @@ ogm_reader_c::identify() { sdemuxers[i]->stype == OGM_STREAM_TYPE_A_AAC ? "AAC" : sdemuxers[i]->stype == OGM_STREAM_TYPE_A_AC3 ? "AC3" : sdemuxers[i]->stype == OGM_STREAM_TYPE_A_FLAC ? "FLAC" : + sdemuxers[i]->stype == OGM_STREAM_TYPE_A_MP2 ? "MP2" : sdemuxers[i]->stype == OGM_STREAM_TYPE_A_MP3 ? "MP3" : sdemuxers[i]->stype == OGM_STREAM_TYPE_A_PCM ? "PCM" : sdemuxers[i]->stype == OGM_STREAM_TYPE_A_VORBIS ? "Vorbis" : diff --git a/src/input/r_ogm.h b/src/input/r_ogm.h index 5408be7ee..fdf3e2f4b 100644 --- a/src/input/r_ogm.h +++ b/src/input/r_ogm.h @@ -37,6 +37,7 @@ enum ogm_stream_type_e { OGM_STREAM_TYPE_A_AAC, OGM_STREAM_TYPE_A_AC3, OGM_STREAM_TYPE_A_FLAC, + OGM_STREAM_TYPE_A_MP2, OGM_STREAM_TYPE_A_MP3, OGM_STREAM_TYPE_A_PCM, OGM_STREAM_TYPE_A_VORBIS,