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,