Commit Graph

2827 Commits

Author SHA1 Message Date
renovate[bot]
737c85371b fix(deps): update golang.org/x/exp digest to 225e2ab (#3066)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 15:45:19 -07:00
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
Paul Wells
8428d5e62b update protocol (#3031)
* update protocol

* test

* cleanup
2024-09-21 17:05:39 -07:00
Benjamin Pracht
22c36ef423 Implement SIP TransferParticipant API (#3026) 2024-09-20 12:16:15 -07:00
Raja Subramanian
191e8635e8 fix missed baseTime init (#3025) 2024-09-19 18:37:35 +05:30
Paul Wells
61179d5624 simplify agent registration (#3018)
* simplify agent registration

* testutils

* deps

* fix

* gen

* cleanup

* lower job load
2024-09-19 05:58:30 -07:00
lukasIO
94d7b1708f Allow agents to override sender identities on ChatMessage (#3022)
* Allow agents to override sender identities on ChatMessage

* temporarily replace protocol

* check for empty identity

* string compare instead of identity compare

* update protocol

* Fix typo

* whitespace
2024-09-19 11:11:14 +02:00
Paul Wells
370f386dd0 add convenience methods to participant (#3016)
* add convenience methods to participant

* tidy
2024-09-19 00:20:22 -07:00
Raja Subramanian
7df6f86693 Initial plumbing for metrics. (#2950)
* Initial plumbing for metrics.

This implements
- metrics received from participant.
- callback to room.
- room distributes it to all other participants (excluding the sending
  participant).
- other participants forward to client.
- counting metrics bytes in data channel stats

TODO:
  - recording/processing/batching
  - should recording/processing/batching happen on publisher side or
    subscriber side?
  - should metrics be echoed back to publisher?
  - grants to publish/subscribe metrics.

* mage generate

* clear OnMetrics on close

* - CanSubscribeMetrics permission.
- Echo back to sender.

* update deps

* No destination identities for metrics

* WIP

* use normalized timestamp for server injected timestamps

* compile

* debug log metrics batch

* correct comment

* add baseTime to wire

* protocol dep

* Scope metrics forwarding to only participants that a participant is
subscribed to.

Also remove the participant_metrics.go file as it was not doing anything
useful.

* update comment

* utils.ErrorIsOneOf

* couple of more utils.CloneProto
2024-09-19 11:42:31 +05:30
Paul Wells
4deaac2f3f replace proto.Clone calls (#3024)
* replace proto.Clone calls

* deps

* tests
2024-09-18 22:47:33 -07:00
cnderrauber
978db00034 Add sdk, participant_kind to pub sub metrics (#3023)
* exclude go client from track publication metric

* add sdk,participant_kind lables

* fix test
2024-09-19 10:42:47 +08:00
cnderrauber
3ecd03fa31 Use new track id for republishing (#3020)
* Use new track id for republishing

Always generates new track id for track publishing
to make the behavior more consistent. A republishing of
clien track will be considered as a new track publication
and always trigger trackUnpublished & trackPublished event
on subscriber side.

* remove test
2024-09-19 09:17:12 +08:00
Paul Wells
1436a1f186 driveby cleanup (#3017)
* driveby cleanup

* test
2024-09-18 00:45:55 -07:00
Raja Subramanian
f21bc84967 Log only when not nil. (#3015)
* Log only when not nil.

Default logging confuses debugging as we call using nil as well to make
the call site simpler. And logging a nil makes it look like it is
incorrect seeding. `nil` fields do not seed. So, don't log when `nil`.

* log SDP
2024-09-18 12:39:53 +05:30
renovate[bot]
d992389d4f Update module github.com/prometheus/client_golang to v1.20.4 (#3014)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-17 08:44:06 -07:00
dependabot[bot]
9ae536980e Bump github.com/opencontainers/runc from 1.1.13 to 1.1.14 (#3013)
Bumps [github.com/opencontainers/runc](https://github.com/opencontainers/runc) from 1.1.13 to 1.1.14.
- [Release notes](https://github.com/opencontainers/runc/releases)
- [Changelog](https://github.com/opencontainers/runc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opencontainers/runc/compare/v1.1.13...v1.1.14)

---
updated-dependencies:
- dependency-name: github.com/opencontainers/runc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-17 11:15:08 +05:30
Raja Subramanian
9a4ddf05d5 Fix forwarder panic defer of nil senderReport (#3011) 2024-09-17 08:44:09 +05:30
cnderrauber
0c002b8675 exclude sip client from track publish metric (#3007) 2024-09-17 09:42:21 +08:00
Raja Subramanian
002c73dad3 Update ICE via webrtc to get candidate pair stats RTT (#3009) 2024-09-17 03:21:21 +05:30
Raja Subramanian
914e5d6993 Set SenderReport to nil on seeding if empty. (#3008)
With protobuf marshalling/unmarshalling, the default struct was getting
used and nil checks for non existence were failing. That means the right
layers were not reported active on migration.

Also, restore the wrapped loggers as some fields needs some conversion
before logging.
2024-09-16 23:56:13 +05:30
Denys Smirnov
47a9969f44 Pass project to CreateSIPParticipantRequest. (#3006) 2024-09-16 20:09:33 +03:00
Raja Subramanian
2e7bcbc5e2 Forward ChatMessage (#3005)
* Forward ChatMessage

* fill in participantIdentity

* remove redundant setting
2024-09-16 20:17:38 +05:30
Raja Subramanian
a0b4c39fd5 Use OnSelectedCandidatePairChanged to keep track of selected pair. (#3004)
* Use OnSelectedCandidatePairChanged to keep track of selected pair.

* update webrtc dep
2024-09-16 19:44:21 +05:30
Raja Subramanian
3c8a7d7828 Log down track state on seeding. (#3003)
Also, log when RTCP sender report for reference layer is received.

Cleaning up a bunch of wrapped logger calls as we already have
logger.Proto which I forgot about while doing those wrappers.
2024-09-14 23:07:54 +05:30
Raja Subramanian
098aa78ab7 Do not remove from subscription map on unsubscribe. (#3002)
* Do not remove from subscription map on unsubscribe.

Notes in line as to why.

* Avoiding the extra check. It is fine to check under lock for clean up.
It is done in other places.

* comments
2024-09-14 12:56:48 +05:30
Denys Smirnov
0e68404f2c Support passing SIP headers. (#2993) 2024-09-13 11:06:38 +03:00
Raja Subramanian
1b5bb4dddc Log ICE reconnected. (#2999)
To increase visibility of ICE reconnect, logging reconnected at Infow
level. Otherwise, it is hard to see if an ICE restart finished
successfully.

Also, cleaning up ICEConnectionDetails a bit. Just separate out
read-only fields into its own struct and use it for read-only export.
2024-09-12 13:16:41 +05:30
renovate[bot]
ce663f9550 Update go deps (#2992)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-11 22:34:22 -07:00
Raja Subramanian
182ab9a951 Log more details around layer switch (#2996)
* Log more details around layer switch

* split error
2024-09-11 09:23:42 +05:30