0

From the document and source code in cobalt, it seemed there is no AV sync fluent in cobalt, application just calls the SbPlayerGetCurrentFrame to update the video frame with renderer‘s frequency(the application render loop’s frame rate), but does nothing to keep the AV sync, so how does cobalt keep the AV sync with YouTube 360 Video(Spherical Video)?

bitchainer
  • 535
  • 2
  • 19

1 Answers1

0

The A/V sync should happen in SbPlayerGetCurrentFrame. The frame returned should be the frame corresponding to the play head of the audio stream. Cobalt is expected to render that frame within 16-33 ms. As long as that frame rate is maintained, the video will be synced up with the audio.

David Ghandehari
  • 534
  • 3
  • 12
  • hi, david, thank you for your infomation, as you said, cobalt is expected to render that frame within 16-33 ms, so is there any requirement with the GPU ability? If the GPU ability is low, maybe it can not reach 16-33ms. – bitchainer May 19 '17 at 01:49
  • We don't have a specific requirement, but anything that drops the graphics frame rate below 30Hz would affect video frame rate. This could be CPU or GPU factors. The sync shouldn't be so much of a problem -- the delay should be at most one frame render time. But you will get dropped video frames, for sure. – David Ghandehari May 19 '17 at 15:31