Commit Graph

72 Commits

Author SHA1 Message Date
CloudWebRTC bc4df105fa feat: support metadata update. (#259) 2023-03-27 09:19:52 +08:00
CloudWebRTC 59ee3105fb feat: Support setVideoFPS for subscribe. (#258)
* feat: Support setVideoFPS for subscribe.

* Update lib/src/publication/remote.dart

Co-authored-by: David Zhao <dz@livekit.io>

* Add comment for setVideoFPS.

---------

Co-authored-by: David Zhao <dz@livekit.io>
2023-03-15 15:51:15 +08:00
CloudWebRTC b63d4bde8a Room recording event (#252)
* feat: Add room reocording reminder.

* chore: comment for recording event.
2023-03-08 13:09:04 +08:00
CloudWebRTC c74e6777d8 feat: Forward leave reason of disconnected events. (#250)
* feat: Forward leave reason of disconnected events.

* fix analyze.

* chore: print room disconnect reason when event.reason != null.

* chore: rename InternalDisconnectReason => ClientDisconnectReason.
2023-03-07 17:54:18 +08:00
CloudWebRTC db2e25d424 feat: web/native device consistency management (#243)
* fix: Force audio settings to be consistent.

* chore: applyAudioSettings for onUnpublish.

* revert audio output select for web.

* add RoomHardwareManagementMethods to Room.

* update.

* fix analyze.

* update.

* update.

* chore: Reset sinkId for web when remoteTrack replays.

* rename setAudioOutput to setSinkId for flutter web.

* chore: Make sure AudioElement has `setSinkId` method.
2023-03-07 17:54:06 +08:00
CloudWebRTC 70e6589981 feat: audio output select for web. (#247)
* feat: audio output select for web.

* chore: Add comments for VideoTrackRenderer.

* update.
2023-03-06 10:53:45 +08:00
CloudWebRTC 5c4761bc7c Fix: re-publish tracks after re connect (#238)
* fix republish local tracks after reconnect.

* update flutter-webrtc.

* remove unused import.

* add dart_webrtc.

* cleanup.

* fix: Fix sendSyncState timing error, when reconnecting is sending.

* Adjust the re-connect logic to ensure that the publisher negotiates and reconnects correctly.

* Update room.dart
2023-02-17 09:04:56 +08:00
Hiroshi Horie a23eb6332c Audio mute unmute fixes (#234)
* progress

* refresh

* Create Podfile.lock

* Update Podfile.lock

* pub

* update deps.

* fix tests

* dart format .

* fix duplicate imports

---------

Co-authored-by: cloudwebrtc <duanweiwei1982@gmail.com>
2023-02-06 12:43:27 +09:00
CloudWebRTC 5d727bee5d [Android] fix screen sharing crash on first boot (#203)
* fix screen sharing crash on first boot.

* update.

* update.

* Update controls.dart
2023-02-03 14:59:49 +08:00
cloudwebrtc 06783cad5c release: 1.1.9. 2022-11-28 11:20:56 +08:00
CloudWebRTC 27ea869443 fix: stop audio track on mute. (#207)
* fix: stop audio track on mute.

* chore: Let audioBitrate preset to music.

* update.

* update depends.

* update.
2022-11-14 19:13:48 +08:00
CloudWebRTC 0d8441ebfb e2e: fix resume/full-reconnect. (#194)
* fix: full re-connect.

* chore: Reset fullReConnect state after ConnectionState is emitted.

* Support full reconnect, fix Migration, NodeFailure, FullReconnect test cases.

* revert Timeouts.connection.

* update.

* Refactor the resume/reconnect implementation.

* more changes.

* update.

* Changed to simpler reconnect/recovery logic.

* update.

* update.

* code format.

* tidy.

* bump version for flutter-webrtc.

* chore: Remove unused exception class (SignalReconnectError).

* chore: rename `fullReconnectOnNext` to `fullReconnect`.

* update.

* chore: Revert changes for `unpublishTrack`.

* chore: Reconnect signalClient when resumeConnection.

* revert `rethrow` in engine.connect.

* Use removePublishedTrack instead of unpublishTrack (RemoteParticipant).

* chore: Correctly handle PeerConnectionState for resume/full-reconnect.

* tidy.
2022-11-08 16:06:09 +08:00
CloudWebRTC a60a2e861c chore: Add simulate for candidate protocol switch. (#176) 2022-09-20 17:47:38 +08:00
CloudWebRTC cbdfa634a3 feat: Support for capturing audio for chrome tab. (#158)
* feat: Support for capturing audio for chrome tab.

* Update code comments.
2022-09-07 15:15:11 +08:00
CloudWebRTC 82e8a9eedf fix: close issue #154. (#155) 2022-09-07 10:13:32 +08:00
CloudWebRTC 1d621501f7 Add hardware api for camera, audio input/output selection. (#147)
* chore: Add hardware api for device settings dialog, camera preview, audio input/output selection.

* update.

* update flutter-webrtc.

* chore: add popupmenu for audio/video selection.

* chore: Improve menu tooltip text.

* Removed hardware settings dialog, added it to experimental branch.

* remove unused code.

* Respond to device changes.

* fixed `flutter analyze`.

* update.

* bump verion to v1.1.1.
2022-08-24 12:41:11 +08:00
CloudWebRTC a554d92543 screen sharing for desktop. (#135)
* screen sharing for desktop (WIP).

* use git repo for testing.

* update.

* Add sourceId/frameRate to ScreenShareCaptureOptions.

* Compatible with flutter web.

* Rendering of camera and screenshare video tracks at same time.

* Remote screen sharing is shown first, and fixed sub/unsub button for screenshare widget.

* resolved conflict.

* modify flutter-webrtc to pub version.

* remove unused import.

* chore: Common params for Camera and ScreenShare.
2022-08-02 11:17:09 +08:00
CloudWebRTC 3d8bf96651 protocol 8. (#134)
* protocol 8.

* add FastConnectOptions.

* update.

* fix.

* Deprecated the top connect method.

* Add fast connect button in example.

* Create a Listener before connecting.

* Force protocol-v7 for deprecated APIs.

* remove commented out line.

* relative path import.

* update.
2022-07-11 19:54:08 +08:00
davidliu 531cbd1676 iOS screen share (#133) 2022-07-10 22:43:20 +09:00
CloudWebRTC 9ed0c534be There is a bug in defaultValue in fromEnvironment, so replace the code. (#125) 2022-06-03 09:12:04 +08:00
CloudWebRTC 741bead18c Autofill URL and TOKEN in debug mode. (#123)
* Autofill URL and TOKEN in debug mode.

* dart format.

* Set ENV priority higher than prefs.
2022-06-02 10:57:09 +08:00
Hiroshi Horie 566937f630 compatibility with flutter 3.0 2022-05-15 20:56:20 +09:00
Hiroshi Horie 910efe3d64 update protos 2022-04-03 00:31:06 +09:00
Hiroshi Horie 91b604a191 adaptiveStream and dynacast option in example 2022-04-03 00:18:28 +09:00
Hiroshi Horie ead3a7ea6a move sendSimulateScenario 2022-03-06 14:06:39 +09:00
Hiroshi Horie c205660bbf adaptiveStream and dynacast on in example 2022-03-04 22:27:05 +09:00
davidliu 9bd546b9a2 tests and mocks for e2e testing (#78)
* tests and mocks for e2e testing

* formatting

* fix analyze errors
2022-02-06 20:36:42 +09:00
Hiroshi Horie 224047c31f Session migration (#72)
* impl

* retry logic

* simulate

* pass checks

* adjust log level

* retry condition

* fix simulate scenario params

* format

* use `RTCPeerConnectionState` instead of `RTCIceConnectionState`

* adjust retry

* additional check for completer

* more logging

* fix id

* pub

* change package

* doc update

* retry tests

* format

* apply suggestions
2022-01-25 00:53:18 +07:00
Hiroshi Horie aef1fd8804 Subscription permission API (#68)
* signal

* request

* implement

* rename event

* ref

* adjustments based on review

* override subscribed

* move events emit

* fix subscription state

* minor change

* update example for permissions demo

* format & subscriptionState as computed property

* prepare macos build

* unsubscribed event when subscription not allowed
2022-01-10 23:48:44 +07:00
Hiroshi Horie 677ad94e75 more logging for dynacast 2022-01-03 16:37:51 +07:00
Hiroshi Horie 44a42eafea name field for participant 2022-01-02 01:38:54 +07:00
Hiroshi Horie 38328c5e0d Fix: Visibility Optimization randomly not working (#65)
* use widget id instead of state id

* ignore local video view events

* switch remote view visibility also

* use Key for a reliable id

* remove local check

* clean up

* redesign

* check mounted

* remove mount check

* more optimization

* quick wake up

* mark internal

* rename to adaptiveStream
2022-01-01 12:59:24 +07:00
Hiroshi Horie 94b4b07e92 fix reconnect logic 2021-12-23 01:50:58 +07:00
Hiroshi Horie b91c822fba more docs 2021-12-12 19:09:38 +07:00
Hiroshi Horie 7e1164a74c fix imports 2021-12-10 23:14:21 +07:00
Hiroshi Horie a706a5e1fb organize ConnectOptions RoomOptions RTCConfiguration 2021-12-10 00:23:45 +07:00
Artur Shellunts b6b48ea310 Fix rendering of remote shared screen (#50)
Fix activeVideoTrack to return any unmuted stream, not only first one in the list.
2021-12-07 11:28:25 +01:00
Hiroshi Horie 0f5a758cd4 Create room without connecting (#49)
* initial commit

* fix example compile

* format

* clean up

* fix check

* missing import
2021-12-07 17:02:58 +07:00
Hiroshi Horie d20a6e2ddb fix compiling since VideoQuality moved to another file 2021-12-07 12:30:46 +07:00
Hiroshi Horie 5ce12dae85 use setScreenShareEnabled for example 2021-12-07 02:04:08 +07:00
Hiroshi Horie 01902ef7eb example clean up 2021-12-02 14:28:59 +07:00
Hiroshi Horie 64a243a312 update example (no casting) 2021-12-02 14:21:41 +07:00
Hiroshi Horie 44864ff525 Type-aware Publication etc (static typing) (#43)
* implemented

* format

* add missing type
2021-12-01 12:15:09 +07:00
Hiroshi Horie 8037d80674 Release camera/mic when muted, restartTrack when unmuted (#39)
* re-structure tracks

* publication.track is now a LocalTrack or RemoteTrack

* restartTrack when unmute

* stop/start on restartTrack

* move to mute/unmute

* format

* remove comment
2021-11-30 15:58:19 +07:00
David Zhao 66dbc94c1a Use high level track APIs in example app & docs (#36) 2021-11-26 23:51:37 -08:00
Hiroshi Horie 4f0973ce66 Match muted behavior with JS SDK (#32)
* attempt 1

* implement

* clean up

* clean up

* cleaner code

* mute was opposite

* fix suggestion

* fix local pub muted

* update example

* update pubs

* format
2021-11-20 02:39:52 +07:00
davidliu 4a59a1e6d5 android screenshare example and touch ups (#31) 2021-11-17 17:11:46 +09:00
Hiroshi Horie 88799f8b76 simplified api example 2021-11-11 22:00:26 +09:00
Hiroshi Horie b2b7d86800 example: turn off autocorrect 2021-11-10 01:31:22 +09:00
Hiroshi Horie d31daa5d8e Connection quality (#27)
* update protos

* signal event

* implemented

* format

* implement example

* protocol 5

* icon size
2021-11-06 17:36:47 +09:00