Commit Graph
28 Commits
Author SHA1 Message Date
CloudWebRTCandGitHub abd6bb32b6 feat: handle reconnect response to re-configuration PCs. (#255)
* feat: handle reconnect response to re-configuration PCs.

* chore: fn rename.

* fmt: format proto/*.dart.

* update.
2023-03-27 09:20:18 +08:00
CloudWebRTCandGitHub c74e6777d8 feat: Forward leave reason of disconnected events. (#250)
* feat: Forward leave reason of disconnected events.

* fix analyze.

* chore: print room disconnect reason when event.reason != null.

* chore: rename InternalDisconnectReason => ClientDisconnectReason.
2023-03-07 17:54:18 +08:00
CloudWebRTCandGitHub 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 HorieandGitHub ff65370cbc Automatic mirrorMode for VideoView (#119)
* update protos

* impl 1

* re-compute when options update

* minor fix
2022-05-17 10:51:38 +09:00
Hiroshi HorieandGitHub 48754e1672 [Protocol v7] Remote unpublish & expose permissions (#101)
* fix

* impl

* oldPermissions

* mods
2022-04-04 16:09:15 +09:00
Hiroshi HorieandGitHub cd4a3f5c8a Simplify internal events (#100)
* simplify internal events

* simplify
2022-04-03 12:35:08 +09:00
Hiroshi Horie 99460dd436 EngineConnectionStateUpdatedEvent instead of individual events 2022-03-04 20:10:28 +09:00
Hiroshi Horie 21591e46e3 newState and oldState on ConnectionStateUpdatedEvent 2022-03-04 19:38:25 +09:00
Hiroshi Horie 0a339b6252 organize video types 2022-02-25 15:45:46 +09:00
davidliuandGitHub 29c2117453 handle room update message (#79) 2022-02-07 12:37:47 +09:00
Hiroshi HorieandGitHub 6dc9536c83 Server refreshed token (#73) 2022-01-25 10:46:46 +07: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 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 HorieandGitHub fed657adae Wait for data channel to open (#67)
* impl

* log
2022-01-07 14:34:57 +07:00
Hiroshi HorieandGitHub ea5c324328 Dynacast (#62)
* signal

* engine

* dynacast option

* implement

* update for non simulcast

* use low when rid is null

* firefox comment
2022-01-03 09:02:06 +07:00
Hiroshi HorieandGitHub 38328c5e0d Fix: Visibility Optimization randomly not working (#65)
* use widget id instead of state id

* ignore local video view events

* switch remote view visibility also

* use Key for a reliable id

* remove local check

* clean up

* redesign

* check mounted

* remove mount check

* more optimization

* quick wake up

* mark internal

* rename to adaptiveStream
2022-01-01 12:59:24 +07:00
Hiroshi Horie b8e50f9276 more docs & clean up 2021-12-23 03:48:19 +07:00
Hiroshi Horie fc2890e94e move internal types 2021-12-23 03:21:56 +07:00
Hiroshi Horie 94b4b07e92 fix reconnect logic 2021-12-23 01:50:58 +07:00
Hiroshi Horie cccd9b5b0f signal & engine events marked internal 2021-12-12 17:55:31 +07:00
Hiroshi HorieandGitHub b85ecc1588 Fix: mute Remote mute/unmute events (#54)
* fix

* format
2021-12-12 14:01:58 +07:00
Hiroshi Horie 2b88ffd5f9 better logging for mute 2021-12-11 18:26:58 +07:00
Hiroshi HorieandGitHub 9c573f4924 Stream State Update (#53)
* implemented

* update docs
2021-12-11 14:18:35 +07:00
Hiroshi Horie 303b6af427 signal events marked internal 2021-12-09 13:25:14 +07:00
Hiroshi Horie e06936de2d sort imports
`flutter pub run import_sorter:main --no-comments`
2021-12-05 13:44:14 +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
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 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