private void handleMediaStream(MediaStream stream) { log("handling video stream"); if (this.remoteRenderer == null || stream.videoTracks.size() == 0) return; new Handler(Looper.getMainLooper()).post(() -> { //remoteRenderer.setBackgroundColor(Color.TRANSPARENT); remoteRenderer.init(this.sharedContext, null); stream.videoTracks.get(0).addSink(remoteRenderer); }); }
@Override public void onAddTrack(RtpReceiver rtpReceiver, MediaStream[] mediaStreams) { MediaStreamTrack track = rtpReceiver.track(); if (track instanceof VideoTrack) { Log.i(TAG, "onAddVideoTrack"); VideoTrack remoteVideoTrack = (VideoTrack) track; remoteVideoTrack.setEnabled(true); ProxyVideoSink videoSink = new ProxyVideoSink(); videoSink.setTarget(mRemoteSurfaceView); remoteVideoTrack.addSink(videoSink); } } };
mVideoTrack.addSink(videoSink);