8000 Rename files. · PushoN/flutter-webrtc@3bdd9ae · GitHub
[go: up one dir, main page]

Skip to content

Commit 3bdd9ae

Browse files
committed
Rename files.
1 parent d662bc9 commit 3bdd9ae

12 files changed

+84
-201
lines changed

android/src/main/java/com/cloudwebrtc/webrtc/DataChannelObserver.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
import android.util.Base64;
88

9+
import com.cloudwebrtc.webrtc.utils.ConstraintsMap;
10+
911
import org.webrtc.DataChannel;
1012

1113
import io.flutter.plugin.common.EventChannel;

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

Lines changed: 27 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
import android.util.Log;
55
import android.graphics.SurfaceTexture;
66

7-
import java.lang.reflect.Method;
7+
import com.cloudwebrtc.webrtc.utils.EglUtils;
8+
89
import java.util.List;
910

1011
import org.webrtc.EglBase;
@@ -13,43 +14,19 @@
1314
import org.webrtc.VideoRenderer;
1415
import org.webrtc.VideoTrack;
1516

16-
public class FlutterRTCVideoRenderer {
17+
import io.flutter.plugin.common.EventChannel;
18+
19+
public class FlutterRTCVideoRenderer implements EventChannel.StreamHandler {
1720

1821
private static final String TAG = FlutterWebRTCPlugin.TAG;
1922
private final SurfaceTexture texture;
20-
static {
21-
// IS_IN_LAYOUT
22-
Method isInLayout = null;
2323

24-
try {
25-
Method m = FlutterRTCVideoRenderer.class.getMethod("isInLayout");
26-
27-
if (boolean.class.isAssignableFrom(m.getReturnType())) {
28-
isInLayout = m;
29-
}
30-
} catch (NoSuchMethodException e) {
31-
// Fall back to the behavior of ViewCompat#isInLayout(View).
32-
}
24+
public void Dispose(){
25+
//destroy
26+
eventChannel.setStreamHandler(null);
27+
eventSink = null;
3328
}
3429

35-
/**
36-
* The height of the last video frame rendered by
37-
* {@link #surfaceViewRenderer}.
38-
*/
39-
private int frameHeight;
40-
41-
/**
42-
* The rotation (degree) of the last video frame rendered by
43-
* {@link #surfaceViewRenderer}.
44-
*/
45-
private int frameRotation;
46-
47-
/**
48-
* The width of the last video frame rendered by
49-
* {@link #surfaceViewRenderer}.
50-
*/
51-
private int frameWidth;
52-
5330
/**
5431
* The {@code RendererEvents} which listens to rendering events reported by
5532
* {@link #surfaceViewRenderer}.
@@ -83,9 +60,27 @@ public void onFrameResolutionChanged(
8360
*/
8461
private VideoTrack videoTrack;
8562

63+
EventChannel eventChannel;
64+
EventChannel.EventSink eventSink;
65+
8666
public FlutterRTCVideoRenderer(SurfaceTexture texture, Context context) {
8767
this.surfaceViewRenderer = new SurfaceTextureRenderer(context, texture);
8868
this.texture = texture;
69+
this.eventSink = null;
70+
}
71+
72+
public void setEventChannel(EventChannel eventChannel){
73+
this.eventChannel = eventChannel;
74+
}
75+
76+
@Override
77+
public void onListen(Object o, EventChannel.EventSink sink) {
78+
eventSink = sink;
79+
}
80+
81+
@Override
82+
public void onCancel(Object o) {
83+
eventSink = null;
8984
}
9085

9186
private final SurfaceTextureRenderer getSurfaceViewRenderer() {
@@ -125,15 +120,6 @@ private void removeRendererFromVideoTrack() {
125120
videoRenderer = null;
126121

127122
getSurfaceViewRenderer().release();
128-
/*
129-
// Since this FlutterRTCVideoRenderer is no longer rendering anything, make sure
130-
// surfaceViewRenderer displays nothing as well.
131-
synchronized (layoutSyncRoot) {
132-
frameHeight = 0;
133-
frameRotation = 0;
134-
frameWidth = 0;
135-
}
136-
*/
137123
}
138124
}
139125

@@ -181,20 +167,6 @@ private void setVideoTrack(VideoTrack videoTrack) {
181167
}
182168
}
183169

184-
//@ReactProp(name = "streamURL")
185-
public void setStreamURL(FlutterRTCVideoRenderer view, String streamURL) {
186-
MediaStream mediaStream;
187-
if (streamURL == null) {
188-
mediaStream = null;
189-
} else {
190-
//TODO:
191-
//ReactContext reactContext = (ReactContext) view.getContext();
192-
//WebRTCModule module = reactContext.getNativeModule(WebRTCModule.class);
193-
//mediaStream = module.getStreamForReactTag(streamURL);
194-
}
195-
//view.setStream(mediaStream);
196-
}
197-
198170
/**
199171
* Starts rendering {@link #videoTrack} if rendering is not in progress and
200172
* all preconditions for the start of rendering are met.

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

Lines changed: 38 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@
77
import android.util.Log;
88
import android.util.LongSparseArray;
99

10+
import com.cloudwebrtc.webrtc.utils.ConstraintsArray;
11+
import com.cloudwebrtc.webrtc.utils.ConstraintsMap;
12+
import com.cloudwebrtc.webrtc.utils.EglUtils;
13+
import com.cloudwebrtc.webrtc.utils.ObjectType;
14+
1015
import java.util.*;
1116

1217
import org.webrtc.AudioTrack;
@@ -20,9 +25,9 @@
2025
import org.webrtc.PeerConnectionFactory;
2126
import org.webrtc.SdpObserver;
2227
import org.webrtc.SessionDescription;
23-
import org.webrtc.VideoRenderer;
2428
import org.webrtc.VideoTrack;
2529

30+
import io.flutter.plugin.common.EventChannel;
2631
import io.flutter.plugin.common.MethodChannel;
2732
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
2833
import io.flutter.plugin.common.MethodChannel.Result;
@@ -179,13 +184,40 @@ public void onMethodCall(MethodCall call, Result result) {
179184
SurfaceTexture surfaceTexture = entry.surfaceTexture();
180185
FlutterRTCVideoRenderer render = new FlutterRTCVideoRenderer(surfaceTexture, getContext());
181186
renders.put(entry.id(), render);
182-
result.success(entry.id());
187+
188+
EventChannel eventChannel =
189+
new EventChannel(
190+
registrar.messenger(),
191+
"cloudwebrtc.com/WebRTC/Texture" + entry.id());
192+
193+
eventChannel.setStreamHandler(render);
194+
render.setEventChannel(eventChannel);
195+
196+
ConstraintsMap params = new ConstraintsMap();
197+
params.putInt("textureId", (int)entry.id());
198+
result.success(params.toMap());
183199
} else if (call.method.equals("videoRendererDispose")) {
184-
//TODO:
200+
int textureId = call.argument("textureId");
201+
FlutterRTCVideoRenderer render = renders.get(textureId);
202+
render.Dispose();
203+
renders.delete(textureId);
185204
} else if (call.method.equals("videoRendererSetSrcObject")) {
186-
//int textureId = call.argument("textureId");
187-
//String streamId = call.argument("streamId");
188-
//TODO:
205+
int textureId = call.argument("textureId");
206+
String streamId = call.argument("streamId");
207+
208+
FlutterRTCVideoRenderer render = renders.get(textureId);
209+
210+
if(render == null ){
211+
result.error("FlutterRTCVideoRendererNotFound", "render [" + textureId + "] not found !", null);
212+
return;
213+
}
214+
215+
MediaStream stream = getStreamForId(streamId);
216+
if(stream == null ){
217+
result.error("MediaStreamNotFound", "media stream [" + streamId + "] not found !", null);
218+
return;
219+
}
220+
render.setStream(stream);
189221
result.success(null);
190222
} else {
191223
result.notImplemented();
@@ -595,25 +627,6 @@ public void getUserMedia(ConstraintsMap constraints, Result result) {
595627
getUserMediaImpl.getUserMedia(constraints, result, mediaStream);
596628
}
597629

598-
public void getImageMedia(ConstraintsMap constraints, Result result) {
599-
String streamId = getNextStreamUUID();
600-
MediaStream mediaStream = mFactory.createLocalMediaStream(streamId);
601-
602-
if (mediaStream == null) {
603-
// XXX The following does not follow the getUserMedia() algorithm
604-
// specified by
605-
// https://www.w3.org/TR/mediacapture-streams/#dom-mediadevices-getusermedia
606-
// with respect to distinguishing the various causes of failure.
607-
608-
result.error(
609-
/* type */ "getImageMedia",
610-
"Failed to create new media stream", null);
611-
return;
612-
}
613-
614-
getUserMediaImpl.getImageMedia(constraints, result, mediaStream);
615-
}
616-
617630
public void mediaStreamTrackGetSources(Result result) {
618631
ConstraintsArray array = new ConstraintsArray();
619632
String[] names = new String[Camera.getNumberOfCameras()];
@@ -670,13 +683,6 @@ public void mediaStreamTrackSwitchCamera(final String id) {
670683
}
671684
}
672685

673-
public void mediaStreamTrackPutImage(final String id, final String base64_image) {
674-
MediaStreamTrack track = localTracks.get(id);
675-
if (track != null) {
676-
getUserMediaImpl.putImage(id, base64_image);
677-
}
678-
}
679-
680686
public void mediaStreamTrackRelease(final String streamId, final String _trackId) {
681687
MediaStream stream = localStreams.get(streamId);
682688
if (stream == null) {

android/src/main/java/com/cloudwebrtc/webrtc/GetUserMediaImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717
import android.media.projection.MediaProjection;
1818
import android.media.projection.MediaProjectionManager;
1919

20+
import com.cloudwebrtc.webrtc.utils.Callback;
21+
import com.cloudwebrtc.webrtc.utils.ConstraintsArray;
22+
import com.cloudwebrtc.webrtc.utils.ConstraintsMap;
23+
import com.cloudwebrtc.webrtc.utils.ObjectType;
24+
import com.cloudwebrtc.webrtc.utils.PermissionUtils;
25+
2026
import java.util.ArrayList;
2127
import java.util.HashMap;
2228
import java.util.List;

android/src/main/java/com/cloudwebrtc/webrtc/ImageCapturer.java

Lines changed: 0 additions & 108 deletions
This file was deleted.

android/src/main/java/com/cloudwebrtc/webrtc/PeerConnectionObserver.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
import android.util.SparseArray;
1313
import android.support.annotation.Nullable;
1414

15+
import com.cloudwebrtc.webrtc.utils.ConstraintsArray;
16+
import com.cloudwebrtc.webrtc.utils.ConstraintsMap;
17+
1518
import org.webrtc.AudioTrack;
1619
import org.webrtc.DataChannel;
1720
import org.webrtc.IceCandidate;

android/src/main/java/com/cloudwebrtc/webrtc/Callback.java renamed to android/src/main/java/com/cloudwebrtc/webrtc/utils/Callback.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.cloudwebrtc.webrtc;
1+
package com.cloudwebrtc.webrtc.utils;
22

33
public interface Callback {
44

android/src/main/java/com/cloudwebrtc/webrtc/ConstraintsArray.java renamed to android/src/main/java/com/cloudwebrtc/webrtc/utils/ConstraintsArray.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.cloudwebrtc.webrtc;
1+
package com.cloudwebrtc.webrtc.utils;
22

33
import java.util.ArrayList;
44
import java.util.Map;

android/src/main/java/com/cloudwebrtc/webrtc/ConstraintsMap.java renamed to android/src/main/java/com/cloudwebrtc/webrtc/utils/ConstraintsMap.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.cloudwebrtc.webrtc;
1+
package com.cloudwebrtc.webrtc.utils;
22

33
import java.util.ArrayList;
44
import java.util.HashMap;

android/src/main/java/com/cloudwebrtc/webrtc/EglUtils.java renamed to android/src/main/java/com/cloudwebrtc/webrtc/utils/EglUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.cloudwebrtc.webrtc;
1+
package com.cloudwebrtc.webrtc.utils;
22

33
import android.util.Log;
44

0 commit comments

Comments
 (0)
0