I understand making rVFC callback best effort is to not affect video performance and user experience. But this design decision makes the problem become super complicated if we want to rely on rVFC to get accurate PTS timestamp: we have to implement a time calibration onSeeked or onPaused, in order to get the PTS of frame currently displayed when video is paused.
I beg the chrome developer to add a flag in rVFC to enforce if we always get the callback, regardless of whether main thread is busy or whatever reason, just like we'll always get an onSeeked event when it's seeked. It's better to let developer to decide if we should compromise callback reliability to video performance. E.g. we can give in the callback guarantee during video is playing, but we want to enforce the callback is fired when video is paused or when we seek to a timestamp, so the PTS time we have is not stale. In this way we can build a frame aware video player easily.
I understand making rVFC callback
best effortis to not affect video performance and user experience. But this design decision makes the problem become super complicated if we want to rely on rVFC to get accurate PTS timestamp: we have to implement a time calibration onSeeked or onPaused, in order to get the PTS of frame currently displayed when video is paused.I beg the chrome developer to add a flag in rVFC to enforce if we always get the callback, regardless of whether main thread is busy or whatever reason, just like we'll always get an onSeeked event when it's seeked. It's better to let developer to decide if we should compromise callback reliability to video performance. E.g. we can give in the callback guarantee during video is playing, but we want to enforce the callback is fired when video is paused or when we seek to a timestamp, so the PTS time we have is not stale. In this way we can build a frame aware video player easily.