CloudWebRTC and GitHub
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
CloudWebRTC and GitHub
b63d4bde8a
Room recording event ( #252 )
...
* feat: Add room reocording reminder.
* chore: comment for recording event.
2023-03-08 13:09:04 +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
a60a2e861c
chore: Add simulate for candidate protocol switch. ( #176 )
2022-09-20 17:47:38 +08: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
94b4b07e92
fix reconnect logic
2021-12-23 01:50:58 +07: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
001f688729
Better audio management ( #10 )
...
* add audio_session package
* `AudioManager` initial design
* try to integrate audio manager
* configure audio session
* `DisposeAware`
disposing if already published causes exception.
* organize
* guard flutter_webrtc calls
* websocket async fix
* use `ConnectionState` instead of `_isClosed` and `isReconnecting`
* change create audio track defaults
* update protos
* protocol 3 speaker updates
* fix exception
* emit `RoomDisconnectedEvent` only once
* fix exception
* keep track of local / remote audio tracks
* explicit types
* manage track state
* re-structure audio management
* change defaults
* unpublish all
* use experimental build
* change defaults
* configuring is optional
* call native `RTCAudioSession.setConfiguration`
* defaults adjustment
* iOS only for now
* use lib 92.4515.07
* clean up
* revert audio options for now
* remove pod source
* rename apple related audio
* `createListener` method
* organize native audio
* `SpeakingChangedEvent` only on `Participant`
* refactoring
* fix ios compile
* fix configure audio only for iOS logic
* minor fix & clean up
* change dispose logic
* format protos
* fix unpublishTrack
* `createListener` into a mixin
* simplify
* use flutter_webrtc master
* unpublish for example
* update ios icon
* android icon
* web icon
* favicon
2021-10-01 02:47:18 +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