forked from recloudstream/cloudstream
		
	Merge remote-tracking branch 'origin/master'
This commit is contained in:
		
						commit
						f5482a8fb2
					
				
					 3 changed files with 25 additions and 8 deletions
				
			
		|  | @ -73,7 +73,7 @@ class CustomDecoder : SubtitleDecoder { | |||
|     private var realDecoder: SubtitleDecoder? = null | ||||
| 
 | ||||
|     override fun getName(): String { | ||||
|         return realDecoder?.name ?: this::class.java.name | ||||
|         return realDecoder?.name ?: this::javaClass.name | ||||
|     } | ||||
| 
 | ||||
|     override fun dequeueInputBuffer(): SubtitleInputBuffer { | ||||
|  | @ -127,6 +127,11 @@ class CustomDecoder : SubtitleDecoder { | |||
|         } | ||||
|     } | ||||
| 
 | ||||
|     private fun SubtitleInputBuffer.setSubtitleText(text: String) { | ||||
| //        println("Set subtitle text -----\n$text\n-----") | ||||
|         this.data = ByteBuffer.wrap(text.toByteArray(charset(UTF_8))) | ||||
|     } | ||||
| 
 | ||||
|     override fun queueInputBuffer(inputBuffer: SubtitleInputBuffer) { | ||||
|         Log.i(TAG, "queueInputBuffer") | ||||
|         try { | ||||
|  | @ -152,7 +157,7 @@ class CustomDecoder : SubtitleDecoder { | |||
|                 ) | ||||
|                 realDecoder?.let { decoder -> | ||||
|                     decoder.dequeueInputBuffer()?.let { buff -> | ||||
|                         if (decoder::class.java != SsaDecoder::class.java) { | ||||
|                         if (decoder !is SsaDecoder) { | ||||
|                             if (regexSubtitlesToRemoveCaptions) | ||||
|                                 captionRegex.forEach { rgx -> | ||||
|                                     str = str.replace(rgx, "\n") | ||||
|  | @ -162,8 +167,7 @@ class CustomDecoder : SubtitleDecoder { | |||
|                                     str = str.replace(rgx, "\n") | ||||
|                                 } | ||||
|                         } | ||||
|                         buff.data = ByteBuffer.wrap(str.toByteArray(charset(UTF_8))) | ||||
| 
 | ||||
|                         buff.setSubtitleText(str) | ||||
|                         decoder.queueInputBuffer(buff) | ||||
|                         Log.i( | ||||
|                             TAG, | ||||
|  | @ -180,7 +184,7 @@ class CustomDecoder : SubtitleDecoder { | |||
| 
 | ||||
|                 if (!inputString.isNullOrBlank()) { | ||||
|                     var str: String = inputString | ||||
|                     if (realDecoder!!::class.java != SsaDecoder::class.java) { | ||||
|                     if (realDecoder !is SsaDecoder) { | ||||
|                         if (regexSubtitlesToRemoveCaptions) | ||||
|                             captionRegex.forEach { rgx -> | ||||
|                                 str = str.replace(rgx, "\n") | ||||
|  | @ -190,7 +194,7 @@ class CustomDecoder : SubtitleDecoder { | |||
|                                 str = str.replace(rgx, "\n") | ||||
|                             } | ||||
|                     } | ||||
|                     inputBuffer.data = ByteBuffer.wrap(str.toByteArray(charset(UTF_8))) | ||||
|                     inputBuffer.setSubtitleText(str) | ||||
|                 } | ||||
| 
 | ||||
|                 realDecoder?.queueInputBuffer(inputBuffer) | ||||
|  |  | |||
|  | @ -22,6 +22,8 @@ import androidx.annotation.IntDef | |||
| import com.google.android.exoplayer2.* | ||||
| import com.google.android.exoplayer2.source.SampleStream.ReadDataResult | ||||
| import com.google.android.exoplayer2.text.* | ||||
| import com.google.android.exoplayer2.text.Cue.DIMEN_UNSET | ||||
| import com.google.android.exoplayer2.text.Cue.LINE_TYPE_NUMBER | ||||
| import com.google.android.exoplayer2.util.Assertions | ||||
| import com.google.android.exoplayer2.util.Log | ||||
| import com.google.android.exoplayer2.util.MimeTypes | ||||
|  | @ -308,7 +310,18 @@ open class NonFinalTextRenderer @JvmOverloads constructor( | |||
|     } | ||||
| 
 | ||||
|     private fun invokeUpdateOutputInternal(cues: List<Cue>) { | ||||
|         output.onCues(cues.map { cue -> cue.buildUpon().setSize(Cue.DIMEN_UNSET).build() }) // this fixes https://github.com/LagradOst/CloudStream-3/issues/717 | ||||
|         output.onCues(cues.map { cue -> | ||||
|             val builder = cue.buildUpon() | ||||
| 
 | ||||
|             // See https://github.com/google/ExoPlayer/issues/7934 | ||||
|             // SubripDecoder texts tend to be DIMEN_UNSET which pushes up the | ||||
|             // subs unlike WEBVTT which creates an inconsistency | ||||
|             if (cue.line == DIMEN_UNSET) | ||||
|                 builder.setLine(-1f, LINE_TYPE_NUMBER) | ||||
| 
 | ||||
|             // this fixes https://github.com/LagradOst/CloudStream-3/issues/717 | ||||
|             builder.setSize(DIMEN_UNSET).build() | ||||
|         }) | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|  |  | |||
|  | @ -16,7 +16,7 @@ | |||
|                 android:orientation="horizontal" | ||||
|                 android:gravity="center_vertical" | ||||
|                 android:layout_gravity="center_vertical" | ||||
|                 android:layout_width="wrap_content" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content"> | ||||
|             <ImageView | ||||
|                     android:nextFocusDown="@id/result_bookmark_button" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue