OSDN Git Service

avformat: Fix infinite probing that reads the whole file
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 20 Mar 2013 16:49:20 +0000 (17:49 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 20 Mar 2013 16:57:00 +0000 (17:57 +0100)
Fixes: otonajoshi_avformat_tries_to_load_whole.ts
Reported-by: JEEB (on IRC)
Thanks-to: nevcairiel
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/utils.c

index 13de68a..f9acc0e 100644 (file)
@@ -771,6 +771,8 @@ int ff_read_packet(AVFormatContext *s, AVPacket *pkt)
         if (pktl) {
             *pkt = pktl->pkt;
             st = s->streams[pkt->stream_index];
+            if (s->raw_packet_buffer_remaining_size <= 0)
+                probe_codec(s, st, NULL);
             if(st->request_probe <= 0){
                 s->raw_packet_buffer = pktl->next;
                 s->raw_packet_buffer_remaining_size += pkt->size;