43 Commits

Author SHA1 Message Date
Hiroshi Horie
3fd7731eb0 Add audio renderer API (#1004)
Public API to get audio frames if user desires .
2026-03-06 13:22:40 +09:00
Hiroshi Horie
bef5a00f43 Fix duplicate track publish (#1009)
Use a SerialRunner pattern similar to Swift SDK.
Resolves https://github.com/livekit/client-sdk-flutter/issues/419,
https://github.com/livekit/client-sdk-flutter/issues/501
2026-03-02 21:36:56 +09:00
Hiroshi Horie
55bfa208a9 Add web support for pre-connect audio buffer (#1000)
- Extract `AudioFrameCapture` abstraction with conditional imports
(native/web)
- Implement web audio capture using AudioWorklet API
2026-02-26 10:27:23 +09:00
Hiroshi Horie
db96f8fe4e Minor disposer improvement (#949)
Ensure all dispose functions are executed even if one throws.
2025-12-25 18:29:24 +09:00
Hiroshi Horie
24c2005f78 Session api (#909) 2025-12-02 17:15:46 +09:00
Hiroshi Horie
b553e3e1b7 Fix pending tracks race condition (#928) 2025-11-25 22:43:52 +09:00
Lukas Klingsbo
8aad9b4a1e fix: CancelListenFunc should have a declared return type (#908)
`CancelListenFunc` should have a declared return type, otherwise
`dynamic` will start trickling into the users' of this code bases.
2025-11-04 20:37:22 +07:00
Hiroshi Horie
845c0a1502 Token source (#901) 2025-11-04 20:13:23 +07:00
Hiroshi Horie
9f790be575 Data channel reliability (#871) 2025-10-30 11:50:34 +07:00
Hiroshi Horie
8a1900bba1 Pre-connect audio buffer (#830)
Implemented for Darwin & Android
Requires
a192ea92fb
2025-10-28 09:46:01 +07:00
Hiroshi Horie
f3563a123b add reusable completer utility (#904) 2025-10-28 01:36:39 +07:00
Hiroshi Horie
08351c4465 Fix events emit order (#902)
Fixes events emit order after async related fixes
2025-10-24 03:28:33 +07:00
xianshijing-lk
438d60b23e move the accessToken to header (#891)
Move the access_token to header in the format of 'Authorization':
'Bearer $token'

---------

Co-authored-by: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com>
2025-10-20 18:25:53 +07:00
CloudWebRTC
f7384fb2e7 feat: Data Packet Cryptor. (#873) 2025-10-16 10:04:17 +08:00
Hiroshi Horie
f57641b7b8 chore: update format (#889) 2025-10-14 20:24:51 +08:00
Hiroshi Horie
579bfa40ad Fix stream progress (#884)
Make sure progress is within 0.0 ~ 1.0
2025-09-27 23:57:21 +08:00
Hiroshi Horie
a4871f5d8a Enum for TextStreamOperationType (#882) 2025-09-26 23:02:02 +08:00
Hiroshi Horie
ad106c09f6 Fix missing properties for TextStreamInfo (#881)
Summary of changes:
1. Added new properties to TextStreamInfo: replyToStreamId,
attachedStreamIds, version, generated, operationType
2. Enhanced incoming stream handling: Properly extracts all metadata
from protocol headers
3. Enhanced outgoing stream handling: Correctly populates TextStreamInfo
with all options
4. Added comprehensive test coverage: Tests verify the reply
functionality works correctly
5. No breaking changes: All new properties are optional/defaulted

Fixes: https://github.com/livekit/client-sdk-flutter/issues/818
2025-09-26 22:52:33 +08:00
Hiroshi Horie
29b2e8d2af Update lint package & rules (#869)
* Updated lints package to 6.0.0.
* New rules: `discarded_futures` & `prefer_final_locals`.
* Did some quick maintenance to some lint errors.

There's quite a few "disregarded futures" (Un-awaited Futures) we should
clean them up.
2025-09-08 15:48:10 +08:00
Hiroshi Horie
777fd4355d Fix missing attributes in data stream (#865)
* Fix missing attributes
* Update tests
2025-09-04 17:25:44 +08:00
CloudWebRTC
e69bb1fe51 release: 2.5.0+hotfix.3 (#841)
Co-authored-by: Hiroshi Horie <548776+hiroshihorie@users.noreply.github.com>
2025-08-27 20:59:08 +08:00
CloudWebRTC
95ae7ac94f feat: data stream. (#729)
* feat: data stream.

* update.

* format.

* unit test.

* more test.

* test for send text with files.

* test.

* dart format.

* dar format.

* update.

* dart format.

* fix.

* update.

* dart format.

* update.

* upgrade protocol.

* add streamBytes.

* rename.

* fix slipUtf8 for multi-byte character (e.g. an emoji).

* cleanup.

* import sorter.

* remove unused dependency.
2025-04-11 20:11:19 +08:00
CloudWebRTC
0405f5b0c9 feat: RPC. (#682)
* feat: RPC.

* wip.

* add livekit_metrics to proto generate.

* wip.

* move rpc methods to room.

* update.

* wip.

* wip.

* fix.

* error handle.

* more test case.

* test.

* wip.

* update.

* fix flutter analyzer.

* raises exception when handler already existed.

* mark rpc acks/responses as private.

* update.
2025-02-19 10:58:14 +08:00
CloudWebRTC
05800e7599 fix: Fixed confusing room options causing settings to overwrite. (#570)
* fix: Fixed confusing room options causing settings to overwrite.

* if publishOptions.videoEncoding is not specified, use the default encoding

* fix.

* revert changes.

* Change VideoParameters.encoding to optional.

* update.

* Deprecate some APIs in Room.

* update.

* update.

* Update build.yaml

* update.

* Update build.yaml
2024-08-09 21:37:43 +08:00
CloudWebRTC
d750ccdf2b update lints to 4.0.0. (#563) 2024-08-02 11:34:20 +08:00
CloudWebRTC
7414f0607b update Copyright 2023 => 2024. (#452)
* update Copyright 2023 => 2024.

* Update NOTICE

* revert.
2024-01-15 11:15:56 +08:00
CloudWebRTC
63be320073 Use enum VideoQuality/TrackType without exporting PBType. (#444)
* Use enum VideoQuality/TrackType without exporting PBType.

* update.
2024-01-08 19:25:15 +08:00
CloudWebRTC
668e22fd24 Rename some parameters. (#435)
* rename some parameters.

* fix.

* fix.

* update.

* mapping RemoteParticipant by identites.
2024-01-08 19:07:25 +08:00
CloudWebRTC
0fcc341450 Improve reconnect logic for websocket (#406)
* Capture possible exceptions when closing the room at any time and the internal process is busy.

* fix.

* imporve reconnect logic.

* fix canReconnect logic on SignalLeaveEvent.

* Monitor Connectivity changes and automatically reconnect.

* update.

* Improve PCs reconnection speed.

* support Manual subscription.

* update.

* simple grid view for test.

* update pubspec.

* Fixed handleParticipantDisconnect not emitting for existing partcicpant.

* Trigger full Reconnect when peerConnection Failed.

* update grid view.

* add checkIfDesposed.

* update.

* remove checkIfDisposed.

* fixed rendering exception.

* update.

* update.

* fix flutter analyze.

* fix reconnect test.

* update.

* update.

* revert changes for example app.

* update.

* Refactored reconnect logic to support connectivity/network change checking.

* update.

* update.

* cleanup.

* cleanup.

* sendLeave for room.disconnect.

* fix for web.

* fix for web.

* dart run import_sorter:main.

* update.

* fix.
2023-12-21 21:31:29 +08:00
David Zhao
7eaa3ec0af Add license headers (#325) 2023-07-27 19:35:23 -07:00
CloudWebRTC
bcfea1e625 handle combined participant update. (#130)
* handle combined participant update (WIP).

* always emit events for new publications.

* update info for exist participant.

* fix tests.

* update.

* Move emitWhenConnected to Room layer.
2022-07-04 11:11:56 +08:00
Hiroshi Horie
e23131fbbf Pass adaptive_stream when connecting (#109)
* impl

* ignore fvm files

* Update pubspec.lock

* comment
2022-04-26 02:57:24 +09:00
Hiroshi Horie
88b462432e Send DC info for syncState (#88)
* dc private methods

* impl

* pub

* id

* fix test
2022-04-02 15:09:02 +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
Hiroshi Horie
bbd3b5e18e fix analyzer error 2022-02-10 21:36:23 +07:00
davidliu
29c2117453 handle room update message (#79) 2022-02-07 12:37:47 +09:00
davidliu
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
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
David Zhao
1ca8b3fa0c fix analyze warnings 2021-08-04 23:21:54 -07:00
David Zhao
86fc303e61 updated proto, publishing details 2021-08-04 11:45:11 -07:00
David Zhao
941bbbdc32 initial commit, with generated protobufs 2021-07-16 15:29:06 -07:00