[FFmpeg-devel] [PATCH] avcodec/audiotoolboxenc: return EAGAIN if frame_queue.available is 0 and not at->eof
Steven Liu
lq at chinaffmpeg.org
Tue Jun 28 18:55:58 EEST 2022
> 在 2022年6月28日,23:22,Jan Ekström <jeebjp at gmail.com> 写道:
>
> On Tue, Jun 28, 2022 at 5:43 PM Steven Liu <lq at chinaffmpeg.org> wrote:
>>
>> There will return success and failure after commit 7c05b7951cb47716230c95744240bc60ec5f9433.
>> But the AudioConverterFillComplexBuffer will return 1 and *got_packet_ptr is 0
>> when frame_queue.available == 0 and at->eof == 0. So should return EAGAIN here,
>> this because the encode function should return either 0 or negative error code.
>>
>
Hi jeeb,
> This mirrors what I noted to you on IRC.
>
> Can you document what ret == 1 actually is?
> AudioConverterFillComplexBuffer documentation says it returns
> OSStatus, but with a quick look I can't see any AudioToolbox related
> errors in f.ex.
> https://www.osstatus.com/search/results?platform=all&framework=all&search=1
> .
The return value comes from the callback ffat_encode_callback,
>
> If it is just equivalent of EAGAIN, then since there is no need to
> check for got_packet_ptr ?
>
> In any case, with errors or special cases early exit should always be
> preferred. See an example @
> https://github.com/jeeb/ffmpeg/commits/audiotoolboxenc_return_codes .
> (this was originally quickly whipped up before I saw your patch, and
> thus does not take care of the EAGAIN case).
I think the solution from quink should be ok
"just return error code immediately when the failure of old way."
What about your opinion to the quinks suggestion?
>
> Jan
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>
Thanks
Steven
More information about the ffmpeg-devel
mailing list