# HG changeset patch # User arpi # Date 1047230490 0 # Node ID 6886b16ac5d1c4823639efb79d6716d79726a4b6 # Parent 86b5ea6396ab578c30892acade3b5e8a03e24190 Redundant packet ignoring is RV30-only (at least frame-header flag 0x20 is) noticed by Balatoni Denes [sample files: pro: DISK1.RM contra: spygames-2MB.rmvb] diff -r 86b5ea6396ab -r 6886b16ac5d1 libmpdemux/demux_real.c --- a/libmpdemux/demux_real.c Sun Mar 09 17:19:41 2003 +0000 +++ b/libmpdemux/demux_real.c Sun Mar 09 17:21:30 2003 +0000 @@ -593,7 +593,7 @@ 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 @@ 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!