Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
change how 'Download' button saves the current video to offline cache
background: =========== * when video caching is enabled as an API parameter, - for example: curl --silent -X POST \ -H "Content-Type: text/parameters" \ --data-binary "Content-Location: ${video_url}\nUse-Cache: true" \ "http://${airplay_ip}/play" - then: * downloading starts when playback starts * if the video is added to the end of a queue, this doesn't happen immediately - and, most importantly: * only the "default" tracks in an adaptive manifest will download previously: =========== * when video caching is not enabled as an API parameter, but enabled during playback, by clicking the 'Download' toggle button in the video player UI - then: * only the "default" tracks in an adaptive manifest will download now: ==== * when the user enables video caching for the current video, by clicking the 'Download' toggle button in the video player UI - then: * only the tracks that are currently enabled will download - where: * the 'Select Tracks' button in the video player UI allows the user to selectively enable or disable individual tracks * any such track selections made before enabling video caching will be applied to the download process, but only for the current video - with the caveat: * additional tracks cannot be added after a download is started * the only way to do so is to: - stop the download, which deletes all previously selected tracks from cache - start again, with a different selection of tracks enabled example: ======== * test setup: - adaptive master manifest with streams for resolutions: 2592x1944, 2048x1536, 1920x1080, 1280x960, 1280x720, 704x576, 640x480 - ExoAirPlayer v3.4.4 - TCL A501DL w/ 854x480 screen * test results: - downloading only the "default" tracks * requests ts video segments for: 640x480 - downloading with enabled tracks: 1280x720 * requests ts video segments for: 1280x720 - downloading with enabled tracks: 1920x1080, 1280x960, 1280x720 * requests ts video segments for: 1920x1080, 1280x960, 1280x720