Kotlin

Connecting Custom Renderer to Publisher/Subscriber

  1. Add the renderer to the publisher via the renderer builder method
publisher = Publisher.Builder(this@MainActivity)
                .renderer(InvertedColorsVideoRenderer(this@MainActivity))
                .build()
                ...
  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
    }
}