Commit Graph
97 Commits
Author SHA1 Message Date
CloudWebRTCandGitHub 193f89806f fix: add name to AudioPublishOptions. (#302)
* fix: add name to AudioPublishOptions.

* remove name for Track.

* remove name for Track.

* update.

* fix flutter analyzer.

* update.

* add Deprecated declaration for Track.name.

* update.
2023-06-14 15:31:21 +08:00
CloudWebRTCandGitHub e12dd60f5f update CI. (#287)
* update.

* update.

* pub update.

* fix import_sorter.

* fix analyze.
2023-05-17 13:44:28 +08:00
CloudWebRTCandGitHub 0b8aeeeba1 fix: audio play bug for ios safari. (#285)
* fix: audio play bug for ios safari. (WIP).

* chore: Repair and can pop up the playback prompt dialog box correctly.

* chore: add AudioContext to reduce playback delay.
2023-05-16 10:28:09 +08:00
26947e96d6 e2ee. (#226)
* chore: e2ee.

* update.

* update.

* update.

* update.

* chore: Use feat/frame-encryption branch of flutter-webrtc.

* chore: Add E2EEKEY defines for dart environment, and e2ee switch.

* Add encodedInsertableStreams to RTCConfiguration.

* update.

* feat: Add e2ee indicator for Participant.

* feat: add e2ee worker js for flutter web.

* dart format.

* remove unused file.

* fix flutter analyze .

* update.

* update.

* add: indicate for decryption failure, and string key.

* remove .lock files.

* update.

* update.

* update e2ee.worker for web.

* feat: support setCodecPreferences.

* state TrackE2EEStateEvent.

* fix wrong import interface from dart_webrtc.

* update.

* update.

* update.

* update.

* update pubspec.lock.

* chore: update protocol and add EncryptionType for Participant.

* Update lib/src/e2ee/options.dart

Co-authored-by: Théo Monnom <[email protected]>

* fix typo.

* revert changes for internal import.

* Add _cleanUp() for previous room.

* Add e2ee supports detection method for native/web.

* Remove redundant overriding methods.

* dart format.

* Add e2ee.worker code and deployment docs.

* chore: remove duplicate words.

* chore: using Pbkdf2 derive the key.

* Update pubspec.yaml

* fix e2ee for safari.

* fix key length.

* update e2ee.worker.dart.js.

* fix.

* update proto.

* update.

* chore: add simulate for rachetKey.

* update.

* chore: key ratchet for flutter web.

* update.

* update.

* update.

* chore: key ratchet export for web.

* bump version for xframeworks.

* update.

* chore: some changes for key safety ratcheting.

* update.

* fix typo.

* update.

* rename.

* magic bytes for web.

* bump version for flutter-webrtc.

* fix analyzer.

---------

Co-authored-by: Théo Monnom <[email protected]>
2023-04-27 17:54:32 +08:00
CloudWebRTCandGitHub 3407221fc4 Fix resolution/framerate/bitrate issue for publishVideoTrack (#270)
* Add screenShareCaptureOptions for setScreenShareEnabled.

* update.

* bump version for flutter-webrtc.

* chore: add maintainResolution setting for publish screen sharing track.

* chore: add CaptureOptions for setCameraEnabled/setMicrophoneEnabled/setScreenShareEnabled.

* update.

* revert changes for videoRids.

* chore: set the default sending bitrate.
2023-04-27 10:14:03 +08:00
CloudWebRTCandGitHub bc4df105fa feat: support metadata update. (#259) 2023-03-27 09:19:52 +08:00
CloudWebRTCandGitHub 68d611a448 feat: topic for data-channel. (#260) 2023-03-27 09:19:42 +08:00
CloudWebRTCandGitHub 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
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 <[email protected]>
2023-02-06 12:43:27 +09:00
CloudWebRTCandGitHub 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
CloudWebRTCandGitHub 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
CloudWebRTCandGitHub 7acfb3faac chore: Make timeouts configurable. (#191) 2022-10-18 15:52:24 +08:00
CloudWebRTCandGitHub 044606223e Expose RTPReceiver for getting track statistics. (#162) 2022-09-07 15:15:32 +08:00
CloudWebRTCandGitHub 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
CloudWebRTCandGitHub bcfea1e625 handle combined participant update. (#130)
* handle combined participant update (WIP).

* always emit events for new publications.

* update info for exist participant.

* fix tests.

* update.

* Move emitWhenConnected to Room layer.
2022-07-04 11:11:56 +08:00
David ZhaoandGitHub 8f877e98ec Set subscription to allowed when subscribed (#131) 2022-06-28 00:41:17 -07:00
CloudWebRTCandGitHub f93f3c063c re-send tracks permissions after reconnected. (#128) 2022-06-14 17:12:37 +08:00
CloudWebRTCandGitHub f092e2eecd Add audioBitrate option for publishAudioTrack. (#124) 2022-06-06 10:37:24 +08:00
Hiroshi HorieandGitHub e23131fbbf Pass adaptive_stream when connecting (#109)
* impl

* ignore fvm files

* Update pubspec.lock

* comment
2022-04-26 02:57:24 +09:00
Hiroshi HorieandGitHub 84b9ef130f Change AudioSession configuration logic (#104)
* impl

* ref

* ref
2022-04-08 01:58:49 +09:00
Hiroshi HorieandGitHub 48754e1672 [Protocol v7] Remote unpublish & expose permissions (#101)
* fix

* impl

* oldPermissions

* mods
2022-04-04 16:09:15 +09:00
Hiroshi Horie 0a339b6252 organize video types 2022-02-25 15:45:46 +09:00
davidliuandGitHub 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 HorieandGitHub 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 a6a4e18551 override toString() for events 2022-01-11 00:40:20 +07:00
Hiroshi HorieandGitHub 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 44a42eafea name field for participant 2022-01-02 01:38:54 +07:00
Hiroshi Horie b8e50f9276 more docs & clean up 2021-12-23 03:48:19 +07:00
Hiroshi Horie 94b4b07e92 fix reconnect logic 2021-12-23 01:50:58 +07:00
Hiroshi Horie 91f73bcdab remove unnecessary code 2021-12-22 03:13:35 +07:00
Hiroshi Horie 1ed757aca0 organize dirs 2021-12-21 17:57:18 +07:00
Hiroshi HorieandGitHub fa063ac352 Fix: move waitFor<EngineConnectedEvent> after creating remote participants (#58)
* wait after creating participant

* fix

* wait after creating remote participants

* remove unnecessary line

* revert additional checks (unlikely to be required)

* clean up logs

* revert comment
2021-12-16 14:29:42 +07:00
Hiroshi Horie e015f62b9c more logging 2021-12-16 03:30:48 +07:00
Hiroshi HorieandGitHub 28e7091325 Send video layers (#55)
* signal method

* videoLayers param on addTrack request

* screen share presets

* implemented

* cleaner syntax
2021-12-15 19:09:38 +07:00
Hiroshi Horie a82c5a7a50 VideoDimensions instead of width height 2021-12-13 21:49:42 +07:00
Hiroshi HorieandGitHub b6494a8ede Default capture options (#51)
* default capture options

* separate camera & screen share capture options
2021-12-13 02:21:46 +07:00
Hiroshi Horie b91c822fba more docs 2021-12-12 19:09:38 +07:00
Hiroshi Horie 7a8f03963e fix imports 2021-12-10 00:27:43 +07:00
Hiroshi Horie a706a5e1fb organize ConnectOptions RoomOptions RTCConfiguration 2021-12-10 00:23:45 +07:00
Hiroshi Horie 303b6af427 signal events marked internal 2021-12-09 13:25:14 +07:00
Hiroshi Horie 6003258089 more docs 2021-12-09 13:22:03 +07:00
Hiroshi Horie e06936de2d sort imports
`flutter pub run import_sorter:main --no-comments`
2021-12-05 13:44:14 +07:00
Hiroshi HorieandGitHub 77dc98601a Option to unpublish without stopping track (#45)
* implement

* rename

* only for local

* keep option

* no per unpublish option to stop track

* format

* format
2021-12-03 11:06:21 +07:00
Hiroshi Horie 2244e31e5b throw if unknown track type 2021-12-03 02:02:28 +07:00
Hiroshi Horie adc97a154b no casting required for getTrackPublicationBySource 2021-12-03 01:36:22 +07:00
Hiroshi Horie 19869a1575 minor fix 2021-12-03 01:10:40 +07:00
Hiroshi Horie f0995ef85e better type for TrackPublication param 2021-12-03 01:05:52 +07:00
Hiroshi Horie 4c66704427 participant to parent (TrackPublication) 2021-12-03 00:57:42 +07:00
Hiroshi Horie e597e4f2fd move reference to engine to parent (Participant) class 2021-12-03 00:17:03 +07:00
Hiroshi Horie 08d9575ec5 better type for Participant.trackPublications 2021-12-03 00:08:30 +07:00