fun initPlayer()

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)
    }