# HG changeset patch # User alex # Date 1011814861 0 # Node ID 2936f5445e0cf8a3a405be7829cdb64878e2e303 # Parent 9bdf337bd07870f617bd17d29c267a4aec31ff78 fixed num_of_packets and current_packet handling, bug found by Mike Melanson diff -r 9bdf337bd078 -r 2936f5445e0c libmpdemux/demux_real.c --- a/libmpdemux/demux_real.c Wed Jan 23 19:37:28 2002 +0000 +++ b/libmpdemux/demux_real.c Wed Jan 23 19:41:01 2002 +0000 @@ -6,6 +6,9 @@ Based on FFmpeg's libav/rm.c. $Log$ + Revision 1.8 2002/01/23 19:41:01 alex + fixed num_of_packets and current_packet handling, bug found by Mike Melanson + Revision 1.7 2002/01/18 11:02:52 alex fix dnet support @@ -201,12 +204,10 @@ int i; int flags; -// printf("num_of_packets: %d\n", priv->num_of_packets); - loop: - if ((priv->num_of_packets == 0) && (priv->num_of_packets != -10)) - return 0; /* EOF */ - if (priv->current_packet > priv->num_of_packets) + /* also don't check if no num_of_packets was defined in header */ + if ((priv->current_packet > priv->num_of_packets) && + (priv->num_of_packets != -10)) return 0; /* EOF */ stream_skip(demuxer->stream, 2); /* version */ len = stream_read_word(demuxer->stream); @@ -230,8 +231,6 @@ // printf("packet#%d: pos: %d, len: %d, stream_id: %d, timestamp: %d, flags: %x\n", // priv->current_packet, stream_tell(demuxer->stream)-12, len, stream_id, timestamp, flags); -// if (priv->num_of_packets != -10) -// priv->num_of_packets--; priv->current_packet++; len -= 12;