Commit Graph

2735 Commits

Author SHA1 Message Date
renovate[bot] 210fc18281 Update pion deps (#2932)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-15 15:49:00 -07:00
Paul Wells dabbb298c5 mark explicit create paths (#2935) 2024-08-13 22:00:39 -07:00
cnderrauber 8b47218270 Add tracksubscribed event on downtrack added (#2934)
will remove this once the remote node has tracksubscribed
event sent.
2024-08-14 10:19:01 +08:00
Paul Wells c371929535 add roommanager service (#2931)
* add roommanager service

* cleanup

* deps

* timeout

* cleanup

* cleanup

* config

* cleanup
2024-08-13 11:00:41 -07:00
Raja Subramanian edad813c61 Add DisconnectReason to ParticipantInfo. (#2930) 2024-08-13 17:24:09 +05:30
renovate[bot] 5d55486710 Update module github.com/ory/dockertest/v3 to v3.11.0 (#2927)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-12 19:41:34 -07:00
renovate[bot] fead891d7a Update module github.com/pion/sctp to v1.8.21 (#2928)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-12 19:38:50 -07:00
Raja Subramanian 9a6b4c6956 Send signal response for non-error cases also. (#2926)
* Send signal response for non-error cases also.

Gated by protocol version 15 or higher for sending OK response.

* explicit reason init
2024-08-12 22:25:34 +05:30
David Zhao 28f797786b Version bump to 1.7.2 (#2924) v1.7.2 2024-08-11 21:36:13 -07:00
renovate[bot] 7d53a42322 Update go deps (#2918)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-11 10:50:56 -07:00
Raja Subramanian 1c265180f1 Fix ARM compile. (#2923)
(1 << 32) was outside range for 32-bit arch.
2024-08-11 11:14:40 +05:30
David Zhao 4c2813bbe8 v1.7.1 release notes (#2922) v1.7.1 2024-08-10 22:23:59 -07:00
dependabot[bot] cfd6d7e560 Bump github.com/docker/docker (#2921)
Bumps [github.com/docker/docker](https://github.com/docker/docker) from 27.1.0+incompatible to 27.1.1+incompatible.
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](https://github.com/docker/docker/compare/v27.1.0...v27.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-10 16:38:01 +05:30
Raja Subramanian d0ac19779e Reset DD tracker layers when muted. (#2920)
* Reset DD tracker layers when muted.

@cnderrauber, I think this is okay to do, but please let me know if
there are gotchas in there.

* copy

* more compact form
2024-08-10 15:42:14 +05:30
Benjamin Pracht 64057c3e4d Implement AgentDispatch service (#2919)
This allows listing, adding and deleting agent dispatches on an existing room. Requests go to a new AgentDispatchService, which sends them over RPC to the rtc.Room via the RoomManager. The rtc.Room then does agent job management using RPCs to the agent service.
2024-08-08 22:31:23 +02:00
Raja Subramanian 7018e485f2 Do not start forwarding on an out-of-order packet. (#2917)
It is possible that old packets arrive on receiver. If subscriber starts
on that, the first packet time would be incorrect. Do not start
forwarding on out-of-order packets.
2024-08-08 23:15:04 +05:30
Dan McFaul 489f73f0a4 distribute load to agents probabilistically, inversely proportionate to load (#2902)
* select the least loaded agent worker for job dispatch

* update to load balance using inverse load

* remove unused file

* adding unit tests for worker job distribution
2024-08-07 21:05:47 -06:00
renovate[bot] 63dd744f58 Update pion deps (#2877)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 12:54:21 -07:00
cnderrauber a8730b04b8 move TrackSubscribed trigger to MediaSubscription (#2916) 2024-08-07 22:30:52 +08:00
Paul Wells 2346c8a6b7 add example agent test (#2914) 2024-08-06 19:51:30 -07:00
Paul Wells e9b6bf43c3 add mock agent for integration tests (#2913)
* add mock agent for integration tests

* cleanup
2024-08-06 19:46:52 -07:00
Paul Wells de0c5bbd91 use structured logging for create room request (#2912) 2024-08-06 19:45:00 -07:00
dependabot[bot] 67a3f04d5e Bump github.com/docker/docker (#2911)
Bumps [github.com/docker/docker](https://github.com/docker/docker) from 27.0.0+incompatible to 27.1.0+incompatible.
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](https://github.com/docker/docker/commits/v27.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-06 14:44:53 +05:30
Raja Subramanian 01100650f6 Clean up packet checks. (#2910)
Still leaving the utility `ValidateRTPPacket` in helpers as it could be
useful.
2024-08-06 14:30:08 +05:30
Raja Subramanian 13ee1aca28 Delay getting forwarder state till migration is complete. (#2909) 2024-08-06 12:45:46 +05:30
Raja Subramanian 8c323330b6 Store subscriber forwarder state (#2907)
* Forwarder state for migrating participant.

* clean up

* update protocol deps

* cleanup debug
2024-08-05 21:13:07 +05:30
cnderrauber 5e4c6d46fb rename log (#2906) 2024-08-05 13:46:56 +08:00
renovate[bot] 9ac8be8bc2 Update go deps (#2873)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-04 16:52:41 -07:00
David Zhao 815ba1933b update readme (#2905) 2024-08-03 18:12:24 -07:00
renovate[bot] 0c842594e5 Update module github.com/livekit/protocol to v1.19.3 (#2733)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-02 18:21:59 -07:00
David Zhao b1fbca066f Send the correct room closed reason to clients (#2901)
* Send the correct room closed reason to clients

* update go mod
2024-08-01 19:40:06 -07:00
Raja Subramanian 1993c87fd8 Do not force rollover if ts rollover is not active. (#2899)
There are cases of small negative sequence number jump and small
positive time stamp jump. Those should not force rollover. Maybe, they
should be dropped, but just logging for now till we learn more.
2024-08-01 22:08:53 +05:30
Raja Subramanian 18fd622802 Add API to get highest time stamp from RTPStatsReceiver. (#2898) 2024-08-01 13:26:25 +05:30
Raja Subramanian c2c187202f Fix forced rollover of RTP time stamp. (#2896)
* Fix forced rollover of RTP time stamp.

Was erroneously forcing a rollover when the timestamp jump actually has
room to accommodate large jumps. For example, before pause ts = 10, then
eight hour pause, restart ts = 10  + (8 * 00 * 60 * 90000) = 2592000010
(at 90000 clock rate for video). In normal processing, it will look like
out-of-order as the difference 2592000000 is more than half the 32-bit
range. But, forcing a roll over is incorrect.

Fix by calculating excess over the full range and then account for wrap
around.

* log potential ts rollover

* clamp at min 0
2024-07-31 12:45:19 +05:30
Raja Subramanian d68dd3033d Use extended sequence number in bucket (#2895) 2024-07-30 14:21:37 +05:30
Raja Subramanian 4e29e18129 Set gapSN when initing. (#2893) 2024-07-30 07:48:06 +05:30
Raja Subramanian 3e6e6e2732 Ignore really old packets. (#2891)
* Ignore really old packets.

There are cases where really old packets (time stamp is way back, but
sequence number looks like it is moving forward) which cause the
sequence number to update incorrectly. Drop those packets are they are
very old.

* test
2024-07-29 10:51:01 +05:30
Raja Subramanian d27ecc0732 Switch order so that last calculated clock rate does not get (#2890)
divide-by-zero.
2024-07-26 10:50:51 +05:30
cnderrauber f6f6cca133 don't push 0 ssrc probing packets to pending queue (#2888) 2024-07-23 17:58:04 +08:00
Benjamin Pracht 0fd09d73c1 Instantiate default agent dispatches in rtc for better backward compatibility (#2886) 2024-07-22 08:44:13 -07:00
Raja Subramanian bd616d6074 Split ICE candidate queue. (#2885)
Shared ICE candidate queue meant only one of PUBLISHER/SUBSCRIBER pc got
final candidate notification. Split the queue.
2024-07-20 10:25:06 +05:30
Benjamin Pracht 73b3a91a5c Use RoomConfiguration message from protocol (#2882) 2024-07-19 13:54:33 -07:00
cnderrauber 0c5b5537b2 Don't create DDParser for non-svc codec (#2883) 2024-07-19 10:52:27 +08:00
Benjamin Pracht a877ba2352 Partial support for agent dispatch management (#2872)
- Store agent dispaches independently of room agents on rtc.Room
- Serialize agent dispatches in rtc.Room
- Support for agent dispatch and job serialization in redis

The agent Job object references denormalized Room and ParticipantInfo object. When storing Jobs, this sets the Room to nil, and only stores the Participant identity field. When read back, these fields need to be set to their current value.
2024-07-18 13:36:43 -07:00
Raja Subramanian 95f4b304ef Prevent data race. (#2881)
* Prevent data race.

CI is reporting some data race warnings. Prevent that.

* prevent recursive lock

* prevent more recursive locks

* more lock dance
2024-07-18 19:53:41 +05:30
Raja Subramanian 91782b68be Recalc gap of sequence number after forcing rollover. (#2880) 2024-07-18 18:58:10 +05:30
Paul Wells afda860162 prevent race in telemetry worker cleanup (#2879) 2024-07-18 03:37:45 -07:00
cnderrauber e3597d780d Update pion to handle different extensions in two media section (#2878)
Also remove the code to disable DD extension for vp8/h264, it
cause DD can't be processed if the first video track is non-svc
codec.
2024-07-18 14:49:04 +08:00
Raja Subramanian 4733e864bc Rollover sequence number when time stamp is moving forward. (#2876)
* Rollover sequence number when time stamp is moving forward.

Seeing large gaps in sequence number due to potential network issues.
In that gap, the sequence number could roll over.

Using packet time jumps to figure out if a roll over could have happened
and force roll over the sequence number to ensure that it does not flow
backwards.

* fix test
2024-07-18 11:02:52 +05:30
renovate[bot] fbc0cf3f86 Update golang.org/x/exp digest to 1d5bc16 (#2856)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-07-16 11:44:41 -07:00