[FFmpeg-devel] [PATCH] avcodec/cbs_apv: don't return an error when reading empty buffers
Mark Thompson
sw at jkqxz.net
Thu May 1 00:17:26 EEST 2025
On 29/04/2025 20:57, James Almer wrote:
> The output will be a fragment with zero units, which is a lot more user friendly
> than making them think something went wrong, as it already happens with cbs_av1.
>
> Signed-off-by: James Almer <jamrial at gmail.com>
> ---
> libavcodec/cbs_apv.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libavcodec/cbs_apv.c b/libavcodec/cbs_apv.c
> index 2c4a1daaf0..66ea4cebab 100644
> --- a/libavcodec/cbs_apv.c
> +++ b/libavcodec/cbs_apv.c
> @@ -175,7 +175,7 @@ static int cbs_apv_split_fragment(CodedBitstreamContext *ctx,
>
> if (frag->data_size < 4) {
> // Too small to be a valid fragment.
> - return AVERROR_INVALIDDATA;
> + return 0;
> }
>
> // Don't include parsing here in trace output.
Seems fair for a zero-size buffer, but I don't like this for a three-byte fragment containing { 0xab, 0xcd, 0xef } - that feels like it should return an error.
Maybe it would make more sense to have a separate check for zero. What do you think?
Thanks,
- Mark
More information about the ffmpeg-devel
mailing list