mpegts: only emit new packets if data buffer exists
authorMarton Balint <cus@passwd.hu>
Thu, 1 May 2014 23:44:19 +0000 (01:44 +0200)
committerMarton Balint <cus@passwd.hu>
Mon, 5 May 2014 20:33:52 +0000 (22:33 +0200)
I don't think this can acutally happen in the current code, but better safe
than sorry.

Fixes Coverity CID 732217.

Signed-off-by: Marton Balint <cus@passwd.hu>
libavformat/mpegts.c

index 20bed02..001f93b 100644 (file)
@@ -1125,8 +1125,6 @@ skip:
                 }
                 memcpy(pes->buffer->data + pes->data_index, p, buf_size);
                 pes->data_index += buf_size;
-            }
-            buf_size = 0;
             /* emit complete packets with known packet size
              * decreases demuxer delay for infrequent packets like subtitles from
              * a couple of seconds to milliseconds for properly muxed files.
@@ -1137,6 +1135,8 @@ skip:
                 ts->stop_parse = 1;
                 new_pes_packet(pes, ts->pkt);
             }
+            }
+            buf_size = 0;
             break;
         case MPEGTS_SKIP:
             buf_size = 0;