diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-03-09 17:21:30 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2003-03-09 17:21:30 +0000 |
commit | 31d236392673168bbe75382306a725b73d86a9f4 (patch) | |
tree | c21a78846a36c848460e031d5cc26c1198c8bcbc | |
parent | 264fd4dc0e65009f0784a9268a745bd2cca2db1c (diff) | |
download | mpv-31d236392673168bbe75382306a725b73d86a9f4.tar.bz2 mpv-31d236392673168bbe75382306a725b73d86a9f4.tar.xz |
Redundant packet ignoring is RV30-only (at least frame-header flag 0x20 is)
noticed by Balatoni Denes <pnis@coder.hu>
[sample files: pro: DISK1.RM contra: spygames-2MB.rmvb]
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9554 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r-- | libmpdemux/demux_real.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libmpdemux/demux_real.c b/libmpdemux/demux_real.c index 482eb0d59b..4e4ecfab46 100644 --- a/libmpdemux/demux_real.c +++ b/libmpdemux/demux_real.c @@ -593,7 +593,7 @@ got_video: if(dp_hdr->len!=vpkg_length-vpkg_offset) mp_msg(MSGT_DEMUX,MSGL_V,"warning! assembled.len=%d frag.len=%d total.len=%d \n",dp->len,vpkg_offset,vpkg_length-vpkg_offset); stream_read(demuxer->stream, dp_data+dp_hdr->len, vpkg_offset); - if(dp_data[dp_hdr->len]&0x20) --dp_hdr->chunks; else + if((dp_data[dp_hdr->len]&0x20) && (sh_video->format==0x30335652)) --dp_hdr->chunks; else dp_hdr->len+=vpkg_offset; len-=vpkg_offset; mp_dbg(MSGT_DEMUX,MSGL_DBG2, "fragment (%d bytes) appended, %d bytes left\n",vpkg_offset,len); @@ -609,7 +609,7 @@ got_video: if(dp_hdr->len!=vpkg_offset) mp_msg(MSGT_DEMUX,MSGL_V,"warning! assembled.len=%d offset=%d frag.len=%d total.len=%d \n",dp->len,vpkg_offset,len,vpkg_length); stream_read(demuxer->stream, dp_data+dp_hdr->len, len); - if(dp_data[dp_hdr->len]&0x20) --dp_hdr->chunks; else + if((dp_data[dp_hdr->len]&0x20) && (sh_video->format==0x30335652)) --dp_hdr->chunks; else dp_hdr->len+=len; len=0; break; // no more fragments in this chunk! |