|
|
|
@ -128,21 +128,20 @@ static int choose_encoder(const OptionsContext *o, AVFormatContext *s, |
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!codec_name) { |
|
|
|
|
ost->par_in->codec_id = av_guess_codec(s->oformat, NULL, s->url, |
|
|
|
|
NULL, ost->type); |
|
|
|
|
*enc = avcodec_find_encoder(ost->par_in->codec_id); |
|
|
|
|
if (!*enc) { |
|
|
|
|
av_log(ost, AV_LOG_FATAL, "Automatic encoder selection failed " |
|
|
|
|
"Default encoder for format %s (codec %s) is " |
|
|
|
|
"probably disabled. Please choose an encoder manually.\n", |
|
|
|
|
s->oformat->name, avcodec_get_name(ost->par_in->codec_id)); |
|
|
|
|
return AVERROR_ENCODER_NOT_FOUND; |
|
|
|
|
} |
|
|
|
|
} else if (strcmp(codec_name, "copy")) { |
|
|
|
|
*enc = find_codec_or_die(ost, codec_name, ost->type, 1); |
|
|
|
|
ost->par_in->codec_id = (*enc)->id; |
|
|
|
|
} |
|
|
|
|
if (!codec_name) { |
|
|
|
|
ost->par_in->codec_id = av_guess_codec(s->oformat, NULL, s->url, NULL, ost->type); |
|
|
|
|
*enc = avcodec_find_encoder(ost->par_in->codec_id); |
|
|
|
|
if (!*enc) { |
|
|
|
|
av_log(ost, AV_LOG_FATAL, "Automatic encoder selection failed " |
|
|
|
|
"Default encoder for format %s (codec %s) is " |
|
|
|
|
"probably disabled. Please choose an encoder manually.\n", |
|
|
|
|
s->oformat->name, avcodec_get_name(ost->par_in->codec_id)); |
|
|
|
|
return AVERROR_ENCODER_NOT_FOUND; |
|
|
|
|
} |
|
|
|
|
} else if (strcmp(codec_name, "copy")) { |
|
|
|
|
*enc = find_codec_or_die(ost, codec_name, ost->type, 1); |
|
|
|
|
ost->par_in->codec_id = (*enc)->id; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
|