25 #ifndef ALACAUDIOTYPES_H
26 #define ALACAUDIOTYPES_H
36 #if PRAGMA_STRUCT_ALIGN
37 #pragma options align=mac68k
38 #elif PRAGMA_STRUCT_PACKPUSH
40 #elif PRAGMA_STRUCT_PACK
47 #define TARGET_RT_BIG_ENDIAN 1
48 #elif defined(__ppc64__)
49 #define TARGET_RT_BIG_ENDIAN 1
52 #define kChannelAtomSize 12
56 kALAC_UnimplementedError = -4,
57 kALAC_FileNotFoundError = -43,
58 kALAC_ParamError = -50,
59 kALAC_MemFullError = -108
64 kALACFormatAppleLossless =
'alac',
65 kALACFormatLinearPCM =
'lpcm'
71 kALACMaxEscapeHeaderBytes = 8,
72 kALACMaxSearches = 16,
74 kALACDefaultFramesPerPacket = 4096
77 typedef uint32_t ALACChannelLayoutTag;
81 kALACFormatFlagIsFloat = (1 << 0),
82 kALACFormatFlagIsBigEndian = (1 << 1),
83 kALACFormatFlagIsSignedInteger = (1 << 2),
84 kALACFormatFlagIsPacked = (1 << 3),
85 kALACFormatFlagIsAlignedHigh = (1 << 4),
90 #if TARGET_RT_BIG_ENDIAN
91 kALACFormatFlagsNativeEndian = kALACFormatFlagIsBigEndian
93 kALACFormatFlagsNativeEndian = 0
98 typedef double alac_float64_t;
103 kALACChannelLayoutTag_Mono = (100<<16) | 1,
104 kALACChannelLayoutTag_Stereo = (101<<16) | 2,
105 kALACChannelLayoutTag_MPEG_3_0_B = (113<<16) | 3,
106 kALACChannelLayoutTag_MPEG_4_0_B = (116<<16) | 4,
107 kALACChannelLayoutTag_MPEG_5_0_D = (120<<16) | 5,
108 kALACChannelLayoutTag_MPEG_5_1_D = (124<<16) | 6,
109 kALACChannelLayoutTag_AAC_6_1 = (142<<16) | 7,
110 kALACChannelLayoutTag_MPEG_7_1_B = (127<<16) | 8
115 static const ALACChannelLayoutTag ALACChannelLayoutTags[kALACMaxChannels] =
117 kALACChannelLayoutTag_Mono,
118 kALACChannelLayoutTag_Stereo,
119 kALACChannelLayoutTag_MPEG_3_0_B,
120 kALACChannelLayoutTag_MPEG_4_0_B,
121 kALACChannelLayoutTag_MPEG_5_0_D,
122 kALACChannelLayoutTag_MPEG_5_1_D,
123 kALACChannelLayoutTag_AAC_6_1,
124 kALACChannelLayoutTag_MPEG_7_1_B
130 ALACChannelLayoutTag mChannelLayoutTag;
131 uint32_t mChannelBitmap;
132 uint32_t mNumberChannelDescriptions;
138 alac_float64_t mSampleRate;
140 uint32_t mFormatFlags;
141 uint32_t mBytesPerPacket;
142 uint32_t mFramesPerPacket;
143 uint32_t mBytesPerFrame;
144 uint32_t mChannelsPerFrame;
145 uint32_t mBitsPerChannel;
154 kALACCodecFormat =
'alac',
156 kALACCompatibleVersion = kALACVersion,
157 kALACDefaultFrameSize = 4096
164 uint32_t frameLength;
165 uint8_t compatibleVersion;
172 uint32_t maxFrameBytes;
182 AudioChannelLayoutAID =
'chan'
185 #if PRAGMA_STRUCT_ALIGN
186 #pragma options align=reset
187 #elif PRAGMA_STRUCT_PACKPUSH
189 #elif PRAGMA_STRUCT_PACK
Definition: ALACAudioTypes.h:129
Definition: ALACAudioTypes.h:163