Is there any way to know when there is a new CVPixelBuffer for video while playing?

Hello,

I have tried AVPlayerItemOutputPullDelegate but it's only triggered on attempts to seek or change the playback direction, not while normally playing.

And there seems to be no publisher() key available that does this.

At a last resort I ended up with:

let timer = Timer.scheduledTimer(withTimeInterval: 0.03, repeats: true) { timer in
    // ...
}

which seems to be not accurate either and it fires less than that rate.

Is there any way to know when there is a new CVPixelBuffer for video while playing?
 
 
Q