31 #define APE_MIN_VERSION 3800
32 #define APE_MAX_VERSION 3990
34 #define MAC_FORMAT_FLAG_8_BIT 1 // is 8-bit [OBSOLETE]
35 #define MAC_FORMAT_FLAG_CRC 2 // uses the new CRC32 error detection [OBSOLETE]
36 #define MAC_FORMAT_FLAG_HAS_PEAK_LEVEL 4 // uint32 nPeakLevel after the header [OBSOLETE]
37 #define MAC_FORMAT_FLAG_24_BIT 8 // is 24-bit [OBSOLETE]
38 #define MAC_FORMAT_FLAG_HAS_SEEK_ELEMENTS 16 // has the number of seek elements after the peak level
39 #define MAC_FORMAT_FLAG_CREATE_WAV_HEADER 32 // create the wave header on decompression (not stored)
41 #define APE_EXTRADATA_SIZE 6
115 for (i = 0; i < 16; i++)
135 if (i < ape_ctx->totalframes - 1) {
169 int total_blocks, final_size = 0;
170 int64_t pts, file_size;
176 if (tag !=
MKTAG(
'M',
'A',
'C',
' '))
267 "Number of seek entries is less than number of frames: %"SIZE_SPECIFIER" vs. %"PRIu32
"\n",
316 final_size -= final_size & 3;
318 if (file_size <= 0 || final_size <= 0)
331 if (i < ape->totalframes - 1 && ape->
bittable[i + 1])
390 uint32_t extra_size = 8;
430 pkt->
size = ret + extra_size;
471 .extensions =
"ape,apl,mac",