From 3eec6d7700bc5d1f7f23ef6cfb1aabd9cd01a217 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Thu, 13 Feb 2025 01:01:52 -0800 Subject: [PATCH] Audio Chunk: Add interface to copy chunk This is needed if audio is to be removed from the chunk without altering the original chunk. Signed-off-by: Christopher Snowhill --- Audio/Chain/AudioChunk.h | 2 ++ Audio/Chain/AudioChunk.m | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/Audio/Chain/AudioChunk.h b/Audio/Chain/AudioChunk.h index 0ad68ac23..d1a35c41b 100644 --- a/Audio/Chain/AudioChunk.h +++ b/Audio/Chain/AudioChunk.h @@ -103,6 +103,8 @@ enum { - (BOOL)isHDCD; - (void)setHDCD; +- (AudioChunk *)copy; + @end NS_ASSUME_NONNULL_END diff --git a/Audio/Chain/AudioChunk.m b/Audio/Chain/AudioChunk.m index 0c8702201..cd49722a3 100644 --- a/Audio/Chain/AudioChunk.m +++ b/Audio/Chain/AudioChunk.m @@ -41,6 +41,17 @@ return self; } +- (AudioChunk *)copy { + AudioChunk *outputChunk = [[AudioChunk alloc] init]; + [outputChunk setFormat:format]; + [outputChunk setChannelConfig:channelConfig]; + if(hdcd) [outputChunk setHDCD]; + [outputChunk setStreamTimestamp:streamTimestamp]; + [outputChunk setStreamTimeRatio:streamTimeRatio]; + [outputChunk assignData:chunkData]; + return outputChunk; +} + static const uint32_t AudioChannelConfigTable[] = { 0, AudioConfigMono,