Commit Graph

2314 Commits

Author SHA1 Message Date
Raja Subramanian
c8bb3345c6 Send raw mime type also in subscribed qualities. (#3103) 2024-10-16 11:45:12 +05:30
Raja Subramanian
a66fff1576 Use pointers in unlikely so that values get de-referenced at log time (#3101)
* Use pointers in unlikely so that values get de-referenced at log time
after they have been filled in.

* instantiate logger at log time
2024-10-15 23:45:40 +05:30
Raja Subramanian
9ac48e2984 Grab time under lock. (#3100)
Revert part of my previous commit. I vaguely remembered there was a reason for
having code like that, but did not remember the details and ended up
consolidating. The issue is that time needs to be grabbed under lock so
that two events happening close to each other do not get order swapped.
2024-10-15 22:39:43 +05:30
Raja Subramanian
8b604df32a Set FEC enabled properly in connection stats module. (#3098)
* Set FEC enabled properly in connection stats module.

With RED, the FEC indication is in primary codec.

Also, clean up some bits that were not necessary (TrackInfoAvailable is
not needed)

TODO: There are still a couple of things to figure out
- If codec is RED, Opus is added as second codec synthetically using
  33098337fc/pkg/rtc/mediaengine.go (L31)
  which hard codecs FEC enabled. Ideally, we should get the primary
  codec parameters from SDP offer.
- The WebRTCReceiver does not have information about primary codec. For
  now, just setting FEC to true when RED is enabled. It is okay as it
  just affects when we declare quality drops, but ideally the primary
  codec should be retrieved from SDP offer.

* clean up and comment

* full prop check
2024-10-15 17:39:42 +05:30
David Zhao
33098337fc Support for attributes in initial agent token (#3097) 2024-10-14 22:45:10 -07:00
David Zhao
c41913225d Log fields in SIP service (#3096) 2024-10-14 16:00:15 -07:00
Raja Subramanian
d052caa104 Use PPS mode rather than max to adjust packet loss weight. (#3095) 2024-10-14 20:16:19 +05:30
Raja Subramanian
a8da4872b1 Drop quality a bit faster on score trending lower to be more responsive. (#3093)
Also, logging a bit more about quality changes to understand why
high(ish) loss does not drop quality. Will remove the loss thresholded
logging after collecting some data.
2024-10-14 17:21:42 +05:30
Raja Subramanian
f154b236b5 Fix down stream packet loss reporting. (#3092)
* Fix down stream packet loss reporting.

* format
2024-10-14 11:08:10 +05:30
David Zhao
2d6aa049c9 Improve agent job assignment logging (#3090)
* Improve agent job assignment logging

* add more agent logging

---------

Co-authored-by: Paul Wells <paulwe@gmail.com>
2024-10-13 00:56:51 -07:00
cnderrauber
9147120915 Exclude session start time from publishing time (#3089) 2024-10-12 10:19:33 +08:00
Raja Subramanian
6a721efa7c Log of down track write stop. (#3087) 2024-10-12 04:19:27 +05:30
cnderrauber
76bc112649 Don't return bind error on unsupport codec (#3085)
pion will not start transports if Bind fails at first answer
2024-10-11 14:59:54 +08:00
cnderrauber
cf59267631 Add counter for pub&sub time metrics (#3084)
* Add counter for pub&sub time metrics

The pub&sub shows large value in migration related case like
muted/disabled migration, the subscription time depends on
the time when publisher unmute the track(sending rtp packet
after migration), add a counter to distinguish since we
can't control the time in such cases and the first subscription
attemps also is more meaningful than those cases.

* Add info log for high publish delay
2024-10-11 12:07:24 +08:00
cnderrauber
c8dbe8e977 reset subscription time when downtrack closed and expect resume (#3083) 2024-10-10 16:06:44 +08:00
Raja Subramanian
6829ec8600 Fix codec name normalisation. (#3081)
With lower case mime type, TrimLeft lopped off the `v` in `vp8` too and
the coded name ended up being `p8`.
2024-10-10 10:09:40 +05:30
cnderrauber
85c653f665 dd selector debug logs (#3082) 2024-10-10 12:37:28 +08:00
Raja Subramanian
8589043979 Use lower case mime type in dynacast. (#3080)
Seeing instances of both lower case and upper case mime in dynacast
manager which created duplicate entries.

Also, move the dyncast files a package.

TODO: Need to do audit and come up with a consistent way to always use
lower case for mime type.
2024-10-10 07:57:54 +05:30
Paul Wells
119113a5e9 use proto logger for ice config (#3079) 2024-10-09 09:13:42 -07:00
cnderrauber
64d89dc2f8 Use difference debounce interval in negotiation (#3078)
Transport will send offer immediately if last
negotiation is before debounce interval in #1929,
it will cost two negotiation for a/v tracks if a
pubisher publishes two tracks at same time like
screenshare or enable mic/camera. This change use
a small debounce interval in this case to avoid this issue.
2024-10-09 21:13:05 +08:00
Raja Subramanian
2f674f647e Log before and after, was not logging the new one in the last change. (#3075) 2024-10-09 09:22:52 +05:30
Paul Wells
00ac004604 use AgentDispatch in internal request (#3074)
* use AgentDispatch in internal request

* deps

* deps

* deps
2024-10-08 01:25:00 -07:00
Raja Subramanian
7c26d4a75a Log track update (#3073)
* Log track update

* trackID for pending
2024-10-08 12:26:36 +05:30
Ben Cherry
2faebb6b47 Forward rpc data packets (#3067)
* forward

* remove logs

* nil checks

* log

* log
2024-10-07 22:42:18 -07:00
Paul Wells
4c2b154c41 start jobs with started state (#3070)
* start jobs with started state

* deps
2024-10-07 04:09:10 -07:00
Raja Subramanian
5e22582c66 Make a lite version of sender stats to be used in relay down track. (#3069) 2024-10-06 13:01:08 +05:30
Paul Wells
3261560098 api for agent worker job count (#3068)
* api for agent worker job count

* cleanup

* temp deps

* temp deps

* deps
2024-10-05 05:13:52 -07:00
Raja Subramanian
2491ee7c7c Make lite version of RTPStatsReceiver called RTPStatsReceiverLite. (#3065)
* Make lite version of RTPStatsReceiver called RTPStatsReceiverLite.

Refactor around that.

Will probably make some more flavors to have lighter versions still.

* update deps

* use MarshalLogArray

* use util
2024-10-05 10:50:25 +05:30
Paul Wells
99f7be7c1c clean up redundant String calls in logs (#3064) 2024-10-03 08:08:46 -07:00
Denys Smirnov
af15f211d0 Forward new disconnect reasons for SIP. (#3056) 2024-10-03 16:36:47 +03:00
Paul Wells
c9d2552cb3 accept any participant type source to BroadcastMetricsForRoom (#3063) 2024-10-03 05:51:02 -07:00
Paul Wells
119e11e191 check data messages for nil payloads (#3062)
* check data messages for nil payloads

* more checks

* cleanup
2024-10-03 05:19:27 -07:00
Paul Wells
bdfb2c4ca9 init agent worker ping handler (#3061)
* init agent worker ping handler

* cleanup
2024-10-03 04:08:07 -07:00
Raja Subramanian
8ac33a868c Splitting out rtp stats stuff into its own package. (#3060)
* Splitting out rtp stats stuff into its own package.

Going to be making some lighter versions of these.
Will be cleaner to have all of these grouped together.
So, as a first step, just making a package for it.

* tests
2024-10-03 15:51:24 +05:30
Paul Wells
0b4fd32905 add unlikely logger (#3058) 2024-10-02 22:58:25 -07:00
Raja Subramanian
0656b623f7 use marshalled logger (#3057) 2024-10-03 10:27:47 +05:30
Raja Subramanian
4d7839bff3 Fix clock rate skew calculation. (#3055)
Cannot cast NTP timestamp diff to time.Duration.
That causes duration to appear more than it actually is.
Was causing a bunch of log spam.
2024-10-01 00:33:36 +05:30
Paul Wells
8befc8224a use canonical room log field name (#3054) 2024-09-27 16:52:34 -07:00
cnderrauber
3a77f2c733 change comment of disable fast negotiation for migration (#3053) 2024-09-27 15:18:34 +08:00
Raja Subramanian
45f23f6fc4 Update protocol to get lower case check for kind and source. (#3048)
Also, log kind in starting RTC session and store a clone always in
participants.
2024-09-26 15:45:42 +05:30
Raja Subramanian
49be2514e0 Use the IsAgent check for transcription forwarding. (#3047)
VideoGrant could have the agent flag set.
2024-09-26 13:12:32 +05:30
Raja Subramanian
abee3c3403 Fix forwarding of transcription message. (#3044)
Had to introduce some flags in
https://github.com/livekit/livekit/pull/2950/files to do selective
forwarding, but messed up the sense of the transcription message forward
flag.
2024-09-26 10:43:09 +05:30
Paul Wells
10631e2de6 enable room creator service by default (#3043) 2024-09-25 19:08:17 -07:00
Paul Wells
096157e706 clean up worker jobs in handler when job ends (#3042) 2024-09-25 03:04:01 -07:00
cnderrauber
73900be59d Set mime_type for tracks don't have simulcast_codecs (#3040)
go sdk don't have simucalst_codecs set could cause
partial track info broadcast to other nodes.
2024-09-24 15:36:08 +08:00
holzgeist
9b277803c6 fix: copy attributes to refresh token (#3036)
otherwise they will be missing on a full reconnect
2024-09-23 08:31:21 -07:00
Paul Wells
d26ade0076 add helpers for partiicpant reconnect and version (#3034) 2024-09-22 23:37:35 -07:00
Paul Wells
5e3b3ee3c1 return copy of job state when starting job (#3035) 2024-09-22 23:37:06 -07:00
cnderrauber
341d1e512c change bind log to debug (#3033) 2024-09-23 12:05:38 +08:00
cnderrauber
eed925fddf avoid race condition on downtrack.Codec (#3032) 2024-09-22 14:27:26 +08:00