From 12f1b1fec4cb3ec7112da513b0789d57d73e4c96 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Thu, 28 Jan 2010 03:37:22 +0000 Subject: Remove last MAX_STREAMS from avienc.c Originally committed as revision 21500 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/avienc.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'libavformat/avienc.c') 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; inb_streams; i++){ + avist= s->streams[i]->priv_data; + avist->entry=0; + } + do { empty = 1; for (i=0; inb_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); -- cgit v1.2.3