summaryrefslogtreecommitdiff
path: root/libavformat/avienc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2010-01-28 03:37:22 +0000
committerMichael Niedermayer <michaelni@gmx.at>2010-01-28 03:37:22 +0000
commit12f1b1fec4cb3ec7112da513b0789d57d73e4c96 (patch)
treec3a2229637e833764a251fb4ff9d9b92af824da4 /libavformat/avienc.c
parent14ca9cd0b073ddf2b0654a29af3b91707c886fae (diff)
Remove last MAX_STREAMS from avienc.c
Originally committed as revision 21500 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/avienc.c')
-rw-r--r--libavformat/avienc.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/libavformat/avienc.c b/libavformat/avienc.c
index 72aa8ea7da..ecedba7249 100644
--- a/libavformat/avienc.c
+++ b/libavformat/avienc.c
@@ -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(AVFormatContext *s)
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(AVFormatContext *s)
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);