fail to get HLS realtime stream via AVPlayerItemSampleBufferOutputDelegate

Hi, I'm trying to do some realtime audio processing on audio served from an HLS stream (i.e. an AVPlayer created using an M3U HTTP URL). And I find that new APIs(AVPlayerItemSampleBufferOutput) are available in iOS 27.0 to achieve it.

However, I failed to get the available data via the AVPlayerItemSampleBufferOutputDelegate. And I found some error in the system log:

I create AVPlayerItemSampleBufferOutput and set the delegate after receiving the AVPlayerItemStatusReadyToPlay event. And here's my code:

@interface OCAudioSamplebuffer () <AVPlayerItemSampleBufferOutputDelegate>
 
@property (nonatomic, strong) AVPlayerItemSampleBufferOutput *bufferOutput;
@property (nonatomic, strong) dispatch_queue_t bufferOutputQueue;
@property (nonatomic, strong) AVPlayerItem *playerItem;
 
@end

- (void)playItem:(AVPlayerItem *)item {
    if (@available(iOS 27, *)) {
        AVAudioSession *audioSession = [AVAudioSession sharedInstance];
        if([NSThread mainThread]){
            [audioSession setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryPlayback error:nil];
            [audioSession setActive:YES error:nil];
        }else{
            dispatch_async(dispatch_get_main_queue(), ^{
                [audioSession setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryPlayback error:nil];
                [audioSession setActive:YES error:nil];
            });
        }
        AVPlayerItemSampleBufferOutputAudioConfiguration *cfg = [[AVPlayerItemSampleBufferOutputAudioConfiguration alloc] init];
        CMFormatDescriptionRef formatDescription = [self createPCMFormatDescriptionWithSampleRate:44100.0 channels:2 isFloat:YES];
        cfg.requestedAudioFormat = formatDescription;
        if (formatDescription) {
            NSLog(@"create PCM Format Description success");
            CFRelease(formatDescription); 
        } else {
            NSLog(@"fail to create PCM Format Description");
        }
        self.bufferOutput = [[AVPlayerItemSampleBufferOutput alloc] initWithConfiguration:cfg];
        NSLog(@"create buffer success, PCM Format Description%@---,%@", cfg.requestedAudioFormat, formatDescription);
        self.bufferOutputQueue = dispatch_queue_create("audioSamplebufferQueue", DISPATCH_QUEUE_CONCURRENT);
        [self.bufferOutput setDelegate:self queue:self.bufferOutputQueue];
        [item addOutput:self.bufferOutput];
        self.playerItem = item;
    } else {
        // Fallback on earlier versions
    }
    
}

Any help.

Thank you

Thank you for reporting the issue. While we are investigating it, could you please provide additional information that can help us identify the issue more effectively? For example: sysdiagnose and/or sample app would be great.

Thanks.

fail to get HLS realtime stream via AVPlayerItemSampleBufferOutputDelegate
 
 
Q