[FFmpeg-cvslog] r21500 - trunk/libavformat/avienc.c

michael subversion
Thu Jan 28 04:37:23 CET 2010


Author: michael
Date: Thu Jan 28 04:37:22 2010
New Revision: 21500

Log:
Remove last MAX_STREAMS from avienc.c

Modified:
   trunk/libavformat/avienc.c

Modified: trunk/libavformat/avienc.c
==============================================================================
--- trunk/libavformat/avienc.c	Thu Jan 28 03:50:36 2010	(r21499)
+++ trunk/libavformat/avienc.c	Thu Jan 28 04:37:22 2010	(r21500)
@@ -50,6 +50,7 @@ typedef struct  {
     int64_t frames_hdr_strm;
     int audio_strm_length;
     int packet_count;
+    int entry;
 
     AVIIndex indexes;
 } AVIStream ;
@@ -461,20 +462,24 @@ static int avi_write_idx1(AVFormatContex
     char tag[5];
 
     if (!url_is_streamed(pb)) {
+        AVIStream *avist;
         AVIIentry* ie = 0, *tie;
-        int entry[MAX_STREAMS];
         int empty, stream_id = -1;
 
         idx_chunk = ff_start_tag(pb, "idx1");
-        memset(&entry[0], 0, sizeof(entry));
+        for(i=0; i<s->nb_streams; i++){
+            avist= s->streams[i]->priv_data;
+            avist->entry=0;
+        }
+
         do {
             empty = 1;
             for (i=0; i<s->nb_streams; i++) {
-                AVIStream *avist= s->streams[i]->priv_data;
-                 if (avist->indexes.entry <= entry[i])
+                avist= s->streams[i]->priv_data;
+                 if (avist->indexes.entry <= avist->entry)
                      continue;
 
-                 tie = avi_get_ientry(&avist->indexes, entry[i]);
+                 tie = avi_get_ientry(&avist->indexes, avist->entry);
                  if (empty || tie->pos < ie->pos) {
                      ie = tie;
                      stream_id = i;
@@ -482,13 +487,14 @@ static int avi_write_idx1(AVFormatContex
                  empty = 0;
             }
             if (!empty) {
+                avist= s->streams[stream_id]->priv_data;
                 avi_stream2fourcc(&tag[0], stream_id,
                                   s->streams[stream_id]->codec->codec_type);
                 put_tag(pb, &tag[0]);
                 put_le32(pb, ie->flags);
                 put_le32(pb, ie->pos);
                 put_le32(pb, ie->len);
-                entry[stream_id]++;
+                avist->entry++;
             }
         } while (!empty);
         ff_end_tag(pb, idx_chunk);



More information about the ffmpeg-cvslog mailing list