1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-10-06 02:05:36 +02:00

ffmpeg: check encoder earlier.

Fixes a segfault with Ogg output, libtheora not compiled in
and no codec specified.
This commit is contained in:
Nicolas George 2012-04-20 15:17:38 +02:00
parent 044f7275d3
commit 34c426be4a

View File

@ -3013,6 +3013,12 @@ static int transcode_init(void)
} else {
if (!ost->enc)
ost->enc = avcodec_find_encoder(codec->codec_id);
if (!ost->enc) {
snprintf(error, sizeof(error), "Encoder (codec %s) not found for output stream #%d:%d",
avcodec_get_name(ost->st->codec->codec_id), ost->file_index, ost->index);
ret = AVERROR(EINVAL);
goto dump_format;
}
if (ist)
ist->decoding_needed = 1;
@ -3154,12 +3160,6 @@ static int transcode_init(void)
if (ost->encoding_needed) {
AVCodec *codec = ost->enc;
AVCodecContext *dec = NULL;
if (!codec) {
snprintf(error, sizeof(error), "Encoder (codec %s) not found for output stream #%d:%d",
avcodec_get_name(ost->st->codec->codec_id), ost->file_index, ost->index);
ret = AVERROR(EINVAL);
goto dump_format;
}
if ((ist = get_input_stream(ost)))
dec = ist->st->codec;