diff libmpdemux/demux_real.c @ 9553:6886b16ac5d1

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]
author arpi
date Sun, 09 Mar 2003 17:21:30 +0000
parents 5f9b61214a2c
children 5270885f3502
line wrap: on
line diff
--- 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!