Przeglądaj źródła

Fix initialization of avpkt in output_packet().

Patch by Thilo Borgmann thilo.surname AT googlemaildotcom.

Originally committed as revision 18451 to svn://svn.ffmpeg.org/ffmpeg/trunk
Thilo Borgmann 16 lat temu
rodzic
commit
031e14ea79
1 zmienionych plików z 3 dodań i 5 usunięć
  1. 3 5
      ffmpeg.c

+ 3 - 5
ffmpeg.c

@@ -1185,24 +1185,22 @@ static int output_packet(AVInputStream *ist, int ist_index,
     int got_subtitle;
     AVPacket avpkt;
 
-    av_init_packet(&avpkt);
-
     if(ist->next_pts == AV_NOPTS_VALUE)
         ist->next_pts= ist->pts;
 
     if (pkt == NULL) {
         /* EOF handling */
+        av_init_packet(&avpkt);
         avpkt.data = NULL;
         avpkt.size = 0;
         goto handle_eof;
+    } else {
+        avpkt = *pkt;
     }
 
     if(pkt->dts != AV_NOPTS_VALUE)
         ist->next_pts = ist->pts = av_rescale_q(pkt->dts, ist->st->time_base, AV_TIME_BASE_Q);
 
-    avpkt.size = pkt->size;
-    avpkt.data = pkt->data;
-
     //while we have more to decode or while the decoder did output something on EOF
     while (avpkt.size > 0 || (!pkt && ist->next_pts != ist->pts)) {
     handle_eof: