in app/src/main/java/com/amazonaws/ivs/player/scrollablefeed/models/StreamModel.kt [55:89]
fun initPlayer(textureView: TextureView, onUpdated: () -> Unit) {
if (player != null) {
updatePlayer(textureView)
return
}
Timber.d("Initializing player: ${toString()}")
player = MediaPlayer(textureView.context)
player?.setListener(
onVideoSizeChanged = { width, height ->
val params = SizeModel(width, height)
if (playerParams != params) {
playerParams = params
Timber.d("Player params changed: ${toString()}")
onUpdated()
}
},
onStateChanged = { state ->
val playing = state == Player.State.PLAYING
if (isPlaying != playing) {
isPlaying = playing
isBuffering = false
Timber.d("Player state changed: ${toString()}")
onUpdated()
}
},
onError = { exception ->
if (exception.code != 0) {
Timber.d("Error happened: ${exception.code}, $exception for: ${toString()}")
error = ErrorModel(exception.code, exception.errorMessage)
onUpdated()
}
}
)
updatePlayer(textureView)
}