diff options
author | Petri Hintukainen <phintuka@users.sourceforge.net> | 2011-07-16 13:35:33 +0300 |
---|---|---|
committer | Petri Hintukainen <phintuka@users.sourceforge.net> | 2011-07-16 13:35:33 +0300 |
commit | d2a56a22ce0bf95354636acd9412b177fafd0917 (patch) | |
tree | 430e9cdf2fa7783d8ecef57130783c739f998869 | |
parent | efd03cf91cbdf69178f7cc0c4817832302d3d95d (diff) | |
download | xine-lib-d2a56a22ce0bf95354636acd9412b177fafd0917.tar.gz xine-lib-d2a56a22ce0bf95354636acd9412b177fafd0917.tar.bz2 |
parse_pes_header(): eliminated local variable by simplifying the code that skips pes header
-rw-r--r-- | src/demuxers/demux_ts.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c index d6d2a0cbe..0fd3a1299 100644 --- a/src/demuxers/demux_ts.c +++ b/src/demuxers/demux_ts.c @@ -697,7 +697,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, uint32_t header_len; int64_t pts; uint32_t stream_id; - int pkt_len; if (packet_len < 9) { xprintf (xine, XINE_VERBOSITY_DEBUG, @@ -706,7 +705,6 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, } p = buf; - pkt_len = packet_len; /* we should have a PES packet here */ @@ -716,13 +714,12 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, return 0 ; } - packet_len -= 6; /* packet_len = p[4] << 8 | p[5]; */ stream_id = p[3]; header_len = p[8]; /* sometimes corruption on header_len causes segfault in memcpy below */ - if (header_len + 9 > pkt_len) { + if (header_len + 9 > packet_len) { xprintf (xine, XINE_VERBOSITY_DEBUG, "demux_ts: illegal value for PES_header_data_length (0x%x)\n", header_len); return 0; @@ -764,7 +761,7 @@ static int demux_ts_parse_pes_header (xine_t *xine, demux_ts_media *m, m->pts = pts; p += header_len + 9; - packet_len -= header_len + 3; + packet_len -= header_len + 9; if (m->descriptor_tag == STREAM_VIDEO_VC1) { m->content = p; |