diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-10-29 20:21:59 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-10-29 20:21:59 +0200 |
commit | a18ecfeb365c9fe3e97a782d2d1aeb4e875b469c (patch) | |
tree | 13fd194de28da9b592fcce45a9bda8439873e8c6 | |
parent | 9b04f51d5f63e74c5f0c258ad866ce7959c936fd (diff) | |
download | ffmpeg-a18ecfeb365c9fe3e97a782d2d1aeb4e875b469c.tar.gz |
ffmpeg: Fix memory corruption with ffserver
Bug has been introduced by:
commit 1cede1d0112b5b26e6d023846729662b7cf1853f
Author: Anton Khirnov <anton@khirnov.net>
Date: Sat Jun 25 07:43:49 2011 +0200
ffmpeg: factor common code from new_a/v/s/d_stream to new_output_stream()
-rw-r--r-- | ffmpeg.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -3636,15 +3636,18 @@ static int read_ffserver_streams(OptionsContext *o, AVFormatContext *s, const ch AVStream *st; OutputStream *ost; AVCodec *codec; + AVCodecContext *avctx; codec = avcodec_find_encoder(ic->streams[i]->codec->codec_id); ost = new_output_stream(o, s, codec->type); st = ost->st; + avctx = st->codec; // FIXME: a more elegant solution is needed memcpy(st, ic->streams[i], sizeof(AVStream)); st->info = av_malloc(sizeof(*st->info)); memcpy(st->info, ic->streams[i]->info, sizeof(*st->info)); + st->codec= avctx; avcodec_copy_context(st->codec, ic->streams[i]->codec); if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO && !ost->stream_copy) |