matroskadec: replace matroska_queue_packet with a single call to dynarray_add
authorAnton Khirnov <wyskas@gmail.com>
Wed, 6 Aug 2008 00:17:47 +0000 (00:17 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Wed, 6 Aug 2008 00:17:47 +0000 (00:17 +0000)
patch by Anton Khirnov  wyskas _at_ gmail _dot_ com

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

libavformat/matroskadec.c

index 83aa324..23fea47 100644 (file)
@@ -1268,19 +1268,6 @@ static int matroska_read_header(AVFormatContext *s, AVFormatParameters *ap)
 }
 
 /*
- * Put a packet into our internal queue. Will be delivered to the
- * user/application during the next get_packet() call.
- */
-static void matroska_queue_packet(MatroskaDemuxContext *matroska, AVPacket *pkt)
-{
-    matroska->packets =
-        av_realloc(matroska->packets, (matroska->num_packets + 1) *
-                   sizeof(AVPacket *));
-    matroska->packets[matroska->num_packets] = pkt;
-    matroska->num_packets++;
-}
-
-/*
  * Put one packet in an application-supplied AVPacket struct.
  * Returns 0 on success or -1 on failure.
  */
@@ -1484,7 +1471,7 @@ static int matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data,
                            + a * (h*w / a - track->audio.pkt_cnt--), a);
                     pkt->pos = pos;
                     pkt->stream_index = st->index;
-                    matroska_queue_packet(matroska, pkt);
+                    dynarray_add(&matroska->packets,&matroska->num_packets,pkt);
                 }
             } else {
                 MatroskaTrackEncoding *encodings = track->encodings.elem;
@@ -1520,7 +1507,7 @@ static int matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data,
                 pkt->pos = pos;
                 pkt->duration = duration;
 
-                matroska_queue_packet(matroska, pkt);
+                dynarray_add(&matroska->packets, &matroska->num_packets, pkt);
             }
 
             if (timecode != AV_NOPTS_VALUE)