From 21ed52916d5843a8ab64a9a21131935886e8dd76 Mon Sep 17 00:00:00 2001 From: aybe aybe Date: Tue, 2 Jan 2024 02:57:18 +0000 Subject: [PATCH] avformat/psxstr: fix unknown sector type 00/80 This third patch fixes warnings that are false positives (still on STRv1). That's because these sectors are simply empty ones as can be read in "System Description CD-ROM XA, May 1991, 4.3.2.3". Haven't attempted significant refactoring as it just works, left a comment instead about the situation. The result is that there are no more false warnings when converting. Signed-off-by: aybe Signed-off-by: Michael Niedermayer --- libavformat/psxstr.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavformat/psxstr.c b/libavformat/psxstr.c index bb56b05688..22867416d9 100644 --- a/libavformat/psxstr.c +++ b/libavformat/psxstr.c @@ -48,6 +48,7 @@ #define CDXA_TYPE_DATA 0x08 #define CDXA_TYPE_AUDIO 0x04 #define CDXA_TYPE_VIDEO 0x02 +#define CDXA_TYPE_EMPTY 0x00 #define STR_MAGIC (0x80010160) @@ -270,6 +271,10 @@ static int str_read_packet(AVFormatContext *s, str->channels[channel].audio_stream_index; pkt->duration = 1; return 0; + case CDXA_TYPE_EMPTY: /* CD-ROM XA, May 1991, 4.3.2.3 */ + /* NOTE this also catches 0x80 (EOF bit) because of CDXA_TYPE_MASK */ + /* TODO consider refactoring so as to explicitly handle each case? */ + break; default: av_log(s, AV_LOG_WARNING, "Unknown sector type %02X\n", sector[0x12]); /* drop the sector and move on */