Commit Graph

3574 Commits

Author SHA1 Message Date
Raja Subramanian a9849340c3 Avoid logger data race. (#4284)
Also defer promise channel close.
2026-02-04 01:35:44 +05:30
Raja Subramanian 9701662757 Do not hold lock when creating buffer (#4283)
* create buffer outside lock

* more debug

* initialize on new buffer

* clean up

* address CodeRabbit catch
2026-02-04 00:55:49 +05:30
Raja Subramanian 6b68e3d536 Create buffer if needed when a PLI is requested. (#4282)
Useful across relay where a PLI may be requested before a buffer exists and
needs to be created.
2026-02-03 18:34:38 +05:30
Paul Wells 3cca718072 use separate allocation for signal stats telemetry guard (#4281) 2026-02-03 02:13:49 -08:00
Raja Subramanian d2bae34d53 refresh telemetry guard on participant move (#4280) 2026-02-03 15:34:16 +05:30
Paul Wells 333f0349d1 clear reference guard when resetting signal stats (#4279) 2026-02-03 01:54:03 -08:00
Raja Subramanian d1bab17b76 Add session duration and participant kind to closing log. (#4277)
To allow using "participant closing" log entry for calculating things
like session duration by paricipant kind or some other client SDK based
attribute.
2026-02-03 07:07:24 +05:30
Raja Subramanian 1e689e1a24 Reducing some info level logs. (#4274)
* Reducing some info level logs.

Also, relaxing the check for runaway RTCP receiver report to allow for
rollover to catch up if it is not too far away.

* set logger
2026-02-02 10:54:03 +05:30
David Zhao 88facc0235 adds a test to ensure agent worker errors cause disconnection (#4273) 2026-01-31 14:19:19 -08:00
cnderrauber 76a41a7a8c Generate config flags (#4268)
Fix #4262
2026-01-29 15:04:01 +08:00
Paul Wells 700e1788f2 require participant broadcast when metadata/attributes are set in token (#4266) 2026-01-26 14:22:30 -08:00
cnderrauber b61799ecd8 Ignore parse addr error when add remote candidate (#4264) 2026-01-26 14:37:02 +08:00
cnderrauber 01bd966ff8 Add silent frame for pcmu/a (#4258)
* Add silent frame for pcmu/a

* use red

* solve comment
2026-01-21 16:11:08 +08:00
Anunay Maheshwari 0c33b8c671 chore: move codecs/mime stuff to protocol (#4255) 2026-01-20 20:54:32 +05:30
Ryan Gaus 165c17358a Update livekit protocol to v1.44.0 (#4254) 2026-01-19 14:12:37 +11:00
Nishad 343f12b88f Wrapping SIP errors for invalid argument and not found (#4253) 2026-01-16 12:38:44 -08:00
Raja Subramanian aea044c5cb Defer setting clock rate in RTPStats module till codec is bound. (#4250)
With audio simulcast codecs, it is possible that the clock rate of the
primary codec is different from the secondary codec. If a subscriber
binds to the secondary codec, the clock rate should be set correctly. Do
it at bind time.
2026-01-15 22:08:50 +05:30
Raja Subramanian d9f716c14a FIx receiver restart race (#4248) 2026-01-15 19:54:20 +05:30
Raja Subramanian 0508ee9f9c remove copy/paste left over line (#4246) v1.9.11 2026-01-15 12:13:33 +05:30
Raja Subramanian 40408407ca Release v1.9.11 (#4245)
Have copied over the WARNING note for v1.9.10 from the releases page
https://github.com/livekit/livekit/releases/tag/v1.9.10 to the
CHANGELOG.

Also adding a note for this release about previous release being bad.
2026-01-15 12:03:11 +05:30
Raja Subramanian f867550716 Do not remove participant from cache on disconnect. (#4241)
Resuming participants need to know about participants disconnected
during resume.

Reverts https://github.com/livekit/livekit/pull/4234
2026-01-14 20:18:58 +05:30
Raja Subramanian a35a6ae751 Add participant option for data track auto-subscribe. (#4240)
* Add participant option for data track auto-subscribe.

Default disabled.

* protocol update to use data track auto subscribe setting

* deps
2026-01-14 13:22:43 +05:30
Nishad 07572511ba Wrapping the invalid request errors for CreateSipParticipant (#4239) 2026-01-13 17:37:13 -08:00
Denys Smirnov 843d8c3ea1 Update Pion transport package. (#4237)
* Update Pion transport package.

* Update mediatransportutil package.
2026-01-13 19:56:41 +02:00
Raja Subramanian a05690d2b2 Changing field naming of data track packet (#4235)
S, F -> Start, Final of frame

changed from

F, L -> First, Last of frame as `F` could be interpreted as `Final`
also.
2026-01-13 09:42:53 +05:30
Raja Subramanian c40150085a Clear participant version cache on disconnect (#4234)
* debug participant update

* more debug

* context logger

* log participant info

* more logging

* clear participant cache on disconnect

* clean up

* clean up
2026-01-13 09:36:09 +05:30
Raja Subramanian 18db4ec146 Log modified timeout of API context. (#4232) 2026-01-12 15:53:53 +05:30
Raja Subramanian ac20ccda53 Log timeout in API. (#4231)
* Log timeout in API.

* make a reset function
2026-01-12 11:22:39 +05:30
Raja Subramanian 541a7d6c5b Change some logs to debugw (#4229) 2026-01-09 16:11:54 +05:30
Raja Subramanian 52ab3374c6 Return on SDP fragment read error. (#4228) 2026-01-09 14:36:41 +05:30
Raja Subramanian 7fae5ac9e6 Do not restart receiver on codec change mid-session. (#4225)
* Do not restart receiver on codec change mid-session.

This is not supported and was an erroneous change during the
receiver_base/buffer_base + RTP stream restart consolidation. Also make
the codec munger creation more resilient.

* fix test
2026-01-08 02:35:32 +05:30
Raja Subramanian dafdc36e3e Add option to force simuclast codec. (#4226) 2026-01-08 02:13:03 +05:30
Raja Subramanian 0a7dd40b35 Use only layer 0 for SVC codecs. (#4224)
GetOrCreateBuffer was using passed in layer when creating a new buffer.
But, it should always use layer 0 only for SVC.
2026-01-07 18:57:21 +05:30
Denys Smirnov 4ec0f8f4ce Support OpenTelemetry tracing. Add Jaeger support. (#4222) 2026-01-06 17:22:21 +02:00
Raja Subramanian 80ba93fa18 Do NACK updates as soon as flow state is processed. (#4221) 2026-01-06 11:59:21 +05:30
Raja Subramanian 4405afe24d Use atomic pointer and return interface from RED transformer constructors (#4220) 2026-01-06 06:45:52 +05:30
Raja Subramanian b649c2fe95 Remove method not needed from REDTransformer. (#4219)
Also assert that the implementation aligns with the interface.
2026-01-05 11:53:24 +05:30
Raja Subramanian f0080f35b2 Remove enable arrival time forwarding method. (#4217)
Will add it if necessary.
2026-01-03 23:25:44 +05:30
Raja Subramanian 335f4c33fb Swap result sink atomically rather than closing and setting. (#4216)
To prevent WriteMessage after Close potentially.
2026-01-03 03:17:58 +05:30
Raja Subramanian 46651c1978 Release v1.9.10 (#4214)
* Release v1.9.10

* move room exists service store op to Added section
v1.9.10
2026-01-01 12:36:34 +05:30
Raja Subramanian 08ac4ecdc5 Support preserving external supplied time. (#4212)
In some paths, it is better to preserve pre-recorded time. So, make the
base implementations preserve the RTCP Sender Report receive time.

Also, add a method to enable forwarding packet arrival time. Could be
used across relay.
2025-12-31 14:41:59 +05:30
cnderrauber f6efccce25 report video size from media data for whip (#4211) 2025-12-31 15:52:10 +08:00
cnderrauber d92f6a790f return iceservers for whip (#4210) 2025-12-31 15:10:15 +08:00
Raja Subramanian 1a4758ed9c Skip restart callback if external. (#4208)
* Skip restart callback if external.

Without out the external restart was bumping forwarder generation twice.

* fix sense
2025-12-30 22:14:06 +05:30
Raja Subramanian dde4fb498e configurable dependency descriptor restart (#4207)
* configurable dependency descriptor restart

* KeyFrame -> IsKeyFrame

* use the params directly
2025-12-29 23:51:15 +05:30
Raja Subramanian 08793bea89 Use active at time to check for track not bound timeout. (#4206) 2025-12-29 20:32:08 +05:30
Raja Subramanian 3606ce542f Do not warn about track not bound if participant is not ready. (#4205)
Analysed half a dozen cases and all of them were due to participant is
not active yet.

Also, some misc logging changes.
2025-12-29 18:16:11 +05:30
Raja Subramanian b8ddd0f98c Taking interface{} -> any modernize bits (#4204) 2025-12-28 05:22:12 +05:30
Raja Subramanian b91cd2e4ea Rework receiver restart. (#4202)
* Rework receiver restart.

- Protect against concurrent restarts
- Clean up and consolidate code around restarts
- Use `RestartStream` of buffer rather than creating new buffers.

* fix test
2025-12-27 17:17:16 +05:30
Raja Subramanian bb00c86489 Restart API on receiver. (#4200)
Can be used when track moves forward/backward.
2025-12-27 03:42:23 +05:30