mirror of
https://github.com/libre-tube/LibreTube.git
synced 2025-04-28 07:50:31 +05:30
bug fixes
This commit is contained in:
parent
16d2e5144b
commit
30cec4ab7c
@ -416,7 +416,10 @@ class PlayerFragment : BaseFragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onCaptionClicked() {
|
override fun onCaptionClicked() {
|
||||||
if (streams.subtitles == null || streams.subtitles!!.isEmpty()) {
|
if (!this@PlayerFragment::streams.isInitialized ||
|
||||||
|
streams.subtitles == null ||
|
||||||
|
streams.subtitles!!.isEmpty()
|
||||||
|
) {
|
||||||
Toast.makeText(context, R.string.no_subtitles_available, Toast.LENGTH_SHORT).show()
|
Toast.makeText(context, R.string.no_subtitles_available, Toast.LENGTH_SHORT).show()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -460,7 +463,7 @@ class PlayerFragment : BaseFragment() {
|
|||||||
|
|
||||||
override fun onQualityClicked() {
|
override fun onQualityClicked() {
|
||||||
// get the available resolutions
|
// get the available resolutions
|
||||||
val (videosNameArray, videosUrlArray) = getAvailableResolutions(streams)
|
val (videosNameArray, videosUrlArray) = getAvailableResolutions()
|
||||||
|
|
||||||
// Dialog for quality selection
|
// Dialog for quality selection
|
||||||
val lastPosition = exoPlayer.currentPosition
|
val lastPosition = exoPlayer.currentPosition
|
||||||
@ -827,7 +830,7 @@ class PlayerFragment : BaseFragment() {
|
|||||||
|
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
// set media sources for the player
|
// set media sources for the player
|
||||||
setResolutionAndSubtitles(streams)
|
setResolutionAndSubtitles()
|
||||||
prepareExoPlayerView()
|
prepareExoPlayerView()
|
||||||
initializePlayerView(streams)
|
initializePlayerView(streams)
|
||||||
if (!isLive) seekToWatchPosition()
|
if (!isLive) seekToWatchPosition()
|
||||||
@ -1321,14 +1324,16 @@ class PlayerFragment : BaseFragment() {
|
|||||||
exoPlayer.setMediaSource(mergeSource)
|
exoPlayer.setMediaSource(mergeSource)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getAvailableResolutions(streams: Streams): Pair<Array<String>, Array<Uri>> {
|
private fun getAvailableResolutions(): Pair<Array<String>, Array<Uri>> {
|
||||||
|
if (!this::streams.isInitialized) return Pair(arrayOf(), arrayOf())
|
||||||
|
|
||||||
var videosNameArray: Array<String> = arrayOf()
|
var videosNameArray: Array<String> = arrayOf()
|
||||||
var videosUrlArray: Array<Uri> = arrayOf()
|
var videosUrlArray: Array<Uri> = arrayOf()
|
||||||
|
|
||||||
// append hls to list if available
|
// append hls to list if available
|
||||||
if (streams.hls != null) {
|
if (streams.hls != null) {
|
||||||
videosNameArray += getString(R.string.hls)
|
videosNameArray += getString(R.string.hls)
|
||||||
videosUrlArray += streams.hls.toUri()
|
videosUrlArray += streams.hls!!.toUri()
|
||||||
}
|
}
|
||||||
|
|
||||||
for (vid in streams.videoStreams!!) {
|
for (vid in streams.videoStreams!!) {
|
||||||
@ -1345,15 +1350,15 @@ class PlayerFragment : BaseFragment() {
|
|||||||
return Pair(videosNameArray, videosUrlArray)
|
return Pair(videosNameArray, videosUrlArray)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setResolutionAndSubtitles(response: Streams) {
|
private fun setResolutionAndSubtitles() {
|
||||||
// get the available resolutions
|
// get the available resolutions
|
||||||
val (videosNameArray, videosUrlArray) = getAvailableResolutions(response)
|
val (videosNameArray, videosUrlArray) = getAvailableResolutions()
|
||||||
|
|
||||||
// create a list of subtitles
|
// create a list of subtitles
|
||||||
subtitle = mutableListOf()
|
subtitle = mutableListOf()
|
||||||
val subtitlesNamesList = mutableListOf(context?.getString(R.string.none)!!)
|
val subtitlesNamesList = mutableListOf(context?.getString(R.string.none)!!)
|
||||||
val subtitleCodesList = mutableListOf("")
|
val subtitleCodesList = mutableListOf("")
|
||||||
response.subtitles!!.forEach {
|
streams.subtitles!!.forEach {
|
||||||
subtitle.add(
|
subtitle.add(
|
||||||
SubtitleConfiguration.Builder(it.url!!.toUri())
|
SubtitleConfiguration.Builder(it.url!!.toUri())
|
||||||
.setMimeType(it.mimeType!!) // The correct MIME type (required).
|
.setMimeType(it.mimeType!!) // The correct MIME type (required).
|
||||||
@ -1374,7 +1379,7 @@ class PlayerFragment : BaseFragment() {
|
|||||||
|
|
||||||
// set media source and resolution in the beginning
|
// set media source and resolution in the beginning
|
||||||
setStreamSource(
|
setStreamSource(
|
||||||
response,
|
streams,
|
||||||
videosNameArray,
|
videosNameArray,
|
||||||
videosUrlArray
|
videosUrlArray
|
||||||
)
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user