On Fri, 21 Jun 2013 12:50:51 +0200, Luca Barbato <[email protected]> wrote:
> External codec may have corner case reason to fail at init, better
> report them instead having the user wonder.
> ---
>  avconv.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/avconv.c b/avconv.c
> index b490d4a..9fa0675 100644
> --- a/avconv.c
> +++ b/avconv.c
> @@ -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);
> -- 
> 1.8.2.1
> 

Both patches look ok, assuming you tested them and they work.

-- 
Anton Khirnov
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to