8000 Fix rendering. Done and dusted 😎 · flutter-webrtc/flutter-webrtc@f5c8a14 · GitHub
[go: up one dir, main page]

Skip to content

Commit f5c8a14

Browse files
committed
Fix rendering. Done and dusted 😎
1 parent 36c9820 commit f5c8a14

File tree

3 files changed

+83
-537
lines changed

3 files changed

+83
-537
lines changed

‎android/src/main/java/com/cloudwebrtc/webrtc/FlutterRTCVideoRenderer.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import org.webrtc.EglBase;
1313
import org.webrtc.MediaStream;
1414
import org.webrtc.RendererCommon.RendererEvents;
15-
import org.webrtc.SurfaceViewRenderer;
1615
import org.webrtc.VideoTrack;
1716

1817
import io.flutter.plugin.common.EventChannel;
@@ -21,7 +20,6 @@ public class FlutterRTCVideoRenderer implements EventChannel.StreamHandler {
2120

2221
private static final String TAG = FlutterWebRTCPlugin.TAG;
2322
private final SurfaceTexture texture;
24-
private final Context context;
2523
private int id = -1;
2624

2725
public void Dispose(){
@@ -98,12 +96,12 @@ public void onFrameResolutionChanged(
9896
EventChannel eventChannel;
9997
EventChannel.EventSink eventSink;
10098

101-
public FlutterRTCVideoRenderer(SurfaceTexture texture, Context context) {
102-
this.surfaceTextureRenderer = new SurfaceTextureRenderer(context, texture);
103-
SurfaceViewRenderer svr = new SurfaceViewRenderer(context);
99+
public FlutterRTCVideoRenderer(SurfaceTexture texture) {
100+
this.surfaceTextureRenderer = new SurfaceTextureRenderer("");
101+
surfaceTextureRenderer.init(EglUtils.getRootEglBaseContext(), rendererEvents);
102+
surfaceTextureRenderer.surfaceCreated(texture);
104103

105104
this.texture = texture;
106-
this.context = context;
107105
this.eventSink = null;
108106
}
109107

@@ -195,8 +193,8 @@ private void tryAddRendererToVideoTrack() {
195193
}
196194

197195
surfaceTextureRenderer.release();
198-
surfaceTextureRenderer = new SurfaceTextureRenderer(context, texture);
199196
surfaceTextureRenderer.init(sharedContext, rendererEvents);
197+
surfaceTextureRenderer.surfaceCreated(texture);
200198

201199
videoTrack.addSink(surfaceTextureRenderer);
202200
}

‎android/src/main/java/com/cloudwebrtc/webrtc/FlutterWebRTCPlugin.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import android.content.Context;
55
import android.hardware.Camera;
66
import android.graphics.SurfaceTexture;
7-
import android.os.Process;
87
import android.util.Log;
98
import android.util.LongSparseArray;
109

@@ -232,7 +231,7 @@ public void onMethodCall(MethodCall call, Result result) {
232231
} else if (call.method.equals("createVideoRenderer")) {
233232
TextureRegistry.SurfaceTextureEntry entry = textures.createSurfaceTexture();
234233
SurfaceTexture surfaceTexture = entry.surfaceTexture();
235-
FlutterRTCVideoRenderer render = new FlutterRTCVideoRenderer(surfaceTexture, getContext());
234+
FlutterRTCVideoRenderer render = new FlutterRTCVideoRenderer(surfaceTexture);
236235
renders.put(entry.id(), render);
237236

238237
EventChannel eventChannel =

0 commit comments

Comments
 (0)
0