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
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
0a339b6252
organize video types
2022-02-25 15:45:46 +09:00
Hiroshi Horie
a6a4e18551
override toString() for events
2022-01-11 00:40:20 +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
1ed757aca0
organize dirs
2021-12-21 17:57:18 +07:00
Hiroshi Horie
b91c822fba
more docs
2021-12-12 19:09:38 +07:00
Hiroshi Horie
a706a5e1fb
organize ConnectOptions RoomOptions RTCConfiguration
2021-12-10 00:23:45 +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 Horie
adc97a154b
no casting required for getTrackPublicationBySource
2021-12-03 01:36:22 +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
Hiroshi Horie
09eb52bc55
use object type instead of checking kind
2021-12-02 07:15:59 +07:00
Hiroshi Horie
2cd3198cdd
organize track & pub to directory
2021-11-30 17:29:18 +07:00
Hiroshi Horie
11a1d22e7f
format
2021-11-30 16:04:37 +07:00
Hiroshi Horie
9e0a3b19fe
return casted list for videoTracks/audioTracks/subscribedTracks
2021-11-30 12:37:13 +07:00
Hiroshi Horie and GitHub
4f0973ce66
Match muted behavior with JS SDK ( #32 )
...
* attempt 1
* implement
* clean up
* clean up
* cleaner code
* mute was opposite
* fix suggestion
* fix local pub muted
* update example
* update pubs
* format
2021-11-20 02:39:52 +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
8d80a9296a
TrackPublishedEvent for local tracks
2021-10-27 22:05:33 +09:00
Hiroshi Horie
ab028195de
mark internal
2021-10-22 03:30:05 +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
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
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
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
d193b9fb7f
Participant ChangeNotifier
2021-07-25 22:22:11 -07:00
David Zhao
a47c50c3c1
Room to extend ChangeNotifier
2021-07-25 00:05:48 -07:00
David Zhao
b18c37fd1a
implemented tracks, local & remote participants
2021-07-21 23:30:24 -07:00
David Zhao
0a682f7831
checkpoint - participant & tracks initial stubs
2021-07-20 23:08:37 -07:00