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
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
e3f78c2b4c
export logger level api. ( #244 )
2023-03-02 12:06:12 +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
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
Hiroshi Horie
566937f630
compatibility with flutter 3.0
2022-05-15 20:56:20 +09:00
Hiroshi Horie
377e0c5209
export advanced types
2022-05-04 11:52:07 +09:00
Hiroshi Horie
0a339b6252
organize video types
2022-02-25 15:45:46 +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
1ed757aca0
organize dirs
2021-12-21 17:57:18 +07:00
Hiroshi Horie
d20a6e2ddb
fix compiling since VideoQuality moved to another file
2021-12-07 12:30:46 +07:00
Hiroshi Horie
a409ed0aca
fix exports
2021-12-02 14:00:46 +07:00
Hiroshi Horie
2cd3198cdd
organize track & pub to directory
2021-11-30 17:29:18 +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
Hiroshi Horie
b67c807fd5
Organize events ( #13 )
...
* move internal events & remove unused events
* `TrackUnpublishedEvent` for local tracks
* update example since we have local track unpublish events
* use flutter_webrtc 0.6.9
2021-10-01 16:56:36 +09:00
Hiroshi Horie
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
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
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
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
David Zhao
d011bc7d3d
Documentation
2021-08-30 15:31:12 -07:00
David Zhao
8cd7546d2f
minor tweaks & cleanup
2021-08-04 22:52:16 -07:00
David Zhao
aec2003140
video rendering, local track creation
2021-08-03 10:25:00 -07:00
David Zhao
0bd2679e94
signal & webrtc connections established
2021-07-23 23:56:06 -07:00
David Zhao
57c2ea91e5
Room implementation, library exports
2021-07-23 16:11:38 -07:00
David Zhao
941bbbdc32
initial commit, with generated protobufs
2021-07-16 15:29:06 -07:00