40 Commits

Author SHA1 Message Date
CloudWebRTC 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
CloudWebRTC e12dd60f5f update CI. (#287)
* update.

* update.

* pub update.

* fix import_sorter.

* fix analyze.
2023-05-17 13:44:28 +08:00
CloudWebRTC 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 <theo.monnom@outlook.com>

* 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 <theo.monnom@outlook.com>
2023-04-27 17:54:32 +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 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
Hiroshi Horie e23131fbbf Pass adaptive_stream when connecting (#109)
* impl

* ignore fvm files

* Update pubspec.lock

* comment
2022-04-26 02:57:24 +09:00
Hiroshi Horie d06cb568f2 deprecate setter for videoQuality
instead, async func is recommended since it can be awaited (for future implementations)
2022-03-01 11:30:04 +09:00
Hiroshi Horie 0a339b6252 organize video types 2022-02-25 15:45:46 +09:00
davidliu 0d92c569df update track settings (#77) 2022-02-03 20:27:26 +09:00
Hiroshi Horie 4aa0e0f427 Use ParticipantTracks for UpdateSubscription (#75)
* impl

* fix
2022-01-26 17:57:34 +07: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 7799e35c13 deprecate inconsistencies in event properties 2022-01-11 00:51:16 +07:00
Hiroshi Horie a6a4e18551 override toString() for events 2022-01-11 00:40:20 +07:00
Hiroshi Horie 0f41aed902 deprecate setter for enabled, organize RemoteTrackPublication 2022-01-11 00:07:35 +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 cc7db0ba73 minor internal change 2022-01-08 17:02:06 +07:00
Hiroshi Horie 677ad94e75 more logging for dynacast 2022-01-03 16:37:51 +07:00
Hiroshi Horie ea5c324328 Dynacast (#62)
* signal

* engine

* dynacast option

* implement

* update for non simulcast

* use low when rid is null

* firefox comment
2022-01-03 09:02:06 +07:00
Hiroshi Horie 252ee3ed3b make properties read-only 2022-01-01 13:31:07 +07:00
Hiroshi Horie 45a567da70 expose mime type 2022-01-01 13:19:03 +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 b8e50f9276 more docs & clean up 2021-12-23 03:48:19 +07:00
Hiroshi Horie fc2890e94e move internal types 2021-12-23 03:21:56 +07:00
Hiroshi Horie 94b4b07e92 fix reconnect logic 2021-12-23 01:50:58 +07:00
Hiroshi Horie 1ed757aca0 organize dirs 2021-12-21 17:57:18 +07:00
Hiroshi Horie f458f052a5 Fix: RemoteTrack's initial mute state (#59) 2021-12-17 12:26:33 +07:00
Hiroshi Horie a82c5a7a50 VideoDimensions instead of width height 2021-12-13 21:49:42 +07:00
Hiroshi Horie b85ecc1588 Fix: mute Remote mute/unmute events (#54)
* fix

* format
2021-12-12 14:01:58 +07:00
Hiroshi Horie 2b88ffd5f9 better logging for mute 2021-12-11 18:26:58 +07:00
Hiroshi Horie 9c573f4924 Stream State Update (#53)
* implemented

* update docs
2021-12-11 14:18:35 +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 d20a6e2ddb fix compiling since VideoQuality moved to another file 2021-12-07 12:30:46 +07:00
Hiroshi Horie c38f192a07 generics instead of covariant implementing for TrackPublication 2021-12-03 01:53:59 +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 9ef84dd4e2 no casting required for mute/unmute 2021-12-03 01:01:01 +07:00
Hiroshi Horie 4c66704427 participant to parent (TrackPublication) 2021-12-03 00:57:42 +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 2cd3198cdd organize track & pub to directory 2021-11-30 17:29:18 +07:00