diff options
author | Petri Hintukainen <phintuka@users.sourceforge.net> | 2011-10-06 14:18:57 +0300 |
---|---|---|
committer | Petri Hintukainen <phintuka@users.sourceforge.net> | 2011-10-06 14:18:57 +0300 |
commit | 056408cf0fb53273841eb5d8965bffcd85560307 (patch) | |
tree | 247d2a0f4bc33c32443d1ee034227ec025c719b7 | |
parent | daa8c4cb3bd3eaf71448cae646fed9cea83ad9d4 (diff) | |
download | xine-lib-056408cf0fb53273841eb5d8965bffcd85560307.tar.gz xine-lib-056408cf0fb53273841eb5d8965bffcd85560307.tar.bz2 |
demux_ts.c: always parse PAT
-rw-r--r-- | src/demuxers/demux_ts.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index 8ec2b60eb..64cd7ab01 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -1957,11 +1957,14 @@ static void demux_ts_parse_packet (demux_ts_t*this) { return; } - data_len = PKT_SIZE - data_offset; + /* PAT */ + if (pid == 0) { + demux_ts_parse_pat(this, originalPkt, originalPkt+data_offset-4, + payload_unit_start_indicator); + return; + } - /* - * audio/video pid auto-detection, if necessary - */ + /* PMT */ program_count=0; if(this->media_num<MAX_PMTS) while ((this->program_number[program_count] != INVALID_PROGRAM) && @@ -1981,11 +1984,7 @@ static void demux_ts_parse_packet (demux_ts_t*this) { program_count++; } - if (payload_unit_start_indicator && (this->media_num < MAX_PIDS) && (pid == 0)) { - demux_ts_parse_pat(this, originalPkt, originalPkt+data_offset-4, - payload_unit_start_indicator); - return; - } + data_len = PKT_SIZE - data_offset; if (data_len > PKT_SIZE) { |