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 */