mirror of
				https://github.com/recloudstream/cloudstream.git
				synced 2024-08-15 01:53:11 +00:00 
			
		
		
		
	might have fixed #1031
This commit is contained in:
		
							parent
							
								
									c573deb09c
								
							
						
					
					
						commit
						ad64cb3f86
					
				
					 2 changed files with 26 additions and 22 deletions
				
			
		| 
						 | 
				
			
			@ -18,6 +18,7 @@ import com.google.android.exoplayer2.trackselection.TrackSelector
 | 
			
		|||
import com.google.android.exoplayer2.ui.SubtitleView
 | 
			
		||||
import com.google.android.exoplayer2.upstream.DataSource
 | 
			
		||||
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory
 | 
			
		||||
import com.google.android.exoplayer2.upstream.DefaultHttpDataSource
 | 
			
		||||
import com.google.android.exoplayer2.upstream.cache.CacheDataSource
 | 
			
		||||
import com.google.android.exoplayer2.upstream.cache.LeastRecentlyUsedCacheEvictor
 | 
			
		||||
import com.google.android.exoplayer2.upstream.cache.SimpleCache
 | 
			
		||||
| 
						 | 
				
			
			@ -313,26 +314,26 @@ class CS3IPlayer : IPlayer {
 | 
			
		|||
            val provider = getApiFromName(link.source)
 | 
			
		||||
            val interceptor = provider.getVideoInterceptor(link)
 | 
			
		||||
 | 
			
		||||
            val client = app.baseClient
 | 
			
		||||
                .let {
 | 
			
		||||
                    if (interceptor != null)
 | 
			
		||||
                        it.newBuilder()
 | 
			
		||||
                            .addInterceptor(interceptor)
 | 
			
		||||
                            .build()
 | 
			
		||||
                    else it
 | 
			
		||||
                }
 | 
			
		||||
            val source = if (interceptor == null) {
 | 
			
		||||
                DefaultHttpDataSource.Factory().setUserAgent(USER_AGENT)
 | 
			
		||||
            } else {
 | 
			
		||||
                val client = app.baseClient.newBuilder()
 | 
			
		||||
                    .addInterceptor(interceptor)
 | 
			
		||||
                    .build()
 | 
			
		||||
                OkHttpDataSource.Factory(client).setUserAgent(USER_AGENT)
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            return OkHttpDataSource.Factory(client).apply {
 | 
			
		||||
                setUserAgent(USER_AGENT)
 | 
			
		||||
                val headers = mapOf(
 | 
			
		||||
                    "referer" to link.referer,
 | 
			
		||||
                    "accept" to "*/*",
 | 
			
		||||
                    "sec-ch-ua" to "\"Chromium\";v=\"91\", \" Not;A Brand\";v=\"99\"",
 | 
			
		||||
                    "sec-ch-ua-mobile" to "?0",
 | 
			
		||||
                    "sec-fetch-user" to "?1",
 | 
			
		||||
                    "sec-fetch-mode" to "navigate",
 | 
			
		||||
                    "sec-fetch-dest" to "video"
 | 
			
		||||
                ) + link.headers // Adds the headers from the provider, e.g Authorization
 | 
			
		||||
            val headers = mapOf(
 | 
			
		||||
                "referer" to link.referer,
 | 
			
		||||
                "accept" to "*/*",
 | 
			
		||||
                "sec-ch-ua" to "\"Chromium\";v=\"91\", \" Not;A Brand\";v=\"99\"",
 | 
			
		||||
                "sec-ch-ua-mobile" to "?0",
 | 
			
		||||
                "sec-fetch-user" to "?1",
 | 
			
		||||
                "sec-fetch-mode" to "navigate",
 | 
			
		||||
                "sec-fetch-dest" to "video"
 | 
			
		||||
            ) + link.headers // Adds the headers from the provider, e.g Authorization
 | 
			
		||||
 | 
			
		||||
            return source.apply {
 | 
			
		||||
                setDefaultRequestProperties(headers)
 | 
			
		||||
 | 
			
		||||
                //https://stackoverflow.com/questions/69040127/error-code-io-bad-http-status-exoplayer-android
 | 
			
		||||
| 
						 | 
				
			
			@ -468,7 +469,7 @@ class CS3IPlayer : IPlayer {
 | 
			
		|||
                    .setLoadControl(
 | 
			
		||||
                        DefaultLoadControl.Builder()
 | 
			
		||||
                            .setTargetBufferBytes(
 | 
			
		||||
                                if(cacheSize <= 0) {
 | 
			
		||||
                                if (cacheSize <= 0) {
 | 
			
		||||
                                    DefaultLoadControl.DEFAULT_TARGET_BUFFER_BYTES
 | 
			
		||||
                                } else {
 | 
			
		||||
                                    if (cacheSize > Int.MAX_VALUE) Int.MAX_VALUE else cacheSize.toInt()
 | 
			
		||||
| 
						 | 
				
			
			@ -476,7 +477,7 @@ class CS3IPlayer : IPlayer {
 | 
			
		|||
                            )
 | 
			
		||||
                            .setBufferDurationsMs(
 | 
			
		||||
                                DefaultLoadControl.DEFAULT_MIN_BUFFER_MS,
 | 
			
		||||
                                if(videoBufferMs <= 0) {
 | 
			
		||||
                                if (videoBufferMs <= 0) {
 | 
			
		||||
                                    DefaultLoadControl.DEFAULT_MAX_BUFFER_MS
 | 
			
		||||
                                } else {
 | 
			
		||||
                                    videoBufferMs.toInt()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -12,6 +12,7 @@ import com.bumptech.glide.load.model.GlideUrl
 | 
			
		|||
import com.bumptech.glide.module.AppGlideModule
 | 
			
		||||
import com.bumptech.glide.request.RequestOptions
 | 
			
		||||
import com.bumptech.glide.signature.ObjectKey
 | 
			
		||||
import com.lagradost.cloudstream3.USER_AGENT
 | 
			
		||||
import com.lagradost.cloudstream3.network.DdosGuardKiller
 | 
			
		||||
import com.lagradost.cloudstream3.network.initClient
 | 
			
		||||
import com.lagradost.nicehttp.Requests
 | 
			
		||||
| 
						 | 
				
			
			@ -33,7 +34,9 @@ class GlideModule : AppGlideModule() {
 | 
			
		|||
    // https://stackoverflow.com/a/61634041
 | 
			
		||||
    override fun registerComponents(context: Context, glide: Glide, registry: Registry) {
 | 
			
		||||
        val client =
 | 
			
		||||
            Requests().initClient(context)
 | 
			
		||||
            Requests().apply {
 | 
			
		||||
                defaultHeaders = mapOf("user-agent" to USER_AGENT)
 | 
			
		||||
            }.initClient(context)
 | 
			
		||||
                .newBuilder()
 | 
			
		||||
                .addInterceptor(DdosGuardKiller(false))
 | 
			
		||||
                .build()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue