AlexTa
AlexTa

Reputation: 5251

How to render WebRTC VideoTrack on SurfaceViewRenderer in Android?

Before update WebRTC dependencies, I was able to render WebRTC VideoTracks on SurfaceViewRenderer like so:

val videoView = findViewById<SurfaceViewRenderer>(R.id.surface_view_renderer)
videoTrack.addRenderer(VideoRenderer(videoView))

Since SurfaceViewRenderer no longer implements VideoRenderer.Callbacks interface, how can I achieve the same behavior above with updated WebRTC version?

Upvotes: 1

Views: 2917

Answers (1)

AlexTa
AlexTa

Reputation: 5251

Now SurfaceViewRenderer implements VideoSink interface and now we can add VideoSink interfaces to our VideoTracks, so, just replace your current implementation by the following and it will work:

val videoView = findViewById<SurfaceViewRenderer>(R.id.surface_view_renderer)
videoTrack.addSink(videoView)

Upvotes: 6

Related Questions