Commit Graph
77 Commits
Author SHA1 Message Date
Hiroshi Horie f9c2622b4e fix updateTrack bug 2021-11-22 21:26:18 +07:00
Hiroshi HorieandGitHub 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
davidliuandGitHub 4a59a1e6d5 android screenshare example and touch ups (#31) 2021-11-17 17:11:46 +09:00
Hiroshi Horie e3879d6025 format 2021-11-11 00:26:48 +09:00
Hiroshi Horie a5d9620cba Merge branch 'main' of https://github.com/livekit/client-sdk-flutter 2021-11-11 00:21:17 +09:00
Hiroshi HorieandGitHub 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 f3fad79793 more logging 2021-11-10 03:18:42 +09:00
Hiroshi Horie 5f813d7fbb prepare for 0.5.3 2021-11-09 21:14:15 +09:00
Hiroshi HorieandGitHub 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 721b04753a remove unnecessary cast 2021-10-28 15:56:15 +09:00
Hiroshi Horie b42257473b LocalTrackPublishedEvent LocalTrackUnpublishedEvent 2021-10-28 15:55:25 +09:00
Hiroshi Horie 79a2d20702 optimizeVideo option 2021-10-28 02:57:15 +09:00
Hiroshi Horie a0a9acc9d9 example app: allow scroll in connect page 2021-10-28 02:14:52 +09:00
Hiroshi Horie 8d80a9296a TrackPublishedEvent for local tracks 2021-10-27 22:05:33 +09:00
Hiroshi Horie a7ff6e951a emit TrackStreamUpdatedEvent 2021-10-27 18:38:31 +09:00
Hiroshi Horie 4779b3306c dispose previous stream also 2021-10-26 23:29:08 +09:00
Hiroshi Horie 18d12613f6 change restartTrack sequence 2021-10-26 23:25:11 +09:00
Hiroshi HorieandGitHub 6240457333 Option to control DTX (#25)
* protocol 4

* default to v4

* mediaStreamTrack.enabled

* track start

* private constructor

* remote audio/video tracks

* log sdp

* organize imports

* dtx option (default true)
2021-10-26 02:53:34 +09:00
Hiroshi HorieandGitHub 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 330338afbd don't disable audio tracks 2021-10-26 00:44:44 +09:00
Hiroshi Horie 8c10a39ed0 _disabled to _enabled 2021-10-25 23:31:44 +09:00
Hiroshi HorieandGitHub 16910cae25 Video optimizations (#18)
* use events for `VideoTrackRenderer`

* logger

* implemented visibility detection

* optimize code with 1 param debounce func

* stop pending visibility event when disposed

* clean up

* mark internal

* report to track

* call dispose on pub and track

* use internal events to receive visibility events

* clean up visibility for disposed track

* listen to track visibility events on pub

* re-design

* quickly re-enable

* clean up

* clean up
2021-10-25 18:34:02 +09:00
Hiroshi Horie 6d4f32233f format 2021-10-24 02:18:43 +09:00
Hiroshi Horie 45a8667aa6 allow path segments in url
(allow server uris hosted not at the root)
2021-10-24 02:18:26 +09:00
Hiroshi Horie 6a43f3394c call dispose on pub and track 2021-10-22 23:14:26 +09:00
Hiroshi Horie 5efb199379 update protos 2021-10-22 22:00:22 +09:00
Hiroshi Horie ab028195de mark internal 2021-10-22 03:30:05 +09:00
Hiroshi Horie 4b29534e95 remove mute/unmute from example 2021-10-22 03:06:24 +09:00
Hiroshi Horie a1c80dee83 Revert "mute new mediaTrack if pub is muted"
This reverts commit 8a68810138.
2021-10-22 02:48:06 +09:00
Hiroshi Horie 8a68810138 mute new mediaTrack if pub is muted 2021-10-21 21:37:06 +09:00
Hiroshi HorieandGitHub 8cd8edb617 Fix track subscribe (#20)
* fixed

* format

* set track to null

* rearrange
2021-10-21 06:14:21 +09:00
Hiroshi Horie 64f0d76536 format 2021-10-21 01:44:44 +09:00
Hiroshi Horie 6ff0bde0f2 fix default options not passed to room 2021-10-21 01:30:09 +09:00
Hiroshi Horie 666380d39b clean up 2021-10-20 21:16:13 +09:00
Hiroshi Horie 4d62487f0f pass checks 2021-10-20 05:15:42 +09:00
Hiroshi Horie a43e74ed70 fix android hardware encoder issue 2021-10-20 05:09:50 +09:00
Hiroshi Horie 31bb32f405 change defaults to support voice isolation 2021-10-03 23:05:38 +09:00
Hiroshi Horie ec4909d68b fix analyzer warning 2021-10-02 15:36:34 +09:00
Hiroshi HorieandGitHub 48e03b84cb Create android & web plugins (#15)
* create android & web plugins

* apply `flutter format .`
2021-10-02 15:20:41 +09:00
David ZhaoandGitHub 9518a2f123 pass SDK and version number to server, v0.5.0 (#14)
* pass SDK and version number to server, v0.5.0

* missing files and formatting

* make format

* line length comment for VSCode
2021-10-01 13:35:32 -07:00
Hiroshi HorieandGitHub 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 HorieandGitHub 84618cf56f Fix compile iOS issue (#12)
* fix ios compile
2021-10-01 03:57:16 +09:00
Hiroshi HorieandGitHub 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
David Zhao ec17907cdc remove RoomEvent from SpeakingChangedEvent, participant-only 2021-09-30 00:29:51 -07:00
David Zhao 9dd4af5e6c fix unknown signal message logging to not crash 2021-09-28 17:34:58 -07:00
Hiroshi HorieandGitHub 4960459c07 Explicit type for listeners (#11) 2021-09-28 15:31:54 +09:00
Hiroshi HorieandGitHub 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 HorieandGitHub 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 HorieandGitHub 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 5c82ee224b version bump 0.4.0 2021-08-31 09:29:53 -07:00