From 833e298d3d02046bc9216bc1c4a44e4d726c4769 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Sun, 10 Jul 2022 16:36:31 -0700 Subject: [PATCH] [Audio Converter] Minor change for format changes This should also seal up any potential hole for problems if there's an audio format change and no audio buffered. Signed-off-by: Christopher Snowhill --- Audio/Chain/ConverterNode.m | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/Audio/Chain/ConverterNode.m b/Audio/Chain/ConverterNode.m index 2109334da..c6fce7753 100644 --- a/Audio/Chain/ConverterNode.m +++ b/Audio/Chain/ConverterNode.m @@ -710,18 +710,22 @@ tryagain: ioNumberPackets -= ioNumberPackets % dmFloatFormat.mBytesPerPacket; - AudioChunk *chunk = [[AudioChunk alloc] init]; - [chunk setFormat:nodeFormat]; - if(nodeChannelConfig) { - [chunk setChannelConfig:nodeChannelConfig]; - } - [chunk assignSamples:floatBuffer frameCount:ioNumberPackets / dmFloatFormat.mBytesPerPacket]; + if(ioNumberPackets) { + AudioChunk *chunk = [[AudioChunk alloc] init]; + [chunk setFormat:nodeFormat]; + if(nodeChannelConfig) { + [chunk setChannelConfig:nodeChannelConfig]; + } + [chunk assignSamples:floatBuffer frameCount:ioNumberPackets / dmFloatFormat.mBytesPerPacket]; - floatOffset += ioNumberPackets; - amountRead += ioNumberPackets; + floatOffset += ioNumberPackets; + amountRead += ioNumberPackets; + convertEntered = NO; + return chunk; + } convertEntered = NO; - return chunk; + return nil; } - (void)observeValueForKeyPath:(NSString *)keyPath