8000 android: upgrade webrtc sdk to m92.92.4515. · efraespada/flutter-webrtc@bc086a7 · GitHub
[go: up one dir, main page]

Skip to content

Commit bc086a7

Browse files
committed
android: upgrade webrtc sdk to m92.92.4515.
1 parent bb20331 commit bc086a7

File tree

3 files changed

+39
-13
lines changed

3 files changed

+39
-13
lines changed

android/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ rootProject.allprojects {
1616
repositories {
1717
google()
1818
jcenter()
19+
maven { url 'https://jitpack.io' }
1920
}
2021
}
2122

2223
apply plugin: 'com.android.library'
2324

2425
android {
25-
compileSdkVersion 28
26+
compileSdkVersion 30
2627

2728
defaultConfig {
2829
minSdkVersion 21
@@ -41,6 +42,6 @@ android {
4142
}
4243

4344
dependencies {
44-
api 'org.webrtc:google-webrtc:1.0.32006'
45+
implementation 'com.github.webrtc-sdk:android:92.4515.01'
4546
implementation "androidx.annotation:annotation:1.1.0"
4647
}

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

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,12 @@ public void onIceConnectionChange(PeerConnection.IceConnectionState iceConnectio
265265
sendEvent(params);
266266
}
267267

268-
@Override
268+
@Override
269+
public void onStandardizedIceConnectionChange(PeerConnection.IceConnectionState newState) {
270+
271+
}
272+
273+
@Override
269274
public void onIceConnectionReceivingChange(boolean var1) {
270275
}
271276

@@ -447,7 +452,27 @@ public void onAddTrack(RtpReceiver receiver, MediaStream[] mediaStreams) {
447452
sendEvent(params);
448453
}
449454

450-
@Override
455+
@Override
456+
public void onRemoveTrack(RtpReceiver rtpReceiver) {
457+
Log.d(TAG, "onRemoveTrack");
458+
459+
MediaStreamTrack track = rtpReceiver.track();
460+
String trackId = track.id();
461+
ConstraintsMap trackInfo = new ConstraintsMap();
462+
trackInfo.putString("id", trackId);
463+
trackInfo.putString("label", track.kind());
464+
trackInfo.putString("kind", track.kind());
465+
trackInfo.putBoolean("enabled", track.enabled());
466+
trackInfo.putString("readyState", track.state().toString());
467+
trackInfo.putBoolean("remote", true);
468+
ConstraintsMap params = new ConstraintsMap();
469+
params.putString("event", "onRemoveTrack");
470+
params.putString("trackId", track.id());
471+
params.putMap("track", trackInfo.toMap());
472+
sendEvent(params);
473+
}
474+
475+
@Override
451476
public void onDataChannel(DataChannel dataChannel) {
452477
// XXX Unfortunately, the Java WebRTC API doesn't expose the id
453478
// of the underlying C++/native DataChannel (even though the

lib/src/native/rtc_peerconnection_impl.dart

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -153,15 +153,15 @@ class RTCPeerConnectionNative extends RTCPeerConnection {
153153
onAddTrack?.call(stream, newTrack);
154154
break;
155155
case 'onRemoveTrack':
156-
String streamId = map['streamId'];
157-
for (var item in _remoteStreams) {
158-
if (item.id == streamId) {
159-
Map<dynamic, dynamic> track = map['track'];
160-
var oldTrack = MediaStreamTrackNative(
161-
track['id'], track['label'], track['kind'], track['enabled']);
162-
onRemoveTrack?.call(item, oldTrack);
163-
break;
164-
}
156+
String trackId = map['trackId'];
157+
for (var stream in _remoteStreams) {
158+
stream.getTracks().forEach((track) {
159+
if (track.id == trackId) {
160+
onRemoveTrack?.call(stream, track);
161+
stream.removeTrack(track, removeFromNative: false);
162+
return;
163+
}
164+
});
165165
}
166166
break;
167167
case 'didOpenDataChannel':

0 commit comments

Comments
 (0)
0