[FFmpeg-devel] [PATCH] avcodec: parse options from AVCodec.bsfs
Carl Eugen Hoyos
ceffmpeg at gmail.com
Thu Jul 19 22:16:43 EEST 2018
2018-07-19 21:00 GMT+02:00, Aman Gupta <ffmpeg at tmm1.net>:
> On Thu, Jul 19, 2018 at 11:44 AM Carl Eugen Hoyos <ceffmpeg at gmail.com>
> wrote:
>
>> 2018-07-19 3:37 GMT+02:00, James Almer <jamrial at gmail.com>:
>> > On 7/18/2018 3:57 PM, Aman Gupta wrote:
>>
>> >> + ret = av_opt_set_from_string(s->bsfs[s->nb_bsfs -
>> >> 1]->priv_data, bsf_options_str, shorthand, "=", ":");
>> >> + if (ret < 0) {
>> >> + av_log(avctx, AV_LOG_ERROR, "Invalid options for
>> >> bitstream filter %s "
>> >> + "requested by the decoder. This is a bug,
>> >> please
>> >> report it.\n",
>> >> + bsf_name);
>> >> + av_freep(&bsf);
>> >> + ret = AVERROR_BUG;
>> >> + goto fail;
>> >> + }
>> >
>> > As i said on IRC, av_opt_set_from_string() can return ENOMEM which is
>> > not a bug in the string contents, so do something like
>> >
>> > if (ret < 0) {
>> > if (ret != AVERROR(ENOMEM)) {
>> > av_log(avctx, AV_LOG_ERROR, "Invalid options for bitstream filter %s
>> "
>> > "requested by the decoder. This is a bug, please report
>> it.\n",
>> > bsf_name);
>> > ret = AVERROR_BUG;
>>
>> av_assert(ret == AVERROR(ENOMEM)); ?
>>
>
> I think it's preferable to show the custom error message, since it will
> include the name of the filter and also the name of the codec (via avctx),
> and suggest to the user that they report the bug with both of those details.
Apart from the fact that I fear the message will not trigger the
necessary report (as opposed to the assert): Iirc, you can
convince av_assert to print all this information, no?
Carl Eugen
More information about the ffmpeg-devel
mailing list