diff --git a/StreamingKit/StreamingKit.xcodeproj/project.pbxproj b/StreamingKit/StreamingKit.xcodeproj/project.pbxproj index 0acafa6..0e131d5 100644 --- a/StreamingKit/StreamingKit.xcodeproj/project.pbxproj +++ b/StreamingKit/StreamingKit.xcodeproj/project.pbxproj @@ -15,8 +15,8 @@ 5B949CD71A1140E4005675A0 /* STKHTTPDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = A1E7C4FB188D5E550010896F /* STKHTTPDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5B949CD81A1140E4005675A0 /* STKLocalFileDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = A1E7C4FD188D5E550010896F /* STKLocalFileDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; 5B949CD91A1140E4005675A0 /* STKQueueEntry.h in Headers */ = {isa = PBXBuildFile; fileRef = A1BF65D0189A6582004DD08C /* STKQueueEntry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 958A8E291C67E9B700AA861D /* AEFloatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 958A8E271C67E9B700AA861D /* AEFloatConverter.h */; }; - 958A8E2A1C67E9B700AA861D /* AEFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 958A8E281C67E9B700AA861D /* AEFloatConverter.m */; }; + 95F80F4E1C68EE2300DB24B3 /* STKFloatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 95F80F4C1C68EE2300DB24B3 /* STKFloatConverter.h */; }; + 95F80F4F1C68EE2300DB24B3 /* STKFloatConverter.m in Sources */ = {isa = PBXBuildFile; fileRef = 95F80F4D1C68EE2300DB24B3 /* STKFloatConverter.m */; }; A1A4996B189E744400E2A2E2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1A4996A189E744400E2A2E2 /* Cocoa.framework */; }; A1A49975189E744500E2A2E2 /* StreamingKitMac.m in Sources */ = {isa = PBXBuildFile; fileRef = A1A49974189E744500E2A2E2 /* StreamingKitMac.m */; }; A1A4997B189E744500E2A2E2 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1E7C4D9188D57F60010896F /* XCTest.framework */; }; @@ -93,8 +93,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 958A8E271C67E9B700AA861D /* AEFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AEFloatConverter.h; sourceTree = ""; }; - 958A8E281C67E9B700AA861D /* AEFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AEFloatConverter.m; sourceTree = ""; }; + 95F80F4C1C68EE2300DB24B3 /* STKFloatConverter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = STKFloatConverter.h; sourceTree = ""; }; + 95F80F4D1C68EE2300DB24B3 /* STKFloatConverter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = STKFloatConverter.m; sourceTree = ""; }; A1A49969189E744400E2A2E2 /* libStreamingKitMac.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libStreamingKitMac.a; sourceTree = BUILT_PRODUCTS_DIR; }; A1A4996A189E744400E2A2E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; }; A1A4996D189E744500E2A2E2 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; @@ -274,8 +274,8 @@ A1E7C4CD188D57F50010896F /* StreamingKit */ = { isa = PBXGroup; children = ( - 958A8E271C67E9B700AA861D /* AEFloatConverter.h */, - 958A8E281C67E9B700AA861D /* AEFloatConverter.m */, + 95F80F4C1C68EE2300DB24B3 /* STKFloatConverter.h */, + 95F80F4D1C68EE2300DB24B3 /* STKFloatConverter.m */, A1E7C4F1188D5E550010896F /* STKAudioPlayer.h */, A1E7C4F2188D5E550010896F /* STKAudioPlayer.m */, A1E7C4F3188D5E550010896F /* STKAutoRecoveringHTTPDataSource.h */, @@ -337,7 +337,7 @@ 5B949CD41A1140E4005675A0 /* STKCoreFoundationDataSource.h in Headers */, 5B949CD51A1140E4005675A0 /* STKDataSource.h in Headers */, 5B949CD61A1140E4005675A0 /* STKDataSourceWrapper.h in Headers */, - 958A8E291C67E9B700AA861D /* AEFloatConverter.h in Headers */, + 95F80F4E1C68EE2300DB24B3 /* STKFloatConverter.h in Headers */, 5B949CD71A1140E4005675A0 /* STKHTTPDataSource.h in Headers */, 5B949CD81A1140E4005675A0 /* STKLocalFileDataSource.h in Headers */, 5B949CD91A1140E4005675A0 /* STKQueueEntry.h in Headers */, @@ -532,7 +532,7 @@ A1E7C505188D5E550010896F /* STKLocalFileDataSource.m in Sources */, A1BF65D2189A6582004DD08C /* STKQueueEntry.m in Sources */, A1E7C504188D5E550010896F /* STKHTTPDataSource.m in Sources */, - 958A8E2A1C67E9B700AA861D /* AEFloatConverter.m in Sources */, + 95F80F4F1C68EE2300DB24B3 /* STKFloatConverter.m in Sources */, A1E7C503188D5E550010896F /* STKDataSourceWrapper.m in Sources */, A1E7C502188D5E550010896F /* STKDataSource.m in Sources */, A1BF65D5189A65C6004DD08C /* NSMutableArray+STKAudioPlayer.m in Sources */, diff --git a/StreamingKit/StreamingKit/STKAudioPlayer.h b/StreamingKit/StreamingKit/STKAudioPlayer.h index f76ce9d..bfdaeb3 100644 --- a/StreamingKit/StreamingKit/STKAudioPlayer.h +++ b/StreamingKit/StreamingKit/STKAudioPlayer.h @@ -101,7 +101,7 @@ typedef struct } STKAudioPlayerOptions; -typedef void(^STKFrameFilter)(UInt32 channelsPerFrame, UInt32 bytesPerFrame, UInt32 frameCount, void* frames); +typedef void(^STKFrameFilter)(UInt32 channelsPerFrame, UInt32 bytesPerFrame, UInt32 frameCount, float* frames); @interface STKFrameFilterEntry : NSObject @property (readonly) NSString* name; diff --git a/StreamingKit/StreamingKit/STKAudioPlayer.m b/StreamingKit/StreamingKit/STKAudioPlayer.m index 2a1f4c2..b5dcfe7 100755 --- a/StreamingKit/StreamingKit/STKAudioPlayer.m +++ b/StreamingKit/StreamingKit/STKAudioPlayer.m @@ -41,7 +41,7 @@ #import "NSMutableArray+STKAudioPlayer.h" #import "libkern/OSAtomic.h" #import -#import "AEFloatConverter.h" +#import "STKFloatConverter.h" #ifndef DBL_MAX #define DBL_MAX 1.7976931348623157e+308 @@ -274,7 +274,7 @@ static AudioStreamBasicDescription recordAudioStreamBasicDescription; volatile STKAudioPlayerStopReason stopReason; float **_floatBuffers; - AEFloatConverter *_floatConverter; + STKFloatConverter *_floatConverter; } @property (readwrite) STKAudioPlayerInternalState internalState; @@ -534,7 +534,7 @@ static void AudioFileStreamPacketsProc(void* clientData, UInt32 numberBytes, UIn //initialie the float converter // Allocate the float buffers - _floatConverter = [[AEFloatConverter alloc] initWithSourceFormat:canonicalAudioStreamBasicDescription]; + _floatConverter = [[STKFloatConverter alloc] initWithSourceFormat:canonicalAudioStreamBasicDescription]; size_t sizeToAllocate = sizeof(float*) * canonicalAudioStreamBasicDescription.mChannelsPerFrame; sizeToAllocate = MAX(8, sizeToAllocate); _floatBuffers = (float**)malloc( sizeToAllocate ); @@ -3225,9 +3225,9 @@ static OSStatus OutputRenderCallback(void* inRefCon, AudioUnitRenderActionFlags* } else { - [self appendFrameFilterWithName:@"STKMeteringFilter" block:^(UInt32 channelsPerFrame, UInt32 bytesPerFrame, UInt32 frameCount, void* frames) + [self appendFrameFilterWithName:@"STKMeteringFilter" block:^(UInt32 channelsPerFrame, UInt32 bytesPerFrame, UInt32 frameCount, float* frames) { - AEFloatConverterToFloat(_floatConverter,&(pcmAudioBufferList),_floatBuffers,frameCount); + STKFloatConverterToFloat(_floatConverter,&(pcmAudioBufferList),_floatBuffers,frameCount); if ([self.delegate respondsToSelector:@selector(plotGraphWithBuffer:andLength:)]) { [self.delegate plotGraphWithBuffer:*(_floatBuffers) andLength:frameCount]; diff --git a/StreamingKit/StreamingKit/AEFloatConverter.h b/StreamingKit/StreamingKit/STKFloatConverter.h old mode 100644 new mode 100755 similarity index 82% rename from StreamingKit/StreamingKit/AEFloatConverter.h rename to StreamingKit/StreamingKit/STKFloatConverter.h index 8b2e55c..807c1ce --- a/StreamingKit/StreamingKit/AEFloatConverter.h +++ b/StreamingKit/StreamingKit/STKFloatConverter.h @@ -26,17 +26,17 @@ #ifdef __cplusplus extern "C" { #endif - + #import #import - - /*! - * Universal converter to float format - * - * Use this class to easily convert arbitrary audio formats to floating point - * for use with utilities like the Accelerate framework. - */ - @interface AEFloatConverter : NSObject + +/*! + * Universal converter to float format + * + * Use this class to easily convert arbitrary audio formats to floating point + * for use with utilities like the Accelerate framework. + */ +@interface STKFloatConverter : NSObject /*! * Initialize @@ -54,12 +54,12 @@ extern "C" { * * @param converter Pointer to the converter object. * @param sourceBuffer An audio buffer list containing the source audio. - * @param targetBuffers An array of floating-point arrays to store the converted float audio into. + * @param targetBuffers An array of floating-point arrays to store the converted float audio into. * Note that you must provide the correct number of arrays, to match the number of channels. * @param frames The number of frames to convert. * @return YES on success; NO on failure */ -BOOL AEFloatConverterToFloat(AEFloatConverter* converter, AudioBufferList *sourceBuffer, float * const * targetBuffers, UInt32 frames); +BOOL STKFloatConverterToFloat(STKFloatConverter* converter, AudioBufferList *sourceBuffer, float * const * targetBuffers, UInt32 frames); /*! * Convert audio to floating-point, in a buffer list @@ -74,7 +74,7 @@ BOOL AEFloatConverterToFloat(AEFloatConverter* converter, AudioBufferList *sourc * @param frames The number of frames to convert. * @return YES on success; NO on failure */ -BOOL AEFloatConverterToFloatBufferList(AEFloatConverter* converter, AudioBufferList *sourceBuffer, AudioBufferList *targetBuffer, UInt32 frames); +BOOL STKFloatConverterToFloatBufferList(STKFloatConverter* converter, AudioBufferList *sourceBuffer, AudioBufferList *targetBuffer, UInt32 frames); /*! * Convert audio from floating-point @@ -90,7 +90,7 @@ BOOL AEFloatConverterToFloatBufferList(AEFloatConverter* converter, AudioBufferL * @param frames The number of frames to convert. * @return YES on success; NO on failure */ -BOOL AEFloatConverterFromFloat(AEFloatConverter* converter, float * const * sourceBuffers, AudioBufferList *targetBuffer, UInt32 frames); +BOOL STKFloatConverterFromFloat(STKFloatConverter* converter, float * const * sourceBuffers, AudioBufferList *targetBuffer, UInt32 frames); /*! * Convert audio from floating-point, in a buffer list @@ -105,7 +105,7 @@ BOOL AEFloatConverterFromFloat(AEFloatConverter* converter, float * const * sour * @param frames The number of frames to convert. * @return YES on success; NO on failure */ -BOOL AEFloatConverterFromFloatBufferList(AEFloatConverter* converter, AudioBufferList *sourceBuffer, AudioBufferList *targetBuffer, UInt32 frames); +BOOL STKFloatConverterFromFloatBufferList(STKFloatConverter* converter, AudioBufferList *sourceBuffer, AudioBufferList *targetBuffer, UInt32 frames); /*! * The AudioStreamBasicDescription representing the converted floating-point format @@ -118,7 +118,7 @@ BOOL AEFloatConverterFromFloatBufferList(AEFloatConverter* converter, AudioBuffe @property (nonatomic, readonly) AudioStreamBasicDescription sourceFormat; @end - + #ifdef __cplusplus } #endif \ No newline at end of file diff --git a/StreamingKit/StreamingKit/AEFloatConverter.m b/StreamingKit/StreamingKit/STKFloatConverter.m old mode 100644 new mode 100755 similarity index 92% rename from StreamingKit/StreamingKit/AEFloatConverter.m rename to StreamingKit/StreamingKit/STKFloatConverter.m index e1634c8..abea336 --- a/StreamingKit/StreamingKit/AEFloatConverter.m +++ b/StreamingKit/StreamingKit/STKFloatConverter.m @@ -23,7 +23,7 @@ // 3. This notice may not be removed or altered from any source distribution. // -#import "AEFloatConverter.h" +#import "STKFloatConverter.h" #define checkResult(result,operation) (_checkResult((result),(operation),strrchr(__FILE__, '/')+1,__LINE__)) static inline BOOL _checkResult(OSStatus result, const char *operation, const char* file, int line) { @@ -40,7 +40,7 @@ struct complexInputDataProc_t { AudioBufferList *sourceBuffer; }; -@interface AEFloatConverter () { +@interface STKFloatConverter () { AudioStreamBasicDescription _sourceAudioDescription; AudioStreamBasicDescription _floatAudioDescription; AudioConverterRef _toFloatConverter; @@ -55,12 +55,12 @@ static OSStatus complexInputDataProc(AudioConverterRef inAudioConver void *inUserData); @end -@implementation AEFloatConverter +@implementation STKFloatConverter @synthesize sourceFormat = _sourceAudioDescription; -(id)initWithSourceFormat:(AudioStreamBasicDescription)sourceFormat { if ( !(self = [super init]) ) return nil; - + _floatAudioDescription.mFormatID = kAudioFormatLinearPCM; _floatAudioDescription.mFormatFlags = kAudioFormatFlagIsFloat | kAudioFormatFlagIsPacked | kAudioFormatFlagIsNonInterleaved; _floatAudioDescription.mChannelsPerFrame = sourceFormat.mChannelsPerFrame; @@ -89,11 +89,11 @@ static OSStatus complexInputDataProc(AudioConverterRef inAudioConver if ( _toFloatConverter ) AudioConverterDispose(_toFloatConverter); if ( _fromFloatConverter ) AudioConverterDispose(_fromFloatConverter); if ( _scratchFloatBufferList ) free(_scratchFloatBufferList); - // [super dealloc]; +// [super dealloc]; } -BOOL AEFloatConverterToFloat(AEFloatConverter* THIS, AudioBufferList *sourceBuffer, float * const * targetBuffers, UInt32 frames) { +BOOL AEFloatConverterToFloat(STKFloatConverter* THIS, AudioBufferList *sourceBuffer, float * const * targetBuffers, UInt32 frames) { if ( frames == 0 ) return YES; if ( THIS->_toFloatConverter ) { @@ -106,7 +106,7 @@ BOOL AEFloatConverterToFloat(AEFloatConverter* THIS, AudioBufferList *sourceBuff THIS->_scratchFloatBufferList->mBuffers[i].mData = targetBuffers[i]; THIS->_scratchFloatBufferList->mBuffers[i].mDataByteSize = frames * sizeof(float); } - + OSStatus result = AudioConverterFillComplexBuffer(THIS->_toFloatConverter, complexInputDataProc, &(struct complexInputDataProc_t) { .sourceBuffer = sourceBuffer }, @@ -131,7 +131,7 @@ BOOL AEFloatConverterToFloat(AEFloatConverter* THIS, AudioBufferList *sourceBuff return YES; } -BOOL AEFloatConverterToFloatBufferList(AEFloatConverter* converter, AudioBufferList *sourceBuffer, AudioBufferList *targetBuffer, UInt32 frames) { +BOOL AEFloatConverterToFloatBufferList(STKFloatConverter* converter, AudioBufferList *sourceBuffer, AudioBufferList *targetBuffer, UInt32 frames) { assert(targetBuffer->mNumberBuffers == converter->_floatAudioDescription.mChannelsPerFrame); float *targetBuffers[targetBuffer->mNumberBuffers]; @@ -141,7 +141,7 @@ BOOL AEFloatConverterToFloatBufferList(AEFloatConverter* converter, AudioBufferL return AEFloatConverterToFloat(converter, sourceBuffer, targetBuffers, frames); } -BOOL AEFloatConverterFromFloat(AEFloatConverter* THIS, float * const * sourceBuffers, AudioBufferList *targetBuffer, UInt32 frames) { +BOOL AEFloatConverterFromFloat(STKFloatConverter* THIS, float * const * sourceBuffers, AudioBufferList *targetBuffer, UInt32 frames) { if ( frames == 0 ) return YES; if ( THIS->_fromFloatConverter ) { @@ -178,7 +178,7 @@ BOOL AEFloatConverterFromFloat(AEFloatConverter* THIS, float * const * sourceBuf return YES; } -BOOL AEFloatConverterFromFloatBufferList(AEFloatConverter* converter, AudioBufferList *sourceBuffer, AudioBufferList *targetBuffer, UInt32 frames) { +BOOL AEFloatConverterFromFloatBufferList(STKFloatConverter* converter, AudioBufferList *sourceBuffer, AudioBufferList *targetBuffer, UInt32 frames) { assert(sourceBuffer->mNumberBuffers == converter->_floatAudioDescription.mChannelsPerFrame); float *sourceBuffers[sourceBuffer->mNumberBuffers];