Fix interpretation of tracks block.

This commit is contained in:
2022-10-12 16:19:48 +01:00
parent 3b59b07a4c
commit 417112d29a

View File

@@ -41,7 +41,7 @@ void* aaruf_open(const char* filepath)
uint8_t* cstData; uint8_t* cstData;
uint32_t* cdDdt; uint32_t* cdDdt;
uint64_t crc64; uint64_t crc64;
int i, j; int i, j, k;
uint16_t e; uint16_t e;
uint8_t lzmaProperties[LZMA_PROPERTIES_LENGTH]; uint8_t lzmaProperties[LZMA_PROPERTIES_LENGTH];
size_t lzmaSize; size_t lzmaSize;
@@ -1029,10 +1029,19 @@ void* aaruf_open(const char* filepath)
for(j = 0; j < ctx->tracksHeader.entries; j++) for(j = 0; j < ctx->tracksHeader.entries; j++)
{ {
if(ctx->trackEntries[j].sequence <= 99 && ctx->trackEntries[j].type != Audio) if(ctx->trackEntries[j].sequence > 0 && ctx->trackEntries[j].sequence <= 99)
ctx->numberOfDataTracks++; ctx->numberOfDataTracks++;
} }
ctx->dataTracks = malloc(sizeof(TrackEntry) * ctx->numberOfDataTracks);
k = 0;
for(j = 0; j < ctx->tracksHeader.entries; j++)
{
if(ctx->trackEntries[j].sequence > 0 && ctx->trackEntries[j].sequence <= 99)
memcpy(&ctx->dataTracks[k++], &ctx->trackEntries[j], sizeof(TrackEntry));
}
break; break;
// CICM XML metadata block // CICM XML metadata block
case CicmBlock: case CicmBlock: