bccm-player icon indicating copy to clipboard operation
bccm-player copied to clipboard

fix(android): enable offline video playback with local files

Open maurovitale opened this issue 8 months ago • 0 comments

About the changes

This PR fixes offline video playback support on Android by updating the upstream data source factory in ExoPlayerController. Problem: The player was previously using DefaultHttpDataSource.Factory(), which only supports HTTP/HTTPS URLs. This prevented playback of locally cached or downloaded videos using file:// URLs, breaking offline functionality. Solution: Replace DefaultHttpDataSource.Factory() with DefaultDataSource.Factory(context) which supports multiple protocols including: HTTP/HTTPS URLs (existing functionality) Local file:// URLs (new offline support) Content:// URLs Asset:// URLs This change enables the player to handle both online streaming and offline cached/downloaded content seamlessly.

Important files

android/src/main/kotlin/media/bcc/bccm_player/players/exoplayer/ExoPlayerController.kt - Updated upstream data source factory to support local files

Discussion points

This is a critical fix for applications that require offline video playback capabilities. The change is backward compatible and doesn't affect existing HTTP streaming functionality while adding support for local file playback. Testing: Verify that both HTTP streaming and local file:// playback work correctly after this change.

maurovitale avatar Jun 06 '25 13:06 maurovitale