We have a complex application that can have multiple players open simultaneously. We are attempting to reduce network load by pausing any players not visible to the user. We are using player.pause() and successfully pausing players; however, when we watch the network panel in devtools, we continue to see the player making requests for data.
What is the correct way to stop a player from making requests after it is initialized? We are hoping we don’t have to completely destroy the player.
Which Bitmovin player SDK platform(s) is the question for?
We use the web version. Currently using version 8.50.0
Is the observed behaviour specific to VOD or Live content or both?
It happens when loading HLS streams.
What are multiple players used for? What is the use case behind this usage?
Our SaaS platform allows large telecom companies to monitor and update dozens of channels. An operator might have several streams in different sections open to monitor them or add metadata such as scores in live sporting events.
For HLS/DASH Live streams, the player needs to periodically update the Live playlists to get latest updates. This is done even when player is paused. So download of variant playlist files(.m3u8) for HLS Live case is expected behaviour in case of pause state. Without downloading updated playlist files, player will not have information of latest audio/video media segments at the time of resume.
But player does not download the audio/video segments during pause state. Hope this information helps.
Additionally, Bitmovin Web player SDK does provide a configuration to TweaksConfig.stop_download_on_pause to prevent this. This can be set as following in Player config. But try it out and let us know if this works for your use case.
Without knowing your setup in full detail, if you are initializing a lot of players and loading a HLS VOD stream with each, setting the preload config to false might also help: