AVFoundation lacking access to accurate timing of input frames when using custom video compositor

Originator:raphael
Number:rdar://15376688 Date Originated:02-Nov-2013 09:39 AM
Status:Open Resolved:
Product:OS X SDK Product Version:iOS 7.0.3
Classification:Enhancement Reproducible:Always
 
Summary:
In the context of per-frame, time-accurate video processing application (think of stabilization processing which computes per-frame motion), custom video compositor don't currently allow accessing input frame timing information.

In-depth description:
When using the following method, - (void)startVideoCompositionRequest:(AVAsynchronousVideoCompositionRequest *)request, and retrieving the input frame with [request sourceFrameByTrackID:inputTrackID], there is currently no way of knowing the frame timing information in its original track. We can only estimate it from the composition time (request.compositionTime) using some heuristics that we try to guess. And if we guess wrong, or if Apple later changes the rounding methods, we're screwed.

Could you please consider exposing the input frame timing information? Thank you.

Comments

I found a solution

See http://stackoverflow.com/questions/37754673/how-do-you-access-the-frame-number-inside-avasynchronousciimagefilteringrequest/37957066#37957066 for details.

Any response or workaround?

Hi @raphael, did you ever get a response or find a solid workaround?

This issue is still present in )S X 100.11.5, AFAIK. Thanks, Matthew.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!