Skip to content

Commit 854ec94

Browse files
committed
Resample recording with sample rate 24kHZ (airpods)
1 parent 13d62c1 commit 854ec94

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

Telegram-Mac/AudioRecorder.swift

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -384,6 +384,21 @@ final class ManagedAudioRecorderContext : RecoderContextRenderer {
384384
buffer.mDataByteSize*=3
385385
}
386386

387+
if(sampleRate==24000){
388+
let initialBuffer=malloc(Int(buffer.mDataByteSize+1));
389+
memcpy(initialBuffer, buffer.mData, Int(buffer.mDataByteSize));
390+
buffer.mData=realloc(buffer.mData, Int(buffer.mDataByteSize*2))
391+
let values = initialBuffer!.assumingMemoryBound(to: Int16.self)
392+
let resampled = buffer.mData!.assumingMemoryBound(to: Int16.self)
393+
values[Int(buffer.mDataByteSize/2)]=values[Int(buffer.mDataByteSize/2)-1]
394+
for i: Int in 0 ..< Int(buffer.mDataByteSize/2) {
395+
resampled[i*2]=values[i]
396+
resampled[i*2+1]=values[i]/2+values[i+1]/2
397+
}
398+
free(initialBuffer)
399+
buffer.mDataByteSize*=2
400+
}
401+
387402
defer {
388403
free(buffer.mData)
389404
}

0 commit comments

Comments
 (0)