Kotlin

Connecting Custom Renderer to Publisher/Subscriber

  1. Add the renderer to the publisher via the renderer builder method
  1. Do the same procedure in place where you create the subscriber, for example in the onStreamReceived
override fun onStreamReceived(session: Session, stream: Stream) {
    Log.d(TAG, "Stream received: ${stream.streamId}")

    if (subscriber == null) {
        val newSubscriber = Subscriber.Builder(this@MainActivity, stream)
            .renderer(InvertedColorsVideoRenderer(this@MainActivity))
            .build()
            .apply {
                renderer.setStyle(
                    BaseVideoRenderer.STYLE_VIDEO_SCALE,
                    BaseVideoRenderer.STYLE_VIDEO_FILL
                )
                setSubscriberListener(subscriberListener)
            }

        session.subscribe(newSubscriber)
        subscriber = newSubscriber
        subscriberView = newSubscriber.view
    }
}