If you have a long MP4 video file that is optimized for network use with fast start (using .shouldOptimizeForNetworkUse
to move the moov atom to the front), and you play it with AVPlayer
, the video can start playing without downloading the entire video.
My question is, does AVPlayer
still go ahead and download the entire video as you are playing it? Or will it intelligently only download the section you are playing?
Suppose you have a 10 minute video and the user plays only the first 10 seconds and then pauses the video with AVPlayer.pause()
. Does AVPlayer
continue to download the entire 10 minute video as the player is paused? Or does it halt downloading more until the video play is resumed?
I tried monitoring AVPlayer.bufferProgress
to see what was happening and while it does look like the bufferProgress pauses when you pause the video, I am not sure if this is misleading information. Is there a way to actively see how much of the video has actually been downloaded in the background?