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
David Zhao and GitHub
2adeb74aa2
Use participantIdentity instead of Sid for track permissions. ( #265 )
2023-04-10 06:27:27 +08:00
cloudwebrtc
8d2220c274
upgrade protocol verstion to v9.
2023-04-07 11:04:15 +08:00
CloudWebRTC and GitHub
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 and GitHub
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 and GitHub
3faa7a2094
fix ice config issues. ( #192 )
...
* fix ice config issues.
* update comment.
* The client has high-priority to set ice settings.
2022-10-19 15:30:49 +08:00
CloudWebRTC and GitHub
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
Hiroshi Horie
566937f630
compatibility with flutter 3.0
2022-05-15 20:56:20 +09:00
Hiroshi Horie and GitHub
5d6e304e40
Trigger reconnect on Publisher PC disconnect also ( #105 )
...
* impl
* clean up _hasPublished
2022-04-09 01:34:26 +09:00
Hiroshi Horie and GitHub
48754e1672
[Protocol v7] Remote unpublish & expose permissions ( #101 )
...
* fix
* impl
* oldPermissions
* mods
2022-04-04 16:09:15 +09:00
Hiroshi Horie and GitHub
88b462432e
Send DC info for syncState ( #88 )
...
* dc private methods
* impl
* pub
* id
* fix test
2022-04-02 15:09:02 +09:00
Hiroshi Horie
0a339b6252
organize video types
2022-02-25 15:45:46 +09:00
Hiroshi Horie and GitHub
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 and GitHub
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 and GitHub
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 and GitHub
9c573f4924
Stream State Update ( #53 )
...
* implemented
* update docs
2021-12-11 14:18:35 +07:00
Hiroshi Horie
a706a5e1fb
organize ConnectOptions RoomOptions RTCConfiguration
2021-12-10 00:23:45 +07:00
Hiroshi Horie and GitHub
1095e25113
Simpler APIs ( #28 )
...
* TrackSource
* remove absolute import
* typo
* get track
* set source enabled
* fix symbol collision
* move to participant
* update proto
* screen share audio
* typo
* format
* change screen share name
2021-11-11 00:20:32 +09:00
Hiroshi Horie and GitHub
d31daa5d8e
Connection quality ( #27 )
...
* update protos
* signal event
* implemented
* format
* implement example
* protocol 5
* icon size
2021-11-06 17:36:47 +09:00
Hiroshi Horie and GitHub
71a21f00b6
Reuse transceivers ( #24 )
...
* protocol 4
* default to v4
* mediaStreamTrack.enabled
* track start
* private constructor
* remote audio/video tracks
* log sdp
* organize imports
2021-10-26 02:46:10 +09:00
Hiroshi Horie and GitHub
48e03b84cb
Create android & web plugins ( #15 )
...
* create android & web plugins
* apply `flutter format .`
2021-10-02 15:20:41 +09:00
Hiroshi Horie and GitHub
6445b8d2a8
Switch to new event system ( #9 )
...
* `SignalEvents` and `synchronized` mode for `EventsListenable`
* cascade syntax
* clean up
* `RoomEvents`
* `ParticipantEvents`
* all events implemented
* make it compile with M1 macs
* dispose logic
* cleaner connect logic
* ask to publish
* fix initial EngineTrackAddedEvent glitch
* fix unpublishTrack bug
* clean up
* better events docs
* organize event types
* clean up
* cleaner wait logic
* wait for event instead of using Completer
* notifyListeners
2021-09-24 23:37:26 +09:00
Hiroshi Horie and GitHub
f4bd82a919
Subscriber as primary ( #8 )
...
* Update protos
* Signal client
* Improve transport
* First implementation
* Fix publish
* Update `PCTransport` for debounce negotiation
* debounce func
* reconnect & events
* Update debounce func
* engine events
* make sure events don't emit after dispose
* prefix flutter_webrtc
* Cleaner `iceServers` update
* don't mutate user provided params
* fix tests
* event manager
* Fix: `Room.onDisconnected` gets fired multiple times
* data publish in example
* cleaner logic
* safer events
* un-prefix with LK
* organize imports
* Clean up
* remove `Tuple`
* `EventsEmitter` can now be directly listened to
`EventsEmitter` extends `EventsListenable`
2021-09-18 00:10:16 +09:00
Hiroshi Horie and GitHub
50f56c5e1e
Simulcast, Screen sharing & Various improvements ( #4 )
...
* Respect `RTCIceTransportPolicy` enum and organize
* Simplify syntax where possible etc.
* Combine `VideoPreset` and `VideoPresets`
* Default values for `ConnectOptions`
* Build URI instead of String manipulation
* Slight modifications to Exception
* `LiveKitTheme` for example
* `VideoEncoding` class
* Organize imports
* First simulcast implementation
* Remove unnecessary try-catches
* Update Android settings
* Remember uri and token
* example improvements
* `fit` parameter for VideoTrackRenderer
* Simulcast option for example
* Pass `defaultPublishOptions`
* Show only `VideoQuality`
* Pass tests
* Better buildUri logic
* Named parameter to positional
* Explicit imports
* `VideoParameter` instead of `VideoPreset`
* Use `mediaTrack.getSettings` when possible
* Safer dispose logic
* Safer `PCTransport`
Update transport.dart
* Synchronized events for `SignalClient`
* Use logger instead of print
* Make example compile for iOS
* First screen share implementation
* Make example work with screen share
* Example improvement
* Code optimization
* Don't depend on web_socket_channel
* Fix: Unpublish track bug
* Show participant mute state & identity
* Update protos
* Remote mute/unmute
* iOS Background mode
* Separate `createCameraTrack` and `createScreenTrack`
* Clean up
* PB fix
* format
* Fix analyzer warning
* Android clean up
* Update README.md
* Clean up
2021-09-11 03:14:14 +09:00
Hiroshi Horie and GitHub
ab31ddabb9
Apply Flutter best practices [Non-Breaking] ( #2 )
...
* Add flutter_lints package
* Use key in widget constructors
lint: use_key_in_widget_constructors
* Unnecessary new keyword
lint: unnecessary_new
* Prefer const with constant constructors
* Exclude protobuf files from analyzer
* Private field could be final
* Annotate overridden members
* Use initializing formals when possible
* Don't access members with `this` unless avoiding shadowing
* Prefer is! operator
* Use isEmpty instead of length
* Use collection literals when possible
* Revert comment changes
* Cleaner null testing
* Misc fixes
* Avoid using `forEach` with a function literal
* Prefer `final` over `var` where applicable
* Enforce stricter type-checking
* Ignore VS Code files
* Flutter format
* Prefer using lowerCamelCase for constant names
* flutter format -l 100
* Disable `avoid_print` for examples
* Slight improvements to example
Should solve lint error: no_logic_in_create_state
2021-08-31 16:35:07 +09:00
David Zhao
0bd2679e94
signal & webrtc connections established
2021-07-23 23:56:06 -07:00
David Zhao
0a682f7831
checkpoint - participant & tracks initial stubs
2021-07-20 23:08:37 -07:00