Changeset 65 for trunk/ACPublic
- Timestamp:
- 05/26/09 15:24:30 (16 months ago)
- Location:
- trunk/ACPublic
- Files:
-
- 3 added
- 12 modified
-
ACBaseCodec.cpp (modified) (22 diffs)
-
ACBaseCodec.h (modified) (3 diffs)
-
ACCodec.cpp (modified) (1 diff)
-
ACCodec.h (modified) (4 diffs)
-
ACCodecDispatch.h (modified) (12 diffs)
-
ACCodecDispatchTypes.h (modified) (1 diff)
-
ACCompatibility.h (added)
-
ACComponentResources.r (modified) (1 diff)
-
ACConditionalMacros.h (modified) (1 diff)
-
ACSimpleCodec.cpp (modified) (6 diffs)
-
ACSimpleCodec.h (modified) (3 diffs)
-
CABundleLocker.cpp (added)
-
CABundleLocker.h (added)
-
GetCodecBundle.cpp (modified) (2 diffs)
-
GetCodecBundle.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ACPublic/ACBaseCodec.cpp
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright ᅵ 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 ACBaseCodec.cpp40 41 =============================================================================*/42 43 41 //============================================================================= 44 42 // Includes 45 43 //============================================================================= 46 44 #include <algorithm> 47 45 #include "ACBaseCodec.h" 48 #include <algorithm> 46 47 #include "ACCompatibility.h" 48 49 #include "CABundleLocker.h" 50 51 #if TARGET_OS_WIN32 52 #include "CAWin32StringResources.h" 53 #endif 49 54 50 55 //============================================================================= … … 52 57 //============================================================================= 53 58 54 ACBaseCodec::ACBaseCodec( )59 ACBaseCodec::ACBaseCodec( OSType theSubType ) 55 60 : 56 61 ACCodec(), … … 61 66 mOutputFormat() 62 67 { 68 mCodecSubType = theSubType; 63 69 } 64 70 … … 67 73 } 68 74 69 void ACBaseCodec::GetPropertyInfo(AudioCodecPropertyID inPropertyID, UInt32& outPropertyDataSize, bool& outWritable)75 void ACBaseCodec::GetPropertyInfo(AudioCodecPropertyID inPropertyID, UInt32& outPropertyDataSize, Boolean& outWritable) 70 76 { 71 77 switch(inPropertyID) … … 75 81 outWritable = false; 76 82 break; 83 77 84 case kAudioCodecPropertyManufacturerCFString: 78 85 outPropertyDataSize = sizeof(CFStringRef); 79 86 outWritable = false; 80 87 break; 88 89 case kAudioCodecPropertyFormatCFString: 90 outPropertyDataSize = sizeof(CFStringRef); 91 outWritable = false; 92 break; 93 94 case kAudioCodecPropertyRequiresPacketDescription: 95 outPropertyDataSize = sizeof(UInt32); 96 outWritable = false; 97 break; 98 81 99 case kAudioCodecPropertyMinimumNumberInputPackets : 82 100 outPropertyDataSize = sizeof(UInt32); 83 101 outWritable = false; 84 102 break; 103 85 104 case kAudioCodecPropertyMinimumNumberOutputPackets : 86 105 outPropertyDataSize = sizeof(UInt32); 87 106 outWritable = false; 88 break;89 case kAudioCodecPropertyInputChannelLayout :90 case kAudioCodecPropertyOutputChannelLayout :91 // by default a codec doesn't support channel layouts.92 CODEC_THROW(kAudioCodecIllegalOperationError);93 break;94 case kAudioCodecPropertyAvailableInputChannelLayouts :95 case kAudioCodecPropertyAvailableOutputChannelLayouts :96 // by default a codec doesn't support channel layouts.97 CODEC_THROW(kAudioCodecIllegalOperationError);98 107 break; 99 108 100 109 case kAudioCodecPropertyCurrentInputFormat: 101 110 outPropertyDataSize = sizeof(AudioStreamBasicDescription); 102 outWritable = !mIsInitialized;111 outWritable = true; 103 112 break; 104 113 105 114 case kAudioCodecPropertySupportedInputFormats: 115 case kAudioCodecPropertyInputFormatsForOutputFormat: 106 116 outPropertyDataSize = GetNumberSupportedInputFormats() * sizeof(AudioStreamBasicDescription); 107 117 outWritable = false; … … 110 120 case kAudioCodecPropertyCurrentOutputFormat: 111 121 outPropertyDataSize = sizeof(AudioStreamBasicDescription); 112 outWritable = !mIsInitialized;122 outWritable = true; 113 123 break; 114 124 115 125 case kAudioCodecPropertySupportedOutputFormats: 126 case kAudioCodecPropertyOutputFormatsForInputFormat: 116 127 outPropertyDataSize = GetNumberSupportedOutputFormats() * sizeof(AudioStreamBasicDescription); 117 128 outWritable = false; … … 120 131 case kAudioCodecPropertyMagicCookie: 121 132 outPropertyDataSize = GetMagicCookieByteSize(); 122 outWritable = !mIsInitialized;133 outWritable = true; 123 134 break; 124 135 125 136 case kAudioCodecPropertyInputBufferSize: 126 137 outPropertyDataSize = sizeof(UInt32); 127 outWritable = true;138 outWritable = false; 128 139 break; 129 140 … … 152 163 outWritable = false; 153 164 break; 154 165 166 case kAudioCodecPropertyDoesSampleRateConversion: 167 outPropertyDataSize = sizeof(UInt32); 168 outWritable = false; 169 break; 170 155 171 default: 156 172 CODEC_THROW(kAudioCodecUnknownPropertyError); … … 170 186 if (ioPropertyDataSize != sizeof(CFStringRef)) CODEC_THROW(kAudioCodecBadPropertySizeError); 171 187 188 CABundleLocker lock; 172 189 CFStringRef name = CFCopyLocalizedStringFromTableInBundle(CFSTR("unknown codec"), CFSTR("CodecNames"), GetCodecBundle(), CFSTR("")); 173 190 *(CFStringRef*)outPropertyData = name; 174 191 break; 175 192 } 193 176 194 case kAudioCodecPropertyManufacturerCFString: 177 195 { 178 196 if (ioPropertyDataSize != sizeof(CFStringRef)) CODEC_THROW(kAudioCodecBadPropertySizeError); 179 197 180 CFStringRef name = CFCopyLocalizedStringFromTableInBundle(CFSTR("Apple Computer, Inc."), CFSTR("CodecNames"), GetCodecBundle(), CFSTR("")); 198 CABundleLocker lock; 199 CFStringRef name = CFCopyLocalizedStringFromTableInBundle(CFSTR("Apple, Inc."), CFSTR("CodecNames"), GetCodecBundle(), CFSTR("")); 181 200 *(CFStringRef*)outPropertyData = name; 182 201 break; 183 202 } 203 case kAudioCodecPropertyRequiresPacketDescription: 204 if(ioPropertyDataSize == sizeof(UInt32)) 205 { 206 *reinterpret_cast<UInt32*>(outPropertyData) = 0; 207 } 208 else 209 { 210 CODEC_THROW(kAudioCodecBadPropertySizeError); 211 } 212 break; 213 184 214 case kAudioCodecPropertyMinimumNumberInputPackets : 185 215 if(ioPropertyDataSize != sizeof(UInt32)) CODEC_THROW(kAudioCodecBadPropertySizeError); 186 216 *(UInt32*)outPropertyData = 1; 187 217 break; 218 188 219 case kAudioCodecPropertyMinimumNumberOutputPackets : 189 220 if(ioPropertyDataSize != sizeof(UInt32)) CODEC_THROW(kAudioCodecBadPropertySizeError); … … 191 222 break; 192 223 193 case kAudioCodecPropertyInputChannelLayout :194 case kAudioCodecPropertyOutputChannelLayout :195 // by default a codec doesn't support channel layouts.196 CODEC_THROW(kAudioCodecIllegalOperationError);197 break;198 case kAudioCodecPropertyAvailableInputChannelLayouts :199 case kAudioCodecPropertyAvailableOutputChannelLayouts :200 // by default a codec doesn't support channel layouts.201 CODEC_THROW(kAudioCodecIllegalOperationError);202 break;203 204 224 case kAudioCodecPropertyCurrentInputFormat: 205 225 if(ioPropertyDataSize == sizeof(AudioStreamBasicDescription)) … … 214 234 215 235 case kAudioCodecPropertySupportedInputFormats: 236 case kAudioCodecPropertyInputFormatsForOutputFormat: 216 237 thePacketsToGet = ioPropertyDataSize / sizeof(AudioStreamBasicDescription); 217 238 GetSupportedInputFormats(reinterpret_cast<AudioStreamBasicDescription*>(outPropertyData), thePacketsToGet); … … 231 252 232 253 case kAudioCodecPropertySupportedOutputFormats: 254 case kAudioCodecPropertyOutputFormatsForInputFormat: 233 255 thePacketsToGet = ioPropertyDataSize / sizeof(AudioStreamBasicDescription); 234 256 GetSupportedOutputFormats(reinterpret_cast<AudioStreamBasicDescription*>(outPropertyData), thePacketsToGet); … … 243 265 else 244 266 { 245 CODEC_THROW(kAudioCodec IllegalOperationError);267 CODEC_THROW(kAudioCodecBadPropertySizeError); 246 268 } 247 269 break; … … 254 276 else 255 277 { 256 CODEC_THROW(kAudioCodec IllegalOperationError);278 CODEC_THROW(kAudioCodecBadPropertySizeError); 257 279 } 258 280 break; … … 265 287 else 266 288 { 267 CODEC_THROW(kAudioCodec IllegalOperationError);289 CODEC_THROW(kAudioCodecBadPropertySizeError); 268 290 } 269 291 break; … … 276 298 else 277 299 { 278 CODEC_THROW(kAudioCodec IllegalOperationError);300 CODEC_THROW(kAudioCodecBadPropertySizeError); 279 301 } 280 302 break; … … 315 337 break; 316 338 339 case kAudioCodecPropertyDoesSampleRateConversion: 340 if(ioPropertyDataSize == sizeof(UInt32)) 341 { 342 *reinterpret_cast<UInt32*>(outPropertyData) = 0; 343 } 344 else 345 { 346 CODEC_THROW(kAudioCodecBadPropertySizeError); 347 } 348 break; 349 317 350 default: 318 351 CODEC_THROW(kAudioCodecUnknownPropertyError); … … 324 357 void ACBaseCodec::SetProperty(AudioCodecPropertyID inPropertyID, UInt32 inPropertyDataSize, const void* inPropertyData) 325 358 { 359 // No property can be set when the codec is initialized 360 if(mIsInitialized) 361 { 362 CODEC_THROW(kAudioCodecIllegalOperationError); 363 } 364 326 365 switch(inPropertyID) 327 366 { 328 case kAudioCodecPropertyMinimumNumberInputPackets :329 CODEC_THROW(kAudioCodecIllegalOperationError);330 break;331 case kAudioCodecPropertyMinimumNumberOutputPackets :332 CODEC_THROW(kAudioCodecIllegalOperationError);333 break;334 335 case kAudioCodecPropertyInputChannelLayout :336 case kAudioCodecPropertyOutputChannelLayout :337 // by default a codec doesn't support channel layouts.338 CODEC_THROW(kAudioCodecIllegalOperationError);339 break;340 341 case kAudioCodecPropertyAvailableInputChannelLayouts :342 case kAudioCodecPropertyAvailableOutputChannelLayouts :343 // by default a codec doesn't support channel layouts.344 CODEC_THROW(kAudioCodecIllegalOperationError);345 break;346 347 367 case kAudioCodecPropertyCurrentInputFormat: 348 368 if(inPropertyDataSize == sizeof(AudioStreamBasicDescription)) … … 371 391 break; 372 392 393 case kAudioCodecPropertyMinimumNumberOutputPackets : 394 case kAudioCodecPropertyMinimumNumberInputPackets : 373 395 case kAudioCodecPropertyInputBufferSize: 374 if(inPropertyDataSize == sizeof(UInt32)) 375 { 376 ReallocateInputBuffer(*reinterpret_cast<const UInt32*>(inPropertyData)); 377 } 378 else 379 { 380 CODEC_THROW(kAudioCodecBadPropertySizeError); 381 } 382 break; 383 396 case kAudioCodecPropertyNameCFString: 397 case kAudioCodecPropertyManufacturerCFString: 398 case kAudioCodecPropertyFormatCFString: 384 399 case kAudioCodecPropertySupportedInputFormats: 385 400 case kAudioCodecPropertySupportedOutputFormats: … … 389 404 case kAudioCodecPropertyPrimeMethod: 390 405 case kAudioCodecPropertyPrimeInfo: 406 case kAudioCodecPropertyOutputFormatsForInputFormat: 407 case kAudioCodecPropertyInputFormatsForOutputFormat: 408 case kAudioCodecPropertyDoesSampleRateConversion: 409 case kAudioCodecPropertyRequiresPacketDescription: 391 410 CODEC_THROW(kAudioCodecIllegalOperationError); 392 411 break; … … 395 414 CODEC_THROW(kAudioCodecUnknownPropertyError); 396 415 break; 397 398 416 }; 399 417 } … … 498 516 void ACBaseCodec::GetMagicCookie(void* outMagicCookieData, UInt32& ioMagicCookieDataByteSize) const 499 517 { 518 ioMagicCookieDataByteSize = 0; 500 519 } 501 520 -
trunk/ACPublic/ACBaseCodec.h
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright © 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 ACBaseCodec.h40 41 =============================================================================*/42 41 #if !defined(__ACBaseCodec_h__) 43 42 #define __ACBaseCodec_h__ … … 68 67 // Construction/Destruction 69 68 public: 70 ACBaseCodec( );69 ACBaseCodec( OSType theSubType ); 71 70 virtual ~ACBaseCodec(); 72 71 73 72 // Property Management 74 73 public: 75 virtual void GetPropertyInfo(AudioCodecPropertyID inPropertyID, UInt32& outPropertyDataSize, bool& outWritable);74 virtual void GetPropertyInfo(AudioCodecPropertyID inPropertyID, UInt32& outPropertyDataSize, Boolean& outWritable); 76 75 virtual void GetProperty(AudioCodecPropertyID inPropertyID, UInt32& ioPropertyDataSize, void* outPropertyData); 77 76 virtual void SetProperty(AudioCodecPropertyID inPropertyID, UInt32 inPropertyDataSize, const void* inPropertyData); … … 116 115 117 116 FormatList mInputFormatList; 117 #if TARGET_OS_WIN32 118 // VC 2005 screws up if this is not aligned to 8-byte boundaries 119 __declspec(align(8)) CAStreamBasicDescription mInputFormat; 120 #else 118 121 CAStreamBasicDescription mInputFormat; 122 #endif 119 123 120 124 FormatList mOutputFormatList; 125 #if TARGET_OS_WIN32 126 // VC 2005 screws up if this is not aligned to 8-byte boundaries 127 __declspec(align(8)) CAStreamBasicDescription mOutputFormat; 128 #else 121 129 CAStreamBasicDescription mOutputFormat; 130 #endif 131 OSType mCodecSubType; 132 UInt32 mPadding[3]; // Align this with 16-byte boundaries 122 133 123 134 }; -
trunk/ACPublic/ACCodec.cpp
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright © 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 ACCodec.cpp40 41 =============================================================================*/42 43 41 //============================================================================= 44 42 // Includes -
trunk/ACPublic/ACCodec.h
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright © 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 ACCodec.h40 41 =============================================================================*/42 41 #if !defined(__ACCodec_h__) 43 42 #define __ACCodec_h__ … … 47 46 //============================================================================= 48 47 49 #include "CAConditionalMacros.h"50 48 51 #if CoreAudio_Use_Framework_Includes 49 50 #if !defined(__COREAUDIO_USE_FLAT_INCLUDES__) 52 51 #include <AudioUnit/AudioCodec.h> 53 52 #else … … 72 71 // Property Management 73 72 public: 74 virtual void GetPropertyInfo(AudioCodecPropertyID inPropertyID, UInt32& outSize, bool& outWritable) = 0;73 virtual void GetPropertyInfo(AudioCodecPropertyID inPropertyID, UInt32& outSize, Boolean& outWritable) = 0; 75 74 virtual void GetProperty(AudioCodecPropertyID inPropertyID, UInt32& ioPropertyDataSize, void* outPropertyData) = 0; 76 75 virtual void SetProperty(AudioCodecPropertyID inPropertyID, UInt32 inPropertyDataSize, const void* inPropertyData) = 0; … … 95 94 throw static_cast<ComponentResult>(err) 96 95 96 #define CODEC_THROW_IF(cond, err) \ 97 if(bool(cond)) CODEC_THROW(err); 98 97 99 #endif -
trunk/ACPublic/ACCodecDispatch.h
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright ᅵ 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 ACCodecDispatch.h40 41 =============================================================================*/42 41 #if !defined(__ACCodecDispatch_h__) 43 42 #define __ACCodecDispatch_h__ … … 48 47 49 48 #include "ACCodec.h" 50 #include "ACCodecDispatchTypes.h"51 49 52 50 //============================================================================= … … 68 66 //============================================================================= 69 67 68 #if TARGET_OS_MAC 69 #if __LP64__ 70 // comp instance, parameters in forward order 71 #define PARAM(_typ, _name, _index, _nparams) \ 72 _typ _name = *(_typ *)&inParameters->params[_index + 1]; 73 #else 74 // parameters in reverse order, then comp instance 75 #define PARAM(_typ, _name, _index, _nparams) \ 76 _typ _name = *(_typ *)&inParameters->params[_nparams - 1 - _index]; 77 #endif 78 #elif TARGET_OS_WIN32 79 // (no comp instance), parameters in forward order 80 #define PARAM(_typ, _name, _index, _nparams) \ 81 _typ _name = *(_typ *)&inParameters->params[_index]; 82 #endif 83 70 84 template <class CodecClass> 71 85 ComponentResult ACCodecDispatch(ComponentParameters* inParameters, CodecClass* inThis) … … 81 95 case kComponentOpenSelect: 82 96 { 83 CodecClass* theCodec = new CodecClass(); 84 SetComponentInstanceStorage(((AudioCodecOpenGluePB*)inParameters)->inCodec, (Handle)theCodec); 97 Component codec = (Component)inParameters->params[0]; 98 ComponentDescription cd; 99 100 GetComponentInfo(codec, &cd, NULL, NULL, NULL); 101 CodecClass* theCodec = new CodecClass(cd.componentSubType); 102 SetComponentInstanceStorage((ComponentInstance)codec, (Handle)theCodec); 85 103 } 86 104 break; … … 129 147 case kAudioCodecGetPropertyInfoSelect: 130 148 { 131 AudioCodecGetPropertyInfoGluePB* thePB = (AudioCodecGetPropertyInfoGluePB*)inParameters; 149 PARAM(AudioCodecPropertyID, inPropertyID, 0, 3); 150 PARAM(UInt32 *, outSize, 1, 3); 151 PARAM(Boolean *, outWritable, 2, 3); 152 132 153 UInt32 theSize = 0; 133 boolisWritable = false;134 135 inThis->GetPropertyInfo( thePB->inPropertyID, theSize, isWritable);136 if( thePB->outSize != NULL)137 { 138 * (thePB->outSize)= theSize;139 } 140 if( thePB->outWritable != NULL)141 { 142 * (thePB->outWritable)= isWritable ? 1 : 0;154 Boolean isWritable = false; 155 156 inThis->GetPropertyInfo(inPropertyID, theSize, isWritable); 157 if(outSize != NULL) 158 { 159 *outSize = theSize; 160 } 161 if(outWritable != NULL) 162 { 163 *outWritable = isWritable ? 1 : 0; 143 164 } 144 165 } … … 147 168 case kAudioCodecGetPropertySelect: 148 169 { 149 AudioCodecGetPropertyGluePB* thePB = (AudioCodecGetPropertyGluePB*)inParameters; 150 151 if((thePB->ioPropertyDataSize != NULL) && (thePB->outPropertyData != NULL)) 152 { 153 inThis->GetProperty(thePB->inPropertyID, *(thePB->ioPropertyDataSize), thePB->outPropertyData); 170 PARAM(AudioCodecPropertyID, inPropertyID, 0, 3); 171 PARAM(UInt32 *, ioPropertyDataSize, 1, 3); 172 PARAM(void *, outPropertyData, 2, 3); 173 174 if((ioPropertyDataSize != NULL) && (outPropertyData != NULL)) 175 { 176 inThis->GetProperty(inPropertyID, *ioPropertyDataSize, outPropertyData); 154 177 } 155 178 else … … 162 185 case kAudioCodecSetPropertySelect: 163 186 { 164 AudioCodecSetPropertyGluePB* thePB = (AudioCodecSetPropertyGluePB*)inParameters; 165 166 if(thePB->inPropertyData != NULL) 167 { 168 inThis->SetProperty(thePB->inPropertyID, thePB->inPropertyDataSize, thePB->inPropertyData); 187 PARAM(AudioCodecPropertyID, inPropertyID, 0, 3); 188 PARAM(UInt32, inPropertyDataSize, 1, 3); 189 PARAM(const void *, inPropertyData, 2, 3); 190 191 if(inPropertyData != NULL) 192 { 193 inThis->SetProperty(inPropertyID, inPropertyDataSize, inPropertyData); 169 194 } 170 195 else … … 177 202 case kAudioCodecInitializeSelect: 178 203 { 179 AudioCodecInitializeGluePB* thePB = (AudioCodecInitializeGluePB*)inParameters; 180 181 inThis->Initialize(thePB->inInputFormat, thePB->inOutputFormat, thePB->inMagicCookie, thePB->inMagicCookieByteSize); 204 PARAM(const AudioStreamBasicDescription *, inInputFormat, 0, 4); 205 PARAM(const AudioStreamBasicDescription *, inOutputFormat, 1, 4); 206 PARAM(const void *, inMagicCookie, 2, 4); 207 PARAM(UInt32, inMagicCookieByteSize, 3, 4); 208 209 inThis->Initialize(inInputFormat, inOutputFormat, inMagicCookie, inMagicCookieByteSize); 182 210 } 183 211 break; … … 185 213 case kAudioCodecUninitializeSelect: 186 214 { 187 //AudioCodecUninitializeGluePB* thePB = (AudioCodecUninitializeGluePB*)inParameters;188 189 215 inThis->Uninitialize(); 190 216 } … … 193 219 case kAudioCodecAppendInputDataSelect: 194 220 { 195 AudioCodecAppendInputDataGluePB* thePB = (AudioCodecAppendInputDataGluePB*)inParameters; 196 197 if((thePB->inInputData != NULL) && (thePB->ioInputDataByteSize != NULL)) 198 { 199 if(thePB->ioNumberPackets != NULL) 221 PARAM(const void *, inInputData, 0, 4); 222 PARAM(UInt32 *, ioInputDataByteSize, 1, 4); 223 PARAM(UInt32 *, ioNumberPackets, 2, 4); 224 PARAM(const AudioStreamPacketDescription *, inPacketDescription, 3, 4); 225 226 if((inInputData != NULL) && (ioInputDataByteSize != NULL)) 227 { 228 if(ioNumberPackets != NULL) 200 229 { 201 inThis->AppendInputData( thePB->inInputData, *(thePB->ioInputDataByteSize), *(thePB->ioNumberPackets), thePB->inPacketDescription);230 inThis->AppendInputData(inInputData, *ioInputDataByteSize, *ioNumberPackets, inPacketDescription); 202 231 } 203 232 else 204 233 { 205 234 UInt32 theNumberPackets = 0; 206 inThis->AppendInputData( thePB->inInputData, *(thePB->ioInputDataByteSize), theNumberPackets, thePB->inPacketDescription);235 inThis->AppendInputData(inInputData, *ioInputDataByteSize, theNumberPackets, inPacketDescription); 207 236 } 208 237 } … … 216 245 case kAudioCodecProduceOutputDataSelect: 217 246 { 218 AudioCodecProduceOutputPacketsGluePB* thePB = (AudioCodecProduceOutputPacketsGluePB*)inParameters; 219 220 if((thePB->outOutputData != NULL) && (thePB->ioOutputDataByteSize != NULL) && (thePB->ioNumberPackets != NULL) && (thePB->outStatus != NULL)) 221 { 222 *(thePB->outStatus) = inThis->ProduceOutputPackets(thePB->outOutputData, *(thePB->ioOutputDataByteSize), *(thePB->ioNumberPackets), thePB->outPacketDescription); 247 PARAM(void *, outOutputData, 0, 5); 248 PARAM(UInt32 *, ioOutputDataByteSize, 1, 5); 249 PARAM(UInt32 *, ioNumberPackets, 2, 5); 250 PARAM(AudioStreamPacketDescription *, outPacketDescription, 3, 5); 251 PARAM(UInt32 *, outStatus, 4, 5); 252 253 if((outOutputData != NULL) && (ioOutputDataByteSize != NULL) && (ioNumberPackets != NULL) && (outStatus != NULL)) 254 { 255 *outStatus = inThis->ProduceOutputPackets(outOutputData, *ioOutputDataByteSize, *ioNumberPackets, outPacketDescription); 256 if(kAudioCodecProduceOutputPacketFailure == *outStatus) 257 { 258 theError = paramErr; 259 } 223 260 } 224 261 else … … 231 268 case kAudioCodecResetSelect: 232 269 { 233 //AudioCodecResetGluePB* thePB = (AudioCodecResetGluePB*)inParameters;234 235 270 inThis->Reset(); 236 271 } -
trunk/ACPublic/ACCodecDispatchTypes.h
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright © 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 ACCodecDispatchTypes.h40 41 =============================================================================*/42 41 #if !defined(__ACCodecDispatchTypes_h__) 43 42 #define __ACCodecDispatchTypes_h__ -
trunk/ACPublic/ACComponentResources.r
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright © 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 ACComponentResources.r40 41 =============================================================================*/42 43 41 #ifndef GEN_MISSING 44 42 #define GEN_MISSING 0 -
trunk/ACPublic/ACConditionalMacros.h
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright © 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 ACConditionalMacros.h40 41 =============================================================================*/42 41 #if !defined(__ACConditionalMacros_h__) 43 42 #define __ACConditionalMacros_h__ -
trunk/ACPublic/ACSimpleCodec.cpp
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright ᅵ 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 ACSimpleCodec.cpp40 41 =============================================================================*/42 43 41 //============================================================================= 44 42 // Includes … … 52 50 //============================================================================= 53 51 54 static const UInt32 kBufferPad = 3840; // this is used to prevent end from passing start.55 56 ACSimpleCodec::ACSimpleCodec(UInt32 inInputBufferByteSize )52 static const UInt32 kBufferPad = 64; // this is used to prevent end from passing start. 53 54 ACSimpleCodec::ACSimpleCodec(UInt32 inInputBufferByteSize, OSType theSubType) 57 55 : 58 ACBaseCodec( ),56 ACBaseCodec(theSubType), 59 57 mInputBuffer(NULL), 60 58 mInputBufferByteSize(inInputBufferByteSize+kBufferPad), … … 127 125 } 128 126 127 129 128 void ACSimpleCodec::AppendInputBuffer(const void* inInputData, UInt32 inOffset, UInt32& ioInputDataByteSize) 130 129 { … … 227 226 } 228 227 228 229 void ACSimpleCodec::ZeroPadInputData(UInt32& ioNumberPackets, const AudioStreamPacketDescription* inPacketDescription) 230 { 231 // this buffer handling code doesn't care about such things as the packet descriptions 232 if(!mIsInitialized) CODEC_THROW(kAudioCodecStateError); 233 234 235 // this is a ring buffer we're dealing with, so we need to set up a few things 236 UInt32 theUsedByteSize = GetUsedInputBufferByteSize(); 237 UInt32 theAvailableByteSize = GetInputBufferByteSize() - theUsedByteSize; 238 239 // >>jamesmcc: added this because ioNumberPackets was not being updated if less was taken than given. 240 // THIS ASSUMES CBR! 241 UInt32 bytesPerPacketOfInput = mInputFormat.mBytesPerPacket; 242 UInt32 theAvailablePacketSize = theAvailableByteSize / bytesPerPacketOfInput; 243 244 UInt32 minPacketSize = ioNumberPackets < theAvailablePacketSize ? ioNumberPackets : theAvailablePacketSize; 245 UInt32 minByteSize = minPacketSize * bytesPerPacketOfInput; 246 247 // we can copy only as much data as there is or up to how much space is availiable 248 ioNumberPackets = minPacketSize; 249 250 // <<jamesmcc 251 252 // now we have to copy the data taking into account the wrap around and where the start is 253 if(mInputBufferEnd + minByteSize < mInputBufferByteSize) 254 { 255 // no wrap around here 256 memset(mInputBuffer + mInputBufferEnd, 0, minByteSize); 257 258 // adjust the end point 259 mInputBufferEnd += minByteSize; 260 } 261 else 262 { 263 // the copy will wrap 264 265 // copy the first part 266 UInt32 theBeforeWrapByteSize = mInputBufferByteSize - mInputBufferEnd; 267 memset(mInputBuffer + mInputBufferEnd, 0, theBeforeWrapByteSize); 268 269 // and the rest 270 UInt32 theAfterWrapByteSize = minByteSize - theBeforeWrapByteSize; 271 memset(mInputBuffer, 0, theAfterWrapByteSize); 272 273 // adjust the end point 274 mInputBufferEnd = theAfterWrapByteSize; 275 } 276 } 277 278 229 279 void ACSimpleCodec::ConsumeInputData(UInt32 inConsumedByteSize) 230 280 { … … 281 331 // need to copy beginning of buffer to the end. 282 332 // We cleverly over allocated our buffer space to make this possible. 283 mem cpy(mInputBuffer + mInputBufferByteSize, mInputBuffer, leftOver);333 memmove(mInputBuffer + mInputBufferByteSize, mInputBuffer, leftOver); 284 334 } 285 335 … … 306 356 mInputBufferEnd = 0; 307 357 } 358 359 void ACSimpleCodec::GetPropertyInfo(AudioCodecPropertyID inPropertyID, UInt32& outPropertyDataSize, Boolean& outWritable) 360 { 361 switch(inPropertyID) 362 { 363 case kAudioCodecPropertyInputBufferSize: 364 outPropertyDataSize = sizeof(UInt32); 365 outWritable = true; 366 break; 367 default: 368 ACBaseCodec::GetPropertyInfo(inPropertyID, outPropertyDataSize, outWritable); 369 break; 370 } 371 372 } 373 374 void ACSimpleCodec::SetProperty(AudioCodecPropertyID inPropertyID, UInt32 inPropertyDataSize, const void* inPropertyData) 375 { 376 switch(inPropertyID) 377 { 378 case kAudioCodecPropertyInputBufferSize: 379 if(inPropertyDataSize == sizeof(UInt32)) 380 { 381 ReallocateInputBuffer(*reinterpret_cast<const UInt32*>(inPropertyData)); 382 } 383 else 384 { 385 CODEC_THROW(kAudioCodecBadPropertySizeError); 386 } 387 break; 388 default: 389 ACBaseCodec::SetProperty(inPropertyID, inPropertyDataSize, inPropertyData); 390 break; 391 } 392 } -
trunk/ACPublic/ACSimpleCodec.h
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright ᅵ 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 ACSimpleCodec.h40 41 =============================================================================*/42 41 #if !defined(__ACSimpleCodec_h__) 43 42 #define __ACSimpleCodec_h__ … … 63 62 // Construction/Destruction 64 63 public: 65 ACSimpleCodec(UInt32 inInputBufferByteSize );64 ACSimpleCodec(UInt32 inInputBufferByteSize, OSType theSubType); 66 65 virtual ~ACSimpleCodec(); 67 66 … … 72 71 virtual void Reset(); 73 72 73 virtual void AppendInputBuffer(const void* inInputData, UInt32 inOffset, UInt32& ioInputDataByteSize); 74 74 virtual void AppendInputData(const void* inInputData, UInt32& ioInputDataByteSize, UInt32& ioNumberPackets, const AudioStreamPacketDescription* inPacketDescription); 75 virtual void ACSimpleCodec::AppendInputBuffer(const void* inInputData, UInt32 inOffset, UInt32& ioInputDataByteSize);75 virtual void ZeroPadInputData(UInt32& ioNumberPackets, const AudioStreamPacketDescription* inPacketDescription); 76 76 virtual UInt32 GetInputBufferByteSize() const; 77 77 virtual UInt32 GetUsedInputBufferByteSize() const; 78 virtual void GetPropertyInfo(AudioCodecPropertyID inPropertyID, UInt32& outPropertyDataSize, Boolean& outWritable); 79 virtual void SetProperty(AudioCodecPropertyID inPropertyID, UInt32 inPropertyDataSize, const void* inPropertyData); 78 80 79 81 protected: -
trunk/ACPublic/GetCodecBundle.cpp
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright © 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 GetCodecBundle.cpp40 41 42 * Created by James McCartney on Thu Apr 10 2003.43 =============================================================================*/44 45 41 #include "GetCodecBundle.h" 46 42 47 const CFStringRef kCodecBundleID = CFSTR("com.apple.audio.codecs.Components"); 43 #if TARGET_OS_WIN32 44 #include "CAWin32StringResources.h" 45 #endif 46 47 const CFStringRef kCodecBundleID = CFSTR("com.mycompany.myformat"); // must match CFBundleIdentifier in plist file 48 48 49 49 CFBundleRef GetCodecBundle() … … 53 53 { 54 54 sAudioCodecBundle = CFBundleGetBundleWithIdentifier(kCodecBundleID); 55 CFRetain(sAudioCodecBundle); 55 if (sAudioCodecBundle) 56 { 57 CFRetain(sAudioCodecBundle); 58 } 56 59 } 57 60 return sAudioCodecBundle; -
trunk/ACPublic/GetCodecBundle.h
r1 r65 1 /* Copyright: © Copyright 2004 Apple Computer, Inc. All rights reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. 4 ("Apple") in consideration of your agreement to the following terms, and your 5 use, installation, modification or redistribution of this Apple software 6 constitutes acceptance of these terms. If you do not agree with these terms, 7 please do not use, install, modify or redistribute this Apple software. 8 9 In consideration of your agreement to abide by the following terms, and subject 10 to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs 11 copyrights in this original Apple software (the "Apple Software"), to use, 12 reproduce, modify and redistribute the Apple Software, with or without 13 modifications, in source and/or binary forms; provided that if you redistribute 14 the Apple Software in its entirety and without modifications, you must retain 15 this notice and the following text and disclaimers in all such redistributions of 16 the Apple Software. Neither the name, trademarks, service marks or logos of 17 Apple Computer, Inc. may be used to endorse or promote products derived from the 18 Apple Software without specific prior written permission from Apple. Except as 19 expressly stated in this notice, no other rights or licenses, express or implied, 20 are granted by Apple herein, including but not limited to any patent rights that 21 may be infringed by your derivative works or by other works in which the Apple 22 Software may be incorporated. 23 24 The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO 25 WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED 26 WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR 27 PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN 28 COMBINATION WITH YOUR PRODUCTS. 29 30 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR 31 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 32 GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION 34 OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT 35 (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN 36 ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1 /* Copyright © 2007 Apple Inc. All Rights Reserved. 2 3 Disclaimer: IMPORTANT: This Apple software is supplied to you by 4 Apple Inc. ("Apple") in consideration of your agreement to the 5 following terms, and your use, installation, modification or 6 redistribution of this Apple software constitutes acceptance of these 7 terms. If you do not agree with these terms, please do not use, 8 install, modify or redistribute this Apple software. 9 10 In consideration of your agreement to abide by the following terms, and 11 subject to these terms, Apple grants you a personal, non-exclusive 12 license, under Apple's copyrights in this original Apple software (the 13 "Apple Software"), to use, reproduce, modify and redistribute the Apple 14 Software, with or without modifications, in source and/or binary forms; 15 provided that if you redistribute the Apple Software in its entirety and 16 without modifications, you must retain this notice and the following 17 text and disclaimers in all such redistributions of the Apple Software. 18 Neither the name, trademarks, service marks or logos of Apple Inc. 19 may be used to endorse or promote products derived from the Apple 20 Software without specific prior written permission from Apple. Except 21 as expressly stated in this notice, no other rights or licenses, express 22 or implied, are granted by Apple herein, including but not limited to 23 any patent rights that may be infringed by your derivative works or by 24 other works in which the Apple Software may be incorporated. 25 26 The Apple Software is provided by Apple on an "AS IS" basis. APPLE 27 MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION 28 THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS 29 FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND 30 OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. 31 32 IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL 33 OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 34 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 35 INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, 36 MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED 37 AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), 38 STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE 39 POSSIBILITY OF SUCH DAMAGE. 37 40 */ 38 /*=============================================================================39 GetCodecBundle.h40 41 42 * Created by James McCartney on Thu Apr 10 2003.43 =============================================================================*/44 45 41 #ifndef _GetCodecBundle_ 46 42 #define _GetCodecBundle_
