2022-02-06 08:08:34 -03:00
|
|
|
//
|
|
|
|
// AudioChunk.h
|
|
|
|
// CogAudio Framework
|
|
|
|
//
|
|
|
|
// Created by Christopher Snowhill on 2/5/22.
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef AudioChunk_h
|
|
|
|
#define AudioChunk_h
|
|
|
|
|
|
|
|
#import <CoreAudio/CoreAudio.h>
|
2022-02-07 02:49:27 -03:00
|
|
|
#import <Foundation/Foundation.h>
|
2022-02-06 08:08:34 -03:00
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
|
|
|
@interface AudioChunk : NSObject {
|
2022-02-07 02:49:27 -03:00
|
|
|
AudioStreamBasicDescription format;
|
|
|
|
NSMutableData *chunkData;
|
|
|
|
BOOL formatAssigned;
|
|
|
|
BOOL lossless;
|
2022-02-06 08:08:34 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
@property AudioStreamBasicDescription format;
|
|
|
|
@property BOOL lossless;
|
|
|
|
|
2022-02-07 02:49:27 -03:00
|
|
|
- (id)init;
|
2022-02-06 08:08:34 -03:00
|
|
|
|
2022-02-07 02:49:27 -03:00
|
|
|
- (void)assignSamples:(const void *)data frameCount:(size_t)count;
|
2022-02-06 08:08:34 -03:00
|
|
|
|
2022-02-07 02:49:27 -03:00
|
|
|
- (NSData *)removeSamples:(size_t)frameCount;
|
2022-02-06 08:08:34 -03:00
|
|
|
|
2022-02-07 02:49:27 -03:00
|
|
|
- (BOOL)isEmpty;
|
2022-02-06 08:08:34 -03:00
|
|
|
|
2022-02-07 02:49:27 -03:00
|
|
|
- (size_t)frameCount;
|
2022-02-06 08:08:34 -03:00
|
|
|
|
2022-02-07 02:49:27 -03:00
|
|
|
- (double)duration;
|
2022-02-06 08:08:34 -03:00
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|
|
|
|
|
|
|
|
#endif /* AudioChunk_h */
|