minor tidyup
This commit is contained in:
@@ -96,12 +96,10 @@ public class AudioBuffer {
|
||||
|
||||
availableBytes -= bytesPerChunk
|
||||
|
||||
let packet = AudioPacket(
|
||||
return AudioPacket(
|
||||
timestamp: Date(),
|
||||
duration: chunkDuration,
|
||||
rawAudioData: chunkData
|
||||
data: chunkData
|
||||
)
|
||||
|
||||
return packet
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ public class AudioFormatConverter {
|
||||
}
|
||||
|
||||
public func transform(_ packet: AudioPacket) -> AudioPacket {
|
||||
let inputData = packet.rawAudioData
|
||||
let inputData = packet.data
|
||||
|
||||
// Calculate frame counts
|
||||
let inputFrameCount =
|
||||
@@ -119,16 +119,10 @@ public class AudioFormatConverter {
|
||||
return AudioPacket(
|
||||
timestamp: packet.timestamp,
|
||||
duration: packet.duration,
|
||||
rawAudioData: outputData
|
||||
data: outputData
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Convenience Constructors
|
||||
|
||||
extension AudioFormatConverter {
|
||||
/// Create a converter to a specific sample rate with mono PCM 16-bit output
|
||||
/// Since the tap already converts to mono, we hardcode channels to 1
|
||||
public static func toSampleRate(
|
||||
_ sampleRate: Double, from sourceFormat: AudioStreamBasicDescription
|
||||
) throws -> AudioFormatConverter {
|
||||
@@ -145,17 +139,7 @@ extension AudioFormatConverter {
|
||||
return try AudioFormatConverter(sourceFormat: sourceFormat, targetFormat: targetFormat)
|
||||
}
|
||||
|
||||
/// Common sample rates for validation
|
||||
public static let supportedSampleRates: [Double] = [
|
||||
8000, 16000, 22050, 24000, 32000, 44100, 48000,
|
||||
]
|
||||
|
||||
/// Validate if a sample rate is supported
|
||||
public static func isValidSampleRate(_ sampleRate: Double) -> Bool {
|
||||
return supportedSampleRates.contains(sampleRate)
|
||||
return [8000, 16000, 22050, 24000, 32000, 44100, 48000].contains(sampleRate)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Error Types
|
||||
|
||||
// AudioConverterError moved to Sources/Core/Errors/AudioTeeErrors.swift
|
||||
|
||||
@@ -3,15 +3,15 @@ import Foundation
|
||||
public struct AudioPacket {
|
||||
public let timestamp: Date
|
||||
public let duration: Double
|
||||
public let rawAudioData: Data
|
||||
public let data: Data
|
||||
|
||||
public init(
|
||||
timestamp: Date,
|
||||
duration: Double,
|
||||
rawAudioData: Data
|
||||
data: Data
|
||||
) {
|
||||
self.timestamp = timestamp
|
||||
self.duration = duration
|
||||
self.rawAudioData = rawAudioData
|
||||
self.data = data
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ public class BinaryAudioOutputHandler: AudioOutputHandler {
|
||||
|
||||
public func handleAudioPacket(_ packet: AudioPacket) {
|
||||
// Write raw binary audio data directly to stdout
|
||||
FileHandle.standardOutput.write(packet.rawAudioData)
|
||||
FileHandle.standardOutput.write(packet.data)
|
||||
}
|
||||
|
||||
public func handleMetadata(_ metadata: AudioStreamMetadata) {
|
||||
|
||||
@@ -7,9 +7,6 @@ public enum MessageType: String, Codable {
|
||||
case streamStart = "stream_start"
|
||||
case streamStop = "stream_stop"
|
||||
|
||||
// Audio data
|
||||
case audio
|
||||
|
||||
// Logging
|
||||
case info
|
||||
case error
|
||||
|
||||
Reference in New Issue
Block a user