PR #21111 opened by rmmh URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21111 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21111.patch
iOS Voice Memos frequently produces ALAC files with a zero-sample last frame. Instead of bubbling up an error that might cause a transcode to fail, simply don't decode the frame. >From f2a31efae7c42aa8bac2a4747df0fcad40a62868 Mon Sep 17 00:00:00 2001 From: Ryan Hitchman <[email protected]> Date: Fri, 5 Dec 2025 09:20:29 -0700 Subject: [PATCH] avcodec/alac: fix decode errors on empty last frames iOS Voice Memos frequently produces ALAC files with a zero-sample last frame. Instead of bubbling up an error that might cause a transcode to fail, simply don't decode the frame. --- libavcodec/alac.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/alac.c b/libavcodec/alac.c index f91288e97c..0acc568174 100644 --- a/libavcodec/alac.c +++ b/libavcodec/alac.c @@ -267,7 +267,9 @@ static int decode_element(AVCodecContext *avctx, AVFrame *frame, int ch_index, output_samples = get_bits_long(gb, 32); else output_samples = alac->max_samples_per_frame; - if (!output_samples || output_samples > alac->max_samples_per_frame) { + if (!output_samples) + return 0; + if (output_samples > alac->max_samples_per_frame) { av_log(avctx, AV_LOG_ERROR, "invalid samples per frame: %"PRIu32"\n", output_samples); return AVERROR_INVALIDDATA; -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
