From 3f10953f96664f9b092d08c1c88b1179f2d54d12 Mon Sep 17 00:00:00 2001 From: CloudWebRTC Date: Thu, 3 Apr 2025 08:52:16 +0800 Subject: [PATCH 1/4] fix: Migrate from onSurfaceDestroyed to onSurfaceCleanup for SurfaceProducer.Callback. (#1806) --- .../java/com/cloudwebrtc/webrtc/SurfaceTextureRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/main/java/com/cloudwebrtc/webrtc/SurfaceTextureRenderer.java b/android/src/main/java/com/cloudwebrtc/webrtc/SurfaceTextureRenderer.java index c4daa8acdd..faa783a351 100755 --- a/android/src/main/java/com/cloudwebrtc/webrtc/SurfaceTextureRenderer.java +++ b/android/src/main/java/com/cloudwebrtc/webrtc/SurfaceTextureRenderer.java @@ -122,7 +122,7 @@ public void onSurfaceAvailable() { } @Override - public void onSurfaceDestroyed() { + public void onSurfaceCleanup() { surfaceDestroyed(); } } From 9a92d0b155237045505b71ec241e58e41e11e3c0 Mon Sep 17 00:00:00 2001 From: holzgeist Date: Thu, 3 Apr 2025 02:53:13 +0200 Subject: [PATCH 2/4] fix: race condition in RTCVideoRenderer for Web (#1805) sometimes video callbacks (onResize, onCanPlay) come before element is findable in DOM. This PR adds the created element as fallback fixes #1804 --- lib/src/web/rtc_video_renderer_impl.dart | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/src/web/rtc_video_renderer_impl.dart b/lib/src/web/rtc_video_renderer_impl.dart index 826a7f3dac..70580fc717 100644 --- a/lib/src/web/rtc_video_renderer_impl.dart +++ b/lib/src/web/rtc_video_renderer_impl.dart @@ -92,12 +92,12 @@ class RTCVideoRenderer extends ValueNotifier String get viewType => 'RTCVideoRenderer-$textureId'; - void _updateAllValues() { - final element = findHtmlView(); + void _updateAllValues(web.HTMLVideoElement fallback) { + final element = findHtmlView() ?? fallback; value = value.copyWith( rotation: 0, - width: element?.videoWidth.toDouble() ?? 0.0, - height: element?.videoHeight.toDouble() ?? 0.0, + width: element.videoWidth.toDouble(), + height: element.videoHeight.toDouble(), renderVideo: renderVideo, ); } @@ -273,13 +273,13 @@ class RTCVideoRenderer extends ValueNotifier _subscriptions.add( element.onCanPlay.listen((dynamic _) { - _updateAllValues(); + _updateAllValues(element); }), ); _subscriptions.add( element.onResize.listen((dynamic _) { - _updateAllValues(); + _updateAllValues(element); onResize?.call(); }), ); From 676d9e462d4d25de0f9b7bccb048c881fd34f472 Mon Sep 17 00:00:00 2001 From: CloudWebRTC Date: Thu, 3 Apr 2025 09:28:34 +0800 Subject: [PATCH 3/4] fix: remove setPreferredInputDevice when getUserAduio. (#1808) --- .../java/com/cloudwebrtc/webrtc/GetUserMediaImpl.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/android/src/main/java/com/cloudwebrtc/webrtc/GetUserMediaImpl.java b/android/src/main/java/com/cloudwebrtc/webrtc/GetUserMediaImpl.java index b72236600f..a03494a44e 100755 --- a/android/src/main/java/com/cloudwebrtc/webrtc/GetUserMediaImpl.java +++ b/android/src/main/java/com/cloudwebrtc/webrtc/GetUserMediaImpl.java @@ -365,17 +365,6 @@ private ConstraintsMap getUserAudio(ConstraintsMap constraints, MediaStream stre String trackId = stateProvider.getNextTrackUUID(); PeerConnectionFactory pcFactory = stateProvider.getPeerConnectionFactory(); AudioSource audioSource = pcFactory.createAudioSource(audioConstraints); - - if (deviceId != null) { - try { - if (VERSION.SDK_INT >= VERSION_CODES.M) { - setPreferredInputDevice(deviceId); - } - } catch (Exception e) { - Log.e(TAG, "setPreferredInputDevice failed", e); - } - } - AudioTrack track = pcFactory.createAudioTrack(trackId, audioSource); stream.addTrack(track); From 44af4a54397e2db07673732f27ae60b4d50d2104 Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Thu, 3 Apr 2025 09:32:42 +0800 Subject: [PATCH 4/4] release: 1.3.1. --- CHANGELOG.md | 6 ++++++ pubspec.yaml | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca423562ad..d739c5a13e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ # Changelog +[0.13.1] - 2025-04-03 + +* [Android] fix: remove setPreferredInputDevice when getUserAduio. (#1808) +* [Web] fix: race condition in RTCVideoRenderer for Web (#1805) +* [Android] fix: Migrate from onSurfaceDestroyed to onSurfaceCleanup for SurfaceProducer.Callback. (#1806) + [0.13.0] - 2025-03-24 * [All] feat: add getBufferedAmount for DataChannel. (#1796) diff --git a/pubspec.yaml b/pubspec.yaml index 5359459f74..bfac287e6d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_webrtc description: Flutter WebRTC plugin for iOS/Android/Destkop/Web, based on GoogleWebRTC. -version: 0.13.0 +version: 0.13.1 homepage: https://github.com/cloudwebrtc/flutter-webrtc environment: sdk: '>=3.3.0 <4.0.0' pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy