[FFmpeg-devel] [PATCH 3/4] avformat/psxstr: fix unknown sector type 00/80

aybe aybe aybe.one at hotmail.com
Tue Jan 2 04:57:18 EET 2024


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 <aybe at users.noreply.github.com>
---
  libavformat/psxstr.c | 7 +++++++
  1 file changed, 7 insertions(+)

diff --git a/libavformat/psxstr.c b/libavformat/psxstr.c
index 72d14b9792..306a690f52 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)

@@ -274,6 +275,12 @@ 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 */
--
2.41.0.windows.1


More information about the ffmpeg-devel mailing list