diff --git a/composeApp/src/androidFull/kotlin/com/nuvio/app/features/player/PlatformPlaybackDataSourceFactory.android.kt b/composeApp/src/androidFull/kotlin/com/nuvio/app/features/player/PlatformPlaybackDataSourceFactory.android.kt index 4dc10c27..513beda6 100644 --- a/composeApp/src/androidFull/kotlin/com/nuvio/app/features/player/PlatformPlaybackDataSourceFactory.android.kt +++ b/composeApp/src/androidFull/kotlin/com/nuvio/app/features/player/PlatformPlaybackDataSourceFactory.android.kt @@ -7,6 +7,14 @@ import androidx.media3.datasource.DefaultHttpDataSource import com.nuvio.app.features.trailer.YoutubeChunkedDataSourceFactory internal object PlatformPlaybackDataSourceFactory { + + private val DEFAULT_STREAM_HEADERS = mapOf( + "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + + "AppleWebKit/537.36 (KHTML, like Gecko) " + + "Chrome/120.0.0.0 Safari/537.36", + "Referer" to "https://www.strem.io/" + ) + fun create( context: Context, defaultRequestHeaders: Map, @@ -16,7 +24,9 @@ internal object PlatformPlaybackDataSourceFactory { val networkFactory: DataSource.Factory = if (useYoutubeChunkedPlayback) { YoutubeChunkedDataSourceFactory(defaultRequestHeaders = defaultRequestHeaders) } else { - DefaultHttpDataSource.Factory().setDefaultRequestProperties(defaultRequestHeaders) + DefaultHttpDataSource.Factory() + .setAllowCrossProtocolRedirects(true) + .setDefaultRequestProperties(DEFAULT_STREAM_HEADERS + defaultRequestHeaders) } val baseFactory: DataSource.Factory = DefaultDataSource.Factory(context, networkFactory) return if (defaultResponseHeaders.isEmpty()) { @@ -28,4 +38,4 @@ internal object PlatformPlaybackDataSourceFactory { ) } } -} \ No newline at end of file +} diff --git a/composeApp/src/androidPlaystore/kotlin/com/nuvio/app/features/player/PlatformPlaybackDataSourceFactory.android.kt b/composeApp/src/androidPlaystore/kotlin/com/nuvio/app/features/player/PlatformPlaybackDataSourceFactory.android.kt index d5d312db..29f34359 100644 --- a/composeApp/src/androidPlaystore/kotlin/com/nuvio/app/features/player/PlatformPlaybackDataSourceFactory.android.kt +++ b/composeApp/src/androidPlaystore/kotlin/com/nuvio/app/features/player/PlatformPlaybackDataSourceFactory.android.kt @@ -6,6 +6,14 @@ import androidx.media3.datasource.DefaultDataSource import androidx.media3.datasource.DefaultHttpDataSource internal object PlatformPlaybackDataSourceFactory { + + private val DEFAULT_STREAM_HEADERS = mapOf( + "User-Agent" to "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + + "AppleWebKit/537.36 (KHTML, like Gecko) " + + "Chrome/120.0.0.0 Safari/537.36", + "Referer" to "https://www.strem.io/" + ) + fun create( context: Context, defaultRequestHeaders: Map, @@ -13,7 +21,8 @@ internal object PlatformPlaybackDataSourceFactory { useYoutubeChunkedPlayback: Boolean, ): DataSource.Factory { val httpFactory = DefaultHttpDataSource.Factory() - .setDefaultRequestProperties(defaultRequestHeaders) + .setAllowCrossProtocolRedirects(true) + .setDefaultRequestProperties(DEFAULT_STREAM_HEADERS + defaultRequestHeaders) val baseFactory: DataSource.Factory = DefaultDataSource.Factory(context, httpFactory) return if (defaultResponseHeaders.isEmpty()) { baseFactory @@ -24,4 +33,4 @@ internal object PlatformPlaybackDataSourceFactory { ) } } -} \ No newline at end of file +}