[FFmpeg-devel] [PATCH 3/3] avformat/mp3dec: change bogus error message if read_header encounters EOF

Marton Balint cus at passwd.hu
Tue May 14 23:02:26 EEST 2024


Because of ffio_ensure_seekback() a seek error normally should only happen if
the end of file is reached during checking for the junk run-in. Also use proper
error code.

Signed-off-by: Marton Balint <cus at passwd.hu>
---
 libavformat/mp3dec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c
index 4abc73966f..f421e03926 100644
--- a/libavformat/mp3dec.c
+++ b/libavformat/mp3dec.c
@@ -415,8 +415,8 @@ static int mp3_read_header(AVFormatContext *s)
             if (ret >= 0 && (header & MP3_MASK) == (header2 & MP3_MASK))
                 break;
         } else if (frame_size == CHECK_SEEK_FAILED) {
-            av_log(s, AV_LOG_ERROR, "Failed to read frame size: Could not seek to %"PRId64".\n", (int64_t) (i + 1024 + frame_size + 4));
-            return AVERROR(EINVAL);
+            av_log(s, AV_LOG_ERROR, "Failed to find two consecutive MPEG audio frames.\n");
+            return AVERROR_INVALIDDATA;
         }
     }
     if (i == 64 * 1024) {
-- 
2.35.3



More information about the ffmpeg-devel mailing list