Commit Graph

2584 Commits

Author SHA1 Message Date
Denys Smirnov fa65712a0e Use camel case in SIP logs. (#2738) 2024-05-28 13:43:22 +03:00
cnderrauber 7ed1284b96 report average forward metrics (#2737)
* report average forward metrics

* unused parameter
2024-05-28 17:03:18 +08:00
Raja Subramanian d9910ead61 Add back TrafficStats used by cloud. (#2736) 2024-05-27 13:43:20 +05:30
cnderrauber 2288e402ac register forward metrics (#2735) 2024-05-27 15:47:01 +08:00
Raja Subramanian 991ad5a0ea Remove unused traffic load (#2734) 2024-05-27 10:53:23 +05:30
Raja Subramanian 721c36fbc0 Send telemetry events on track feature updates. (#2723)
* Send telemetry events on track feature updates.

* Do not process no change
2024-05-27 10:46:26 +05:30
Paul Wells 5e3b1e0f67 reduce participant lock scope (#2732) 2024-05-26 14:01:23 -07:00
Paul Wells 38470f378b add message bytes metric (#2731) 2024-05-26 14:01:13 -07:00
renovate[bot] 8948562572 fix(deps): update livekit deps (#2671)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-26 14:01:02 -07:00
Raja Subramanian 8be2005e0f More detailed logging to understand old packets. (#2730) 2024-05-25 18:34:55 +05:30
renovate[bot] cf8c462805 fix(deps): update module github.com/hashicorp/go-version to v1.7.0 (#2728)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-24 18:11:28 -07:00
cnderrauber e6aa36fdd6 Add forward stats (#2725)
* Add forward metrics

* ignore packets was not forwarded

* rename
2024-05-24 17:43:28 +08:00
Denys Smirnov a444f2477c Update protocol. Support SIP transports. (#2724) 2024-05-23 20:31:01 +03:00
Raja Subramanian 96cb829b84 Log more info when adjusting start timestamp. (#2722)
Seeing some large time stamp jump in relay down track once in a while.
Logging more details on time stamp switch to learn more.
2024-05-23 13:03:26 +05:30
renovate[bot] 86b15c2e82 Update go deps (#2624)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-22 10:00:11 -07:00
Raja Subramanian ef6f205fcc Pass through timestamp in abs capture time (#2715) 2024-05-15 11:41:37 +05:30
Raja Subramanian 91520a36e0 Add a flag to pass through timestamp. (#2714)
* Add a flag to psss through timestamp.

Can make it a config later if needed.

* log both adjusted and non-adjusted
2024-05-13 15:11:28 +05:30
Théo Monnom 9887d32bd2 fix: connection reset without any closing handshake on clientside (#2709) 2024-05-11 13:39:17 +02:00
Benjamin Pracht eef3cf0f01 Redact egress object in CreateRoom request (#2710) 2024-05-10 10:05:53 -07:00
Raja Subramanian 80a4d021b9 Add simulate leave request close reason (#2713) 2024-05-10 20:02:25 +05:30
Raja Subramanian 66a3a8e028 cond broadcast always. (#2699)
With Read and ReadExtended waiting (they are two different goroutines),
use Broadcast always. In theory, they both should not be waiting at the
same time, but just being safe.
2024-05-10 12:32:28 +05:30
Paul Wells b54acb0bad ensure room is running before attempting to delete (#2705)
* ignore api errors when deleting room

* start room before deletion

* delete from db first

* load
2024-05-09 00:06:41 -07:00
Raja Subramanian 71b5ffed93 Less confusing variable name (#2706) 2024-05-08 16:10:49 +05:30
Paul Wells 9a5db132eb add room/participant name limit (#2704)
* add room/participant name limit

* defaults

* simplify

* omitempty

* handle 0 config

* fix race

* unlock

* tidy
2024-05-06 17:25:18 -07:00
renovate[bot] 65f06da1ca Update pion deps (#2697)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-05-05 21:49:16 -07:00
Raja Subramanian 4d7586bda8 Simplify layer roll back. (#2702)
* Cache TS offset along with sender report.

* set offset after clearing

* simplify roll back
2024-05-04 15:00:19 +05:30
Antti Tapaninen 45ed030ce6 add missing strings.EqualFold for some mimeType comparisons (#2701) 2024-05-04 11:47:29 +05:30
Raja Subramanian 26c2f7cd9a Do not use LastTS for dummy offset. (#2700)
* Do not use LastTS for dummy offset.

LastTS could be random when using dummy start. That should not be used
in calculating offsets.

Also, do not push padding into sequence before init. Could have heppened
with dummy start.

* apply dummy offset before comparing to last

* refresh ref TS

* initialize codec munger on catch up forwarding
2024-05-03 18:56:01 +05:30
Raja Subramanian 674550ea16 Option to disable traffic load tracking. (#2698) 2024-05-02 19:09:12 +05:30
Robin 2792e7e834 Remove unsupported environment option (#2696)
This option seems to be no longer supported as of 10c8582a6b, and will crash the server if provided in the config.
2024-04-30 16:45:58 -07:00
renovate[bot] 72f847427d Update module github.com/pion/ice/v2 to v2.3.20 (#2695)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-30 08:49:12 -07:00
Raja Subramanian a2a8810734 log the correct new propagation delay (#2694) 2024-04-30 08:29:59 +05:30
cnderrauber cfa82c6ad4 increase protocol version to support optional publisher datachannel (#2693) 2024-04-28 15:09:24 +08:00
renovate[bot] 3d22d794e0 Update pion deps (#2692)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-27 23:53:53 -07:00
Raja Subramanian c8b289daa5 (Attempted) Simplify time stamp calculation on switches. (#2688)
* Simplify time stamp calculation on switches.

Trying to simplify time stamp calculation on restarts.
The additional checks take effect rarely and it not worth the extra
complication.

Also, doing the reference time stamp in extended range.
The challenge with that is when publisher migrates the extended
timestamp could change post migration (i. e. post migration would not
know about rollovers). To address that, maintain an offset that is
updated on resync.

* WIP

* Revert to resume threshold

* typo

* clean up
2024-04-28 12:13:52 +05:30
Paul Wells 18b3b7b421 use readCond in buffer read (#2691) 2024-04-27 04:04:01 -07:00
Paul Wells ac1b0e38ca store active stats workers in list (#2690)
* store active stats workers in list

* test

* single node cleanup

* cleanup

* cleanup

* cleanup
2024-04-26 17:24:10 -07:00
Benjamin Pracht 15ffb53df9 Version 1.6.1
## Changelog

This release changes the default behavior when creating or updating WHIP
ingress. WHIP ingress will now default to disabling transcoding and
forwarding media unchanged to the LiveKit subscribers. This behavior can
be changed by using the new `enable_transcoding` available in updated
SDKs. The behavior of existing ingresses is unchanged.

 ### Added

- Add support for "abs-capture-time" extension.  (#2640)
- Add PropagationDelay API to sender report data (#2646)
- Add support for EnableTranscoding ingress option (#2681)
- Pass new SIP metadata. Update protocol. (#2683)
- Handle UpdateLocalAudioTrack and UpdateLocalVideoTrack. (#2684)
- Forward transcription data packets to the room (#2687)

 ### Fixed

- backwards compatability for IsRecorder (#2647)
- Reduce RED weight in half. (#2648)
- add disconnected chan to participant (#2650)
- add typed ops queue (#2655)
- ICE config cache module. (#2654)
- use typed ops queue in pctransport (#2656)
- Use the ingress state updated_at field to ensure that out of order RPC do not overwrite state (#2657)
- Log ICE candidates to debug TCP connection issues. (#2658)
- Debug logging addition of ICE candidate (#2659)
- fix participant, ensure room name matches (#2660)
- replace keyframe ticker with timer (#2661)
- fix key frame timer (#2662)
- Disable dynamic playout delay for screenshare track (#2663)
- Don't log dd invalid template index (#2664)
- Do codec munging when munging RTP header. (#2665)
- Connection quality LOST only if RTCP is also not available. (#2670)
- Handle large jumps in RTCP sender report timestamp. (#2674)
- Bump golang.org/x/net from 0.22.0 to 0.23.0 (#2673)
- do not capture pointers in ops queue closures (#2675)
- Fix SubParticipant twice when paticipant left (#2672)
- use ttlcache (#2677)
- Detach subscriber datachannel to save memory (#2680)
- Clean up UpdateVideoLayers (#2685)
- Make datachannel optional for publisher (#2686)
v1.6.1
2024-04-26 21:07:55 +02:00
Benjamin Pracht f088730007 Add support for EnableTranscoding ingress option (#2681)
This changes the default WHIP ingress behavior to skipping transcode. Other inputs are still always transcoded.
2024-04-26 14:26:00 +02:00
Denys Smirnov 07791ffc00 Pass new SIP metadata. Update protocol. (#2683) 2024-04-26 13:57:39 +03:00
cnderrauber 90de06ce02 Make datachannel optional for publisher (#2686) 2024-04-26 15:24:41 +08:00
David Zhao 37346774bb Forward transcription data packets to the room (#2687) 2024-04-26 00:00:30 -07:00
Raja Subramanian 79f6506553 Clean up UpdateVideoLayers (#2685) 2024-04-26 12:21:40 +05:30
Raja Subramanian 90b47424b5 Handle UpdateLocalAudioTrack and UpdateLocalVideoTrack. (#2684)
* Handle UpdateLocalAudioTrack and UpdateLocalVideoTrack.

- Update the TrackInfo
- NOTE: populating Stereo and DisableDtx fields although there are
  features now.
- The audio features in UpdateLocalAudioTrack is applied as is,
  i. e. the update has the latest set of features.
- Emits a track update which will broadcast a participant update.

TODO:
-----
- Telemetry event with track update?

* update deps
2024-04-26 12:06:35 +05:30
cnderrauber b55038af03 Detach subscriber datachannel to save memory (#2680)
Sfu don't read message from subscriber datachannel, detach
it to bypass the readLoop can save 128KB memory and 2 goroutines per
participant.
2024-04-24 16:26:07 +08:00
renovate[bot] dfadb3f087 Update pion deps (#2617)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-23 22:48:47 -07:00
Paul Wells c51b3e3fe2 use ttlcache (#2677)
* use ttlcache

* go

* test
2024-04-23 02:20:54 -07:00
cnderrauber f239f8bff1 Fix SubParticipant twice when paticipant left (#2672) 2024-04-23 16:09:02 +08:00
Raja Subramanian 8f05385126 TTL param for ICE config cache (#2676)
* TTL param for ICE config cache

* rename to min
2024-04-23 10:49:55 +05:30
Paul Wells c4354575ec do not capture pointers in ops queue closures (#2675) 2024-04-22 11:33:28 -07:00