Skip to content

Commit dcf61d1

Browse files
authored
hotfix: update Livekit to latest version/Fix black screen streaming in Mac (#7276)
1 parent 1738697 commit dcf61d1

20 files changed

Lines changed: 140 additions & 102 deletions

Explorer/Assets/DCL/Multiplayer/Connections/Rooms/Interior/InteriorAudioTracks.cs

Lines changed: 0 additions & 22 deletions
This file was deleted.

Explorer/Assets/DCL/Multiplayer/Connections/Rooms/Interior/InteriorAudioTracks.cs.meta

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using DCL.Multiplayer.Connections.Rooms.Nulls;
2+
using LiveKit;
3+
using LiveKit.Rooms.Tracks;
4+
using LiveKit.RtcSources.Video;
5+
6+
namespace DCL.Multiplayer.Connections.Rooms.Interior
7+
{
8+
public class InteriorLocalTracks: ILocalTracks, IInterior<ILocalTracks>
9+
{
10+
private ILocalTracks assigned = NullLocalTracks.INSTANCE;
11+
12+
public ITrack CreateAudioTrack(string name, IRtcAudioSource source) =>
13+
assigned.EnsureAssigned().CreateAudioTrack(name, source);
14+
15+
public ITrack CreateVideoTrack(string name, RtcVideoSource source) =>
16+
assigned.EnsureAssigned().CreateVideoTrack(name, source);
17+
18+
public void Assign(ILocalTracks value, out ILocalTracks? previous)
19+
{
20+
previous = assigned;
21+
assigned = value;
22+
23+
previous = previous is NullLocalTracks ? null : previous;
24+
}
25+
}
26+
}

Explorer/Assets/DCL/Multiplayer/Connections/Rooms/Interior/InteriorLocalTracks.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Explorer/Assets/DCL/Multiplayer/Connections/Rooms/InteriorRoom.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class InteriorRoom : IRoom, IInterior<IRoom>
2828
private readonly InteriorDataPipe dataPipe = new ();
2929
private readonly InteriorVideoStreams videoStreams = new ();
3030
private readonly InteriorAudioStreams audioStreams = new ();
31-
private readonly InteriorAudioTracks audioTracks = new ();
31+
private readonly InteriorLocalTracks localTracks = new ();
3232

3333
private const int RESET_ROOM_TIMEOUT_SECONDS = 5;
3434

@@ -38,7 +38,7 @@ public class InteriorRoom : IRoom, IInterior<IRoom>
3838
public IRoomInfo Info => assigned.Info;
3939
public IVideoStreams VideoStreams => videoStreams;
4040
public IAudioStreams AudioStreams => audioStreams;
41-
public IAudioTracks AudioTracks => audioTracks;
41+
public ILocalTracks LocalTracks => localTracks;
4242

4343
internal IRoom assigned { get; private set; } = NullRoom.INSTANCE;
4444

@@ -156,7 +156,7 @@ private void Subscribe(IRoom room)
156156
dataPipe.Assign(room.DataPipe);
157157
videoStreams.Assign(room.VideoStreams);
158158
audioStreams.Assign(room.AudioStreams);
159-
audioTracks.Assign(room.AudioTracks);
159+
localTracks.Assign(room.LocalTracks);
160160

161161
room.RoomMetadataChanged += RoomOnRoomMetadataChanged;
162162
room.RoomSidChanged += RoomOnRoomSidChanged;

Explorer/Assets/DCL/Multiplayer/Connections/Rooms/LogRoom.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
using LiveKit.Rooms.Streaming.Audio;
1010
using LiveKit.Rooms.TrackPublications;
1111
using LiveKit.Rooms.Tracks;
12+
using LiveKit.Rooms.Tracks.Factory;
1213
using LiveKit.Rooms.Tracks.Hub;
1314
using LiveKit.Rooms.VideoStreaming;
1415
using System.Threading;
@@ -30,7 +31,7 @@ public class LogRoom : IRoom
3031
public IRoomInfo Info { get; }
3132
public IVideoStreams VideoStreams { get; }
3233
public IAudioStreams AudioStreams { get; }
33-
public IAudioTracks AudioTracks { get; }
34+
public ILocalTracks LocalTracks { get; }
3435

3536
public event LocalPublishDelegate? LocalTrackPublished;
3637
public event LocalPublishDelegate? LocalTrackUnpublished;
@@ -62,7 +63,7 @@ public LogRoom(IRoom origin, string roomName)
6263
Info = new LogRoomInfo(origin.Info);
6364
VideoStreams = new LogVideoStreams(origin.VideoStreams);
6465
AudioStreams = new LogAudioStreams(origin.AudioStreams);
65-
AudioTracks = new LogAudioTracks(origin.AudioTracks);
66+
LocalTracks = new LogLocalTracks(origin.LocalTracks);
6667

6768
this.origin.LocalTrackPublished += OriginOnLocalTrackPublished;
6869
this.origin.LocalTrackUnpublished += OriginOnLocalTrackUnpublished;

Explorer/Assets/DCL/Multiplayer/Connections/Rooms/Logs/LogAudioTracks.cs

Lines changed: 0 additions & 31 deletions
This file was deleted.

Explorer/Assets/DCL/Multiplayer/Connections/Rooms/Logs/LogAudioTracks.cs.meta

Lines changed: 0 additions & 3 deletions
This file was deleted.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
using DCL.Diagnostics;
2+
using LiveKit;
3+
using LiveKit.Rooms.Tracks;
4+
using LiveKit.RtcSources.Video;
5+
6+
namespace DCL.Multiplayer.Connections.Rooms.Logs
7+
{
8+
public class LogLocalTracks: ILocalTracks
9+
{
10+
private const string PREFIX = "LogLocalTracks:";
11+
12+
private readonly ILocalTracks origin;
13+
14+
public LogLocalTracks(ILocalTracks origin)
15+
{
16+
this.origin = origin;
17+
}
18+
19+
public ITrack CreateAudioTrack(string name, IRtcAudioSource source)
20+
{
21+
ReportHub
22+
.WithReport(ReportCategory.LIVEKIT)
23+
.Log($"{PREFIX} {nameof(CreateAudioTrack)} called name:{name} sourceType:{source.GetType().Name}");
24+
25+
ITrack track = origin.CreateAudioTrack(name, source);
26+
27+
ReportHub
28+
.WithReport(ReportCategory.LIVEKIT)
29+
.Log($"{PREFIX} {nameof(CreateAudioTrack)} result trackType:{track.GetType().Name}");
30+
31+
return track;
32+
}
33+
34+
public ITrack CreateVideoTrack(string name, RtcVideoSource source)
35+
{
36+
ReportHub
37+
.WithReport(ReportCategory.LIVEKIT)
38+
.Log($"{PREFIX} {nameof(CreateVideoTrack)} called name:{name} sourceType:{source.GetType().Name}");
39+
40+
ITrack track = origin.CreateVideoTrack(name, source);
41+
42+
ReportHub
43+
.WithReport(ReportCategory.LIVEKIT)
44+
.Log($"{PREFIX} {nameof(CreateVideoTrack)} result trackType:{track.GetType().Name}");
45+
46+
return track;
47+
}
48+
}
49+
}

Explorer/Assets/DCL/Multiplayer/Connections/Rooms/Logs/LogLocalTracks.cs.meta

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)