Hello guys,
I have observed the AVPlayer and its behavior several months.
In the recent investigation on playback seeking, I have found a very interesting thing.
In particular, I tried one of VOD contents which has the worst performance on playback seeking.
This VOD content defines its video segment's duration is ~4, and the video segment's duration is ~8.
Let say the entire video track has 1400 segments. When seeking to the middle, the video track begins at segment #700, but the audio track begins at segment #350 (Because audio segment duration is 2 times bigger than the video segment)
The weird thing happens here. After AVPlayer downloads a few segments behind #700 (for video) and #350 (for audio). The AVPlayer turns into download the whole audio sequence from #350 to #700 This will take a few mins, in the meantime the video is freezing. After finishing downloading the audio segment #700, the AVPlayer serves the playback again (but Audio still begins from #350, not #700)
Even which VOD content which just has a small gap between video and audio (1 or 2 segments), but this process looks like still happen but it is difficult to observe.
Not sure what it does, but it obviously harms seeking, causes rebuffering, video/audio out of sync and playback frozen.
This is a serious issue. I hope can hear back any explanation about this from Apple guys or anybody.
Thanks & best regards.