Do not skip the first three bytes for normal AC3 tracks in MPEG program streams.

This commit is contained in:
Moritz Bunkus 2007-03-23 11:53:18 +00:00
parent f3a01efbe4
commit 1fc84c8b31
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2007-03-23 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed a problem reading normal AC3 tracks
from MPEG program streams.
2007-03-22 Moritz Bunkus <moritz@bunkus.org>
* mkvmerge: bug fix: Fixed an issue with negative/huge timecodes

View File

@ -890,12 +890,10 @@ mpeg_ps_reader_c::found_new_stream(int id) {
track->type = '?';
if (id > 0xff) {
track->type = 'a';
track->skip_bytes = 3;
if ((aid >= 0x20) && (aid <= 0x3f)) {
track->type = 's';
track->fourcc = FOURCC('V', 'S', 'U', 'B');
track->skip_bytes = 0;
} else if (((aid >= 0x80) && (aid <= 0x87)) ||
((aid >= 0xc0) && (aid <= 0xc7)))
@ -1100,6 +1098,8 @@ mpeg_ps_reader_c::create_packetizer(int64_t id) {
ti.fname.c_str(), id);
} else if (track->fourcc == FOURCC('A', 'C', '3', ' ')) {
if (16 == track->a_bsid)
track->skip_bytes = 3;
track->ptzr =
add_packetizer(new ac3_packetizer_c(this, track->a_sample_rate,
track->a_channels,