Fix loop condition so it can be run through more than once.
authorWolfram Gloger <wmglo@dent.med.uni-muenchen.de>
Mon, 30 Apr 2007 09:46:11 +0000 (09:46 +0000)
committerDiego Biurrun <diego@biurrun.de>
Mon, 30 Apr 2007 09:46:11 +0000 (09:46 +0000)
patch by Wolfram Gloger, wmglo dent.med.uni-muenchen de
reference: [Ffmpeg-devel] buffer underflow messages from the output_example.c

Originally committed as revision 8860 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/mpeg.c

index b2a9822..d30fc53 100644 (file)
@@ -1028,9 +1028,10 @@ static int remove_decoded_packets(AVFormatContext *ctx, int64_t scr){
     for(i=0; i<ctx->nb_streams; i++){
         AVStream *st = ctx->streams[i];
         StreamInfo *stream = st->priv_data;
-        PacketDesc *pkt_desc= stream->predecode_packet;
+        PacketDesc *pkt_desc;
 
-        while(pkt_desc && scr > pkt_desc->dts){ //FIXME > vs >=
+        while((pkt_desc= stream->predecode_packet)
+              && scr > pkt_desc->dts){ //FIXME > vs >=
             if(stream->buffer_index < pkt_desc->size ||
                stream->predecode_packet == stream->premux_packet){
                 av_log(ctx, AV_LOG_ERROR,