Commit Graph
26 Commits
Author SHA1 Message Date
Hiroshi HorieandGitHub e23131fbbf Pass adaptive_stream when connecting (#109)
* impl

* ignore fvm files

* Update pubspec.lock

* comment
2022-04-26 02:57:24 +09:00
Hiroshi HorieandGitHub 7c16d2f3ec Update param computation (#87)
* import sorter config

* organize video types

* ignore import sort for proto files

* equality for video types

* impl

* adjust defaults

* max
2022-03-01 10:45:24 +09:00
Hiroshi Horie 38d47fd72d make video types comparable 2022-02-25 16:41:58 +09:00
Hiroshi Horie 0a339b6252 organize video types 2022-02-25 15:45:46 +09:00
davidliuandGitHub c374283f45 Ensure even video dimensions (#82)
gotcha, I think we may have to do some work iOS later to properly grab the actual capture dimensions rather than rely on the dimensions we request, to properly do the calculations.

That said, I think m97 is now handling the odd dimensions properly, so I don't think we'll need this fix anymore.

As for adaptOutputFormat, flutter_webrtc is already doing that (though it doesn't seem to prevent the crash on m93). Should native android use this as well?
2022-02-16 01:15:41 +09:00
Hiroshi Horie b504afc612 fix web platform connect issue 2022-02-10 21:27:17 +07:00
davidliuandGitHub 9bd546b9a2 tests and mocks for e2e testing (#78)
* tests and mocks for e2e testing

* formatting

* fix analyze errors
2022-02-06 20:36:42 +09:00
Hiroshi Horie cf476e365b remove client side ua parsing 2022-01-31 20:03:14 +07:00
davidliuandGitHub 77b6a60244 Fix crash on android in portrait (#74) 2022-01-25 22:00:58 -08:00
Hiroshi HorieandGitHub 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 HorieandGitHub 56aeacc291 Capture client info (#71) 2022-01-18 16:16:05 +07:00
Hiroshi Horie 1ed757aca0 organize dirs 2021-12-21 17:57:18 +07:00
Hiroshi HorieandGitHub 28e7091325 Send video layers (#55)
* signal method

* videoLayers param on addTrack request

* screen share presets

* implemented

* cleaner syntax
2021-12-15 19:09:38 +07:00
Hiroshi Horie a82c5a7a50 VideoDimensions instead of width height 2021-12-13 21:49:42 +07:00
Hiroshi Horie a706a5e1fb organize ConnectOptions RoomOptions RTCConfiguration 2021-12-10 00:23:45 +07:00
Hiroshi Horie 5f813d7fbb prepare for 0.5.3 2021-11-09 21:14:15 +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 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 45a8667aa6 allow path segments in url
(allow server uris hosted not at the root)
2021-10-24 02:18:26 +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 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 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