Message ID | 20220624055957.48149-1-lq@chinaffmpeg.org |
---|---|
State | Accepted |
Commit | 7c05b7951cb47716230c95744240bc60ec5f9433 |
Headers | show |
Series | [FFmpeg-devel,v2] avcodec/audiotoolboxenc: return external error if encode failed | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
andriy/make_armv7_RPi4 | success | Make finished |
andriy/make_fate_armv7_RPi4 | success | Make fate finished |
> On Jun 24, 2022, at 1:59 PM, Steven Liu <lq@chinaffmpeg.org> wrote: > > because the AudioConverterFillComplexBuffer can return 0 or 1 if > success. > so set the ret to 0 it AudioConverterFillComplexBuffer success and > return ret value for success or return AVERROR_EXTERNAL when > AudioConverterFillComplexBuffer failed. > BTW change the error message log level from warning to error. > > Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > --- > libavcodec/audiotoolboxenc.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c > index f8305ab89b..00293154bf 100644 > --- a/libavcodec/audiotoolboxenc.c > +++ b/libavcodec/audiotoolboxenc.c > @@ -554,11 +554,13 @@ static int ffat_encode(AVCodecContext *avctx, AVPacket *avpkt, > avctx->frame_size, > &avpkt->pts, > &avpkt->duration); > + ret = 0; > } else if (ret && ret != 1) { > - av_log(avctx, AV_LOG_WARNING, "Encode error: %i\n", ret); > + av_log(avctx, AV_LOG_ERROR, "Encode error: %i\n", ret); > + ret = AVERROR_EXTERNAL; > } > > - return 0; > + return ret; > } > LGTM. > static av_cold void ffat_encode_flush(AVCodecContext *avctx) > -- > 2.25.0 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
"zhilizhao(赵志立)" <quinkblack@foxmail.com> 于2022年6月24日周五 14:59写道: > > > > > On Jun 24, 2022, at 1:59 PM, Steven Liu <lq@chinaffmpeg.org> wrote: > > > > because the AudioConverterFillComplexBuffer can return 0 or 1 if > > success. > > so set the ret to 0 it AudioConverterFillComplexBuffer success and > > return ret value for success or return AVERROR_EXTERNAL when > > AudioConverterFillComplexBuffer failed. > > BTW change the error message log level from warning to error. > > > > Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > > --- > > libavcodec/audiotoolboxenc.c | 6 ++++-- > > 1 file changed, 4 insertions(+), 2 deletions(-) > > > > diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c > > index f8305ab89b..00293154bf 100644 > > --- a/libavcodec/audiotoolboxenc.c > > +++ b/libavcodec/audiotoolboxenc.c > > @@ -554,11 +554,13 @@ static int ffat_encode(AVCodecContext *avctx, AVPacket *avpkt, > > avctx->frame_size, > > &avpkt->pts, > > &avpkt->duration); > > + ret = 0; > > } else if (ret && ret != 1) { > > - av_log(avctx, AV_LOG_WARNING, "Encode error: %i\n", ret); > > + av_log(avctx, AV_LOG_ERROR, "Encode error: %i\n", ret); > > + ret = AVERROR_EXTERNAL; > > } > > > > - return 0; > > + return ret; > > } > > > > LGTM. Applied, Thanks > > > static av_cold void ffat_encode_flush(AVCodecContext *avctx) > > -- > > 2.25.0 > > > > _______________________________________________ Thanks Steven
On 6/24/2022 4:05 AM, Steven Liu wrote: > "zhilizhao(赵志立)" <quinkblack@foxmail.com> 于2022年6月24日周五 14:59写道: >> >> >> >>> On Jun 24, 2022, at 1:59 PM, Steven Liu <lq@chinaffmpeg.org> wrote: >>> >>> because the AudioConverterFillComplexBuffer can return 0 or 1 if >>> success. >>> so set the ret to 0 it AudioConverterFillComplexBuffer success and >>> return ret value for success or return AVERROR_EXTERNAL when >>> AudioConverterFillComplexBuffer failed. >>> BTW change the error message log level from warning to error. >>> >>> Signed-off-by: Steven Liu <lq@chinaffmpeg.org> >>> --- >>> libavcodec/audiotoolboxenc.c | 6 ++++-- >>> 1 file changed, 4 insertions(+), 2 deletions(-) >>> >>> diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c >>> index f8305ab89b..00293154bf 100644 >>> --- a/libavcodec/audiotoolboxenc.c >>> +++ b/libavcodec/audiotoolboxenc.c >>> @@ -554,11 +554,13 @@ static int ffat_encode(AVCodecContext *avctx, AVPacket *avpkt, >>> avctx->frame_size, >>> &avpkt->pts, >>> &avpkt->duration); >>> + ret = 0; >>> } else if (ret && ret != 1) { >>> - av_log(avctx, AV_LOG_WARNING, "Encode error: %i\n", ret); >>> + av_log(avctx, AV_LOG_ERROR, "Encode error: %i\n", ret); >>> + ret = AVERROR_EXTERNAL; >>> } >>> >>> - return 0; >>> + return ret; >>> } >>> >> >> LGTM. > > Applied, Thanks This is probably the source of the regression described in https://trac.ffmpeg.org/ticket/9866 Can you look at it?
> On Aug 19, 2022, at 11:14 PM, James Almer <jamrial@gmail.com> wrote: > > On 6/24/2022 4:05 AM, Steven Liu wrote: >> "zhilizhao(赵志立)" <quinkblack@foxmail.com> 于2022年6月24日周五 14:59写道: >>> >>> >>> >>>> On Jun 24, 2022, at 1:59 PM, Steven Liu <lq@chinaffmpeg.org> wrote: >>>> >>>> because the AudioConverterFillComplexBuffer can return 0 or 1 if >>>> success. >>>> so set the ret to 0 it AudioConverterFillComplexBuffer success and >>>> return ret value for success or return AVERROR_EXTERNAL when >>>> AudioConverterFillComplexBuffer failed. >>>> BTW change the error message log level from warning to error. >>>> >>>> Signed-off-by: Steven Liu <lq@chinaffmpeg.org> >>>> --- >>>> libavcodec/audiotoolboxenc.c | 6 ++++-- >>>> 1 file changed, 4 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c >>>> index f8305ab89b..00293154bf 100644 >>>> --- a/libavcodec/audiotoolboxenc.c >>>> +++ b/libavcodec/audiotoolboxenc.c >>>> @@ -554,11 +554,13 @@ static int ffat_encode(AVCodecContext *avctx, AVPacket *avpkt, >>>> avctx->frame_size, >>>> &avpkt->pts, >>>> &avpkt->duration); >>>> + ret = 0; >>>> } else if (ret && ret != 1) { >>>> - av_log(avctx, AV_LOG_WARNING, "Encode error: %i\n", ret); >>>> + av_log(avctx, AV_LOG_ERROR, "Encode error: %i\n", ret); >>>> + ret = AVERROR_EXTERNAL; >>>> } >>>> >>>> - return 0; >>>> + return ret; >>>> } >>>> >>> >>> LGTM. >> Applied, Thanks > > This is probably the source of the regression described in https://trac.ffmpeg.org/ticket/9866 > > Can you look at it? There is a patch which doesn’t get apply yet: http://ffmpeg.org/pipermail/ffmpeg-devel/2022-June/298199.html > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
"zhilizhao(赵志立)" <quinkblack@foxmail.com> 于2022年8月22日周一 10:49写道: > > > > > On Aug 19, 2022, at 11:14 PM, James Almer <jamrial@gmail.com> wrote: > > > > On 6/24/2022 4:05 AM, Steven Liu wrote: > >> "zhilizhao(赵志立)" <quinkblack@foxmail.com> 于2022年6月24日周五 14:59写道: > >>> > >>> > >>> > >>>> On Jun 24, 2022, at 1:59 PM, Steven Liu <lq@chinaffmpeg.org> wrote: > >>>> > >>>> because the AudioConverterFillComplexBuffer can return 0 or 1 if > >>>> success. > >>>> so set the ret to 0 it AudioConverterFillComplexBuffer success and > >>>> return ret value for success or return AVERROR_EXTERNAL when > >>>> AudioConverterFillComplexBuffer failed. > >>>> BTW change the error message log level from warning to error. > >>>> > >>>> Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > >>>> --- > >>>> libavcodec/audiotoolboxenc.c | 6 ++++-- > >>>> 1 file changed, 4 insertions(+), 2 deletions(-) > >>>> > >>>> diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c > >>>> index f8305ab89b..00293154bf 100644 > >>>> --- a/libavcodec/audiotoolboxenc.c > >>>> +++ b/libavcodec/audiotoolboxenc.c > >>>> @@ -554,11 +554,13 @@ static int ffat_encode(AVCodecContext *avctx, AVPacket *avpkt, > >>>> avctx->frame_size, > >>>> &avpkt->pts, > >>>> &avpkt->duration); > >>>> + ret = 0; > >>>> } else if (ret && ret != 1) { > >>>> - av_log(avctx, AV_LOG_WARNING, "Encode error: %i\n", ret); > >>>> + av_log(avctx, AV_LOG_ERROR, "Encode error: %i\n", ret); > >>>> + ret = AVERROR_EXTERNAL; > >>>> } > >>>> > >>>> - return 0; > >>>> + return ret; > >>>> } > >>>> > >>> > >>> LGTM. > >> Applied, Thanks > > > > This is probably the source of the regression described in https://trac.ffmpeg.org/ticket/9866 > > > > Can you look at it? > > There is a patch which doesn’t get apply yet: > > http://ffmpeg.org/pipermail/ffmpeg-devel/2022-June/298199.html commit as 627543f58a3166810b9cd9c8b483678c82a99be9 > > > _______________________________________________ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > To unsubscribe, visit link above, or email > > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". Thanks
Steven Liu: > "zhilizhao(赵志立)" <quinkblack@foxmail.com> 于2022年8月22日周一 10:49写道: >> >> >> >>> On Aug 19, 2022, at 11:14 PM, James Almer <jamrial@gmail.com> wrote: >>> >>> On 6/24/2022 4:05 AM, Steven Liu wrote: >>>> "zhilizhao(赵志立)" <quinkblack@foxmail.com> 于2022年6月24日周五 14:59写道: >>>>> >>>>> >>>>> >>>>>> On Jun 24, 2022, at 1:59 PM, Steven Liu <lq@chinaffmpeg.org> wrote: >>>>>> >>>>>> because the AudioConverterFillComplexBuffer can return 0 or 1 if >>>>>> success. >>>>>> so set the ret to 0 it AudioConverterFillComplexBuffer success and >>>>>> return ret value for success or return AVERROR_EXTERNAL when >>>>>> AudioConverterFillComplexBuffer failed. >>>>>> BTW change the error message log level from warning to error. >>>>>> >>>>>> Signed-off-by: Steven Liu <lq@chinaffmpeg.org> >>>>>> --- >>>>>> libavcodec/audiotoolboxenc.c | 6 ++++-- >>>>>> 1 file changed, 4 insertions(+), 2 deletions(-) >>>>>> >>>>>> diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c >>>>>> index f8305ab89b..00293154bf 100644 >>>>>> --- a/libavcodec/audiotoolboxenc.c >>>>>> +++ b/libavcodec/audiotoolboxenc.c >>>>>> @@ -554,11 +554,13 @@ static int ffat_encode(AVCodecContext *avctx, AVPacket *avpkt, >>>>>> avctx->frame_size, >>>>>> &avpkt->pts, >>>>>> &avpkt->duration); >>>>>> + ret = 0; >>>>>> } else if (ret && ret != 1) { >>>>>> - av_log(avctx, AV_LOG_WARNING, "Encode error: %i\n", ret); >>>>>> + av_log(avctx, AV_LOG_ERROR, "Encode error: %i\n", ret); >>>>>> + ret = AVERROR_EXTERNAL; >>>>>> } >>>>>> >>>>>> - return 0; >>>>>> + return ret; >>>>>> } >>>>>> >>>>> >>>>> LGTM. >>>> Applied, Thanks >>> >>> This is probably the source of the regression described in https://trac.ffmpeg.org/ticket/9866 >>> >>> Can you look at it? >> >> There is a patch which doesn’t get apply yet: >> >> http://ffmpeg.org/pipermail/ffmpeg-devel/2022-June/298199.html > > commit as 627543f58a3166810b9cd9c8b483678c82a99be9 >> You should backport this fix to 5.1. See ticket #9960. - Andreas
Andreas Rheinhardt <andreas.rheinhardt@outlook.com> 于2022年10月5日周三 20:14写道: > > Steven Liu: > > "zhilizhao(赵志立)" <quinkblack@foxmail.com> 于2022年8月22日周一 10:49写道: > >> > >> > >> > >>> On Aug 19, 2022, at 11:14 PM, James Almer <jamrial@gmail.com> wrote: > >>> > >>> On 6/24/2022 4:05 AM, Steven Liu wrote: > >>>> "zhilizhao(赵志立)" <quinkblack@foxmail.com> 于2022年6月24日周五 14:59写道: > >>>>> > >>>>> > >>>>> > >>>>>> On Jun 24, 2022, at 1:59 PM, Steven Liu <lq@chinaffmpeg.org> wrote: > >>>>>> > >>>>>> because the AudioConverterFillComplexBuffer can return 0 or 1 if > >>>>>> success. > >>>>>> so set the ret to 0 it AudioConverterFillComplexBuffer success and > >>>>>> return ret value for success or return AVERROR_EXTERNAL when > >>>>>> AudioConverterFillComplexBuffer failed. > >>>>>> BTW change the error message log level from warning to error. > >>>>>> > >>>>>> Signed-off-by: Steven Liu <lq@chinaffmpeg.org> > >>>>>> --- > >>>>>> libavcodec/audiotoolboxenc.c | 6 ++++-- > >>>>>> 1 file changed, 4 insertions(+), 2 deletions(-) > >>>>>> > >>>>>> diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c > >>>>>> index f8305ab89b..00293154bf 100644 > >>>>>> --- a/libavcodec/audiotoolboxenc.c > >>>>>> +++ b/libavcodec/audiotoolboxenc.c > >>>>>> @@ -554,11 +554,13 @@ static int ffat_encode(AVCodecContext *avctx, AVPacket *avpkt, > >>>>>> avctx->frame_size, > >>>>>> &avpkt->pts, > >>>>>> &avpkt->duration); > >>>>>> + ret = 0; > >>>>>> } else if (ret && ret != 1) { > >>>>>> - av_log(avctx, AV_LOG_WARNING, "Encode error: %i\n", ret); > >>>>>> + av_log(avctx, AV_LOG_ERROR, "Encode error: %i\n", ret); > >>>>>> + ret = AVERROR_EXTERNAL; > >>>>>> } > >>>>>> > >>>>>> - return 0; > >>>>>> + return ret; > >>>>>> } > >>>>>> > >>>>> > >>>>> LGTM. > >>>> Applied, Thanks > >>> > >>> This is probably the source of the regression described in https://trac.ffmpeg.org/ticket/9866 > >>> > >>> Can you look at it? > >> > >> There is a patch which doesn’t get apply yet: > >> > >> http://ffmpeg.org/pipermail/ffmpeg-devel/2022-June/298199.html > > > > commit as 627543f58a3166810b9cd9c8b483678c82a99be9 > >> > > You should backport this fix to 5.1. See ticket #9960. Ok, cherry-picked. Thanks Steven
diff --git a/libavcodec/audiotoolboxenc.c b/libavcodec/audiotoolboxenc.c index f8305ab89b..00293154bf 100644 --- a/libavcodec/audiotoolboxenc.c +++ b/libavcodec/audiotoolboxenc.c @@ -554,11 +554,13 @@ static int ffat_encode(AVCodecContext *avctx, AVPacket *avpkt, avctx->frame_size, &avpkt->pts, &avpkt->duration); + ret = 0; } else if (ret && ret != 1) { - av_log(avctx, AV_LOG_WARNING, "Encode error: %i\n", ret); + av_log(avctx, AV_LOG_ERROR, "Encode error: %i\n", ret); + ret = AVERROR_EXTERNAL; } - return 0; + return ret; } static av_cold void ffat_encode_flush(AVCodecContext *avctx)
because the AudioConverterFillComplexBuffer can return 0 or 1 if success. so set the ret to 0 it AudioConverterFillComplexBuffer success and return ret value for success or return AVERROR_EXTERNAL when AudioConverterFillComplexBuffer failed. BTW change the error message log level from warning to error. Signed-off-by: Steven Liu <lq@chinaffmpeg.org> --- libavcodec/audiotoolboxenc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)