avconv: report the error for codec open failure

External codec may have corner case reason to fail at init, better
report them instead having the user wonder.
This commit is contained in:
Luca Barbato 2013-06-20 00:06:08 +02:00
parent 1e340af8d6
commit 42cc6cefd3
1 changed files with 8 additions and 2 deletions

View File

@ -1371,10 +1371,16 @@ static int init_input_stream(int ist_index, char *error, int error_len)
if (!av_dict_get(ist->opts, "threads", NULL, 0))
av_dict_set(&ist->opts, "threads", "auto", 0);
if ((ret = avcodec_open2(ist->st->codec, codec, &ist->opts)) < 0) {
char errbuf[128];
if (ret == AVERROR_EXPERIMENTAL)
abort_codec_experimental(codec, 0);
snprintf(error, error_len, "Error while opening decoder for input stream #%d:%d",
ist->file_index, ist->st->index);
av_strerror(ret, errbuf, sizeof(errbuf));
snprintf(error, error_len,
"Error while opening decoder for input stream "
"#%d:%d : %s",
ist->file_index, ist->st->index, errbuf);
return ret;
}
assert_avoptions(ist->opts);