forked from recloudstream/cloudstream
		
	commit to help bloj
This commit is contained in:
		
							parent
							
								
									296f58a0b2
								
							
						
					
					
						commit
						9db6206e68
					
				
					 1 changed files with 92 additions and 0 deletions
				
			
		|  | @ -0,0 +1,92 @@ | ||||||
|  | package com.lagradost.cloudstream3.ui.player | ||||||
|  | 
 | ||||||
|  | import com.google.android.exoplayer2.Format | ||||||
|  | import com.google.android.exoplayer2.text.* | ||||||
|  | import com.google.android.exoplayer2.util.MimeTypes | ||||||
|  | import com.google.android.exoplayer2.text.webvtt.WebvttDecoder | ||||||
|  | import com.google.android.exoplayer2.text.ssa.SsaDecoder | ||||||
|  | import com.google.android.exoplayer2.text.webvtt.Mp4WebvttDecoder | ||||||
|  | import com.google.android.exoplayer2.text.ttml.TtmlDecoder | ||||||
|  | import com.google.android.exoplayer2.text.subrip.SubripDecoder | ||||||
|  | import com.google.android.exoplayer2.text.tx3g.Tx3gDecoder | ||||||
|  | import com.google.android.exoplayer2.text.cea.Cea608Decoder | ||||||
|  | import com.google.android.exoplayer2.text.cea.Cea708Decoder | ||||||
|  | import com.google.android.exoplayer2.text.dvb.DvbDecoder | ||||||
|  | import com.google.android.exoplayer2.text.pgs.PgsDecoder | ||||||
|  | import java.lang.IllegalArgumentException | ||||||
|  | 
 | ||||||
|  | //class CustomDecoder : SubtitleDecoder { | ||||||
|  | //    override fun getName(): String { | ||||||
|  | // | ||||||
|  | //    } | ||||||
|  | // | ||||||
|  | //    override fun dequeueInputBuffer(): SubtitleInputBuffer? { | ||||||
|  | // | ||||||
|  | //    } | ||||||
|  | // | ||||||
|  | //    override fun queueInputBuffer(inputBuffer: SubtitleInputBuffer) { | ||||||
|  | // | ||||||
|  | //    } | ||||||
|  | // | ||||||
|  | //    override fun dequeueOutputBuffer(): SubtitleOutputBuffer? { | ||||||
|  | // | ||||||
|  | //    } | ||||||
|  | // | ||||||
|  | //    override fun flush() { | ||||||
|  | // | ||||||
|  | //    } | ||||||
|  | // | ||||||
|  | //    override fun release() { | ||||||
|  | // | ||||||
|  | //    } | ||||||
|  | // | ||||||
|  | //    override fun setPositionUs(positionUs: Long) { | ||||||
|  | // | ||||||
|  | //    } | ||||||
|  | //} | ||||||
|  | 
 | ||||||
|  | /** See https://github.com/google/ExoPlayer/blob/release-v2/library/core/src/main/java/com/google/android/exoplayer2/text/SubtitleDecoderFactory.java */ | ||||||
|  | class CustomSubtitleDecoderFactory : SubtitleDecoderFactory { | ||||||
|  |     override fun supportsFormat(format: Format): Boolean { | ||||||
|  | //        return SubtitleDecoderFactory.DEFAULT.supportsFormat(format) | ||||||
|  |         return listOf( | ||||||
|  |             MimeTypes.TEXT_VTT, | ||||||
|  |             MimeTypes.TEXT_SSA, | ||||||
|  |             MimeTypes.APPLICATION_TTML, | ||||||
|  |             MimeTypes.APPLICATION_MP4VTT, | ||||||
|  |             MimeTypes.APPLICATION_SUBRIP, | ||||||
|  |             MimeTypes.APPLICATION_TX3G, | ||||||
|  |             MimeTypes.APPLICATION_CEA608, | ||||||
|  |             MimeTypes.APPLICATION_MP4CEA608, | ||||||
|  |             MimeTypes.APPLICATION_CEA708, | ||||||
|  |             MimeTypes.APPLICATION_DVBSUBS, | ||||||
|  |             MimeTypes.APPLICATION_PGS, | ||||||
|  |             MimeTypes.TEXT_EXOPLAYER_CUES | ||||||
|  |         ).contains(format.sampleMimeType) | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     override fun createDecoder(format: Format): SubtitleDecoder { | ||||||
|  |         return when (val mimeType = format.sampleMimeType) { | ||||||
|  |             MimeTypes.TEXT_VTT -> WebvttDecoder() | ||||||
|  |             MimeTypes.TEXT_SSA -> SsaDecoder(format.initializationData) | ||||||
|  |             MimeTypes.APPLICATION_MP4VTT -> Mp4WebvttDecoder() | ||||||
|  |             MimeTypes.APPLICATION_TTML -> TtmlDecoder() | ||||||
|  |             MimeTypes.APPLICATION_SUBRIP -> SubripDecoder() | ||||||
|  |             MimeTypes.APPLICATION_TX3G -> Tx3gDecoder(format.initializationData) | ||||||
|  |             MimeTypes.APPLICATION_CEA608, MimeTypes.APPLICATION_MP4CEA608 -> return Cea608Decoder( | ||||||
|  |                 mimeType, | ||||||
|  |                 format.accessibilityChannel, | ||||||
|  |                 Cea608Decoder.MIN_DATA_CHANNEL_TIMEOUT_MS | ||||||
|  |             ) | ||||||
|  |             MimeTypes.APPLICATION_CEA708 -> Cea708Decoder( | ||||||
|  |                 format.accessibilityChannel, | ||||||
|  |                 format.initializationData | ||||||
|  |             ) | ||||||
|  |             MimeTypes.APPLICATION_DVBSUBS -> DvbDecoder(format.initializationData) | ||||||
|  |             MimeTypes.APPLICATION_PGS -> PgsDecoder() | ||||||
|  |             MimeTypes.TEXT_EXOPLAYER_CUES -> ExoplayerCuesDecoder() | ||||||
|  |             // Default WebVttDecoder | ||||||
|  |             else -> WebvttDecoder() | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue