mirror of
https://gitlab.linphone.org/BC/public/linphone-android.git
synced 2026-01-17 11:28:06 +00:00
Prevent crash in MediaViewerFragment if media player wasn't initialized
This commit is contained in:
parent
b993ba78cf
commit
9028a3a02f
2 changed files with 10 additions and 2 deletions
|
|
@ -109,7 +109,7 @@ class MediaViewerFragment : GenericMainFragment() {
|
|||
val textureView = binding.videoPlayer
|
||||
if (textureView.isAvailable) {
|
||||
Log.i("$TAG Surface created, setting display in mediaPlayer")
|
||||
viewModel.mediaPlayer.setSurface((Surface(textureView.surfaceTexture)))
|
||||
viewModel.setMediaPlayerSurface((Surface(textureView.surfaceTexture)))
|
||||
} else {
|
||||
Log.i("$TAG Surface not available yet, setting listener")
|
||||
textureView.surfaceTextureListener = object : SurfaceTextureListener {
|
||||
|
|
@ -119,7 +119,7 @@ class MediaViewerFragment : GenericMainFragment() {
|
|||
p2: Int
|
||||
) {
|
||||
Log.i("$TAG Surface available, setting display in mediaPlayer")
|
||||
viewModel.mediaPlayer.setSurface(Surface(surfaceTexture))
|
||||
viewModel.setMediaPlayerSurface(Surface(surfaceTexture))
|
||||
}
|
||||
|
||||
override fun onSurfaceTextureSizeChanged(
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ package org.linphone.ui.fileviewer.viewmodel
|
|||
|
||||
import android.media.AudioAttributes
|
||||
import android.media.MediaPlayer
|
||||
import android.view.Surface
|
||||
import androidx.annotation.UiThread
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.viewModelScope
|
||||
|
|
@ -225,4 +226,11 @@ class MediaViewModel
|
|||
updatePositionJob?.cancel()
|
||||
updatePositionJob = null
|
||||
}
|
||||
|
||||
@UiThread
|
||||
fun setMediaPlayerSurface(surface: Surface) {
|
||||
if (::mediaPlayer.isInitialized) {
|
||||
mediaPlayer.setSurface(surface)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue