From cb8f5d0e4e9688df13ea891b6b7c7eff55e047ef Mon Sep 17 00:00:00 2001 From: Renato Date: Thu, 29 Jan 2026 01:10:18 +0000 Subject: [PATCH] Fix video playback issues: support multiple stream formats and remove resolution limit --- .../main/java/com/iptv/app/ui/components/VideoPlayer.kt | 7 +++---- app/src/main/java/com/iptv/app/utils/PlayerManager.kt | 1 - 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/iptv/app/ui/components/VideoPlayer.kt b/app/src/main/java/com/iptv/app/ui/components/VideoPlayer.kt index 1e8e1af..a5c3b95 100644 --- a/app/src/main/java/com/iptv/app/ui/components/VideoPlayer.kt +++ b/app/src/main/java/com/iptv/app/ui/components/VideoPlayer.kt @@ -329,7 +329,6 @@ private fun createPlayerListener( private fun preparePlayer(context: Context, player: ExoPlayer, streamUrl: String) { val mediaItem = MediaItem.Builder() .setUri(streamUrl) - .setMimeType("application/vnd.apple.mpegurl") .build() // Create OkHttpClient with Google DNS configuration @@ -338,10 +337,10 @@ private fun preparePlayer(context: Context, player: ExoPlayer, streamUrl: String // Create OkHttpDataSource.Factory with custom DNS client val dataSourceFactory = OkHttpDataSource.Factory(okHttpClient) - val mediaSource = HlsMediaSource.Factory(dataSourceFactory) - .createMediaSource(mediaItem) + val mediaSourceFactory = DefaultMediaSourceFactory(context) + .setDataSourceFactory(dataSourceFactory) - player.setMediaSource(mediaSource) + player.setMediaSource(mediaSourceFactory.createMediaSource(mediaItem)) player.prepare() player.playWhenReady = true } diff --git a/app/src/main/java/com/iptv/app/utils/PlayerManager.kt b/app/src/main/java/com/iptv/app/utils/PlayerManager.kt index b8f2bc4..1ad797d 100644 --- a/app/src/main/java/com/iptv/app/utils/PlayerManager.kt +++ b/app/src/main/java/com/iptv/app/utils/PlayerManager.kt @@ -87,7 +87,6 @@ class PlayerManager(private val context: Context) { trackSelector = DefaultTrackSelector(context).apply { val params = this.parameters.buildUpon() .setPreferredAudioLanguage("en") - .setMaxVideoSizeSd() .build() this.parameters = params }