// // TPAACAudioConverter.h // // Created by Michael Tyson on 02/04/2011. // Copyright 2011 A Tasty Pixel. All rights reserved. // #import #import extern NSString * TPAACAudioConverterErrorDomain; enum { TPAACAudioConverterFileError, TPAACAudioConverterFormatError, TPAACAudioConverterUnrecoverableInterruptionError, TPAACAudioConverterInitialisationError }; @protocol TPAACAudioConverterDelegate; @protocol TPAACAudioConverterDataSource; @interface TPAACAudioConverter : NSObject + (BOOL)AACConverterAvailable; - (id)initWithDelegate:(id)delegate source:(NSString*)sourcePath destination:(NSString*)destinationPath; - (id)initWithDelegate:(id)delegate dataSource:(id)dataSource audioFormat:(AudioStreamBasicDescription)audioFormat destination:(NSString*)destinationPath; - (void)start; - (void)cancel; - (void)interrupt; - (void)resume; @property (nonatomic, readonly, strong) NSString *source; @property (nonatomic, readonly, strong) NSString *destination; @property (nonatomic, readonly) AudioStreamBasicDescription audioFormat; @end @protocol TPAACAudioConverterDelegate - (void)AACAudioConverterDidFinishConversion:(TPAACAudioConverter*)converter; - (void)AACAudioConverter:(TPAACAudioConverter*)converter didFailWithError:(NSError*)error; @optional - (void)AACAudioConverter:(TPAACAudioConverter*)converter didMakeProgress:(CGFloat)progress; @end @protocol TPAACAudioConverterDataSource - (void)AACAudioConverter:(TPAACAudioConverter*)converter nextBytes:(char*)bytes length:(NSUInteger*)length; @optional - (void)AACAudioConverter:(TPAACAudioConverter *)converter seekToPosition:(NSUInteger)position; @end