From 4acc94e97a9551d11ead29735e23283d71f1d4c2 Mon Sep 17 00:00:00 2001 From: longstone Date: Wed, 23 Feb 2011 10:43:21 -0500 Subject: avienc: fix AVI stream index for files with >10 streams Fixes issue 2563. Signed-off-by: Ronald S. Bultje --- libavformat/avienc.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libavformat/avienc.c') diff --git a/libavformat/avienc.c b/libavformat/avienc.c index 61af511350..e109269fa3 100644 --- a/libavformat/avienc.c +++ b/libavformat/avienc.c @@ -85,8 +85,8 @@ static int64_t avi_start_new_riff(AVFormatContext *s, AVIOContext *pb, static char* avi_stream2fourcc(char* tag, int index, enum AVMediaType type) { - tag[0] = '0'; - tag[1] = '0' + index; + tag[0] = '0' + index/10; + tag[1] = '0' + index%10; if (type == AVMEDIA_TYPE_VIDEO) { tag[2] = 'd'; tag[3] = 'c'; @@ -158,6 +158,12 @@ static int avi_write_header(AVFormatContext *s) int64_t list1, list2, strh, strf; AVMetadataTag *t = NULL; + if (s->nb_streams > AVI_MAX_STREAM_COUNT) { + av_log(s, AV_LOG_ERROR, "AVI does not support >%d streams\n", + AVI_MAX_STREAM_COUNT); + return -1; + } + for(n=0;nnb_streams;n++) { s->streams[n]->priv_data= av_mallocz(sizeof(AVIStream)); if(!s->streams[n]->priv_data) -- cgit v1.2.3