Skip to content

Commit fd660d0

Browse files
cloudwebrtclukasIO
andauthored
feat: 2.0 changes. (#60)
* feat: 2.0 changes. * update js pkg. * Update package.json * Update Bridge~/package.json Co-authored-by: lukasIO <mail@lukasseiler.de> * update. * fix. --------- Co-authored-by: lukasIO <mail@lukasseiler.de>
1 parent 1391c5c commit fd660d0

File tree

10 files changed

+1228
-1023
lines changed

10 files changed

+1228
-1023
lines changed

Bridge~/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"author": "",
2121
"license": "Apache-2.0",
2222
"dependencies": {
23-
"livekit-client": "^1.15.13",
23+
"livekit-client": "^2.5.0",
2424
"typed-emitter": "^2.1.0"
2525
},
2626
"devDependencies": {

Bridge~/pnpm-lock.yaml

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

Bridge~/yarn.lock

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

Runtime/Scripts/Internal/Proto.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ public enum VideoQuality
1414
LOW = 0,
1515
MEDIUM = 1,
1616
HIGH = 2,
17-
OFF = 3,
1817
UNRECOGNIZED = -1,
1918
}
2019

Runtime/Scripts/Options.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,5 @@ public struct RoomConnectOptions
4646
public bool AutoSubscribe;
4747
[JsonProperty("rtcConfig")]
4848
public RTCConfiguration? RTCConfig;
49-
[Obsolete]
50-
[JsonProperty("publishOnly")]
51-
public string PublishOnly;
5249
}
5350
}

Runtime/Scripts/Room/Participant/LocalParticipant.cs

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,19 @@ public JSError LastMicrophoneError()
2828
return Acquire<JSError>(ptr);
2929
}
3030

31-
public new LocalTrackPublication GetTrack(TrackSource source)
31+
public new LocalTrackPublication GetTrackPublication(TrackSource source)
3232
{
33-
return base.GetTrack(source) as LocalTrackPublication;
33+
return base.GetTrackPublication(source) as LocalTrackPublication;
3434
}
3535

36-
public new LocalTrackPublication GetTrackByName(string name)
36+
public new LocalTrackPublication GetTrackPublicationByName(string name)
3737
{
38-
return base.GetTrackByName(name) as LocalTrackPublication;
38+
return base.GetTrackPublicationByName(name) as LocalTrackPublication;
39+
}
40+
41+
public new LocalTrackPublication GetTrackPublicationBySid(string sid)
42+
{
43+
return base.GetTrackPublicationBySid(sid) as LocalTrackPublication;
3944
}
4045

4146
public JSPromise<LocalTrackPublication> SetCameraEnabled(bool enabled, VideoCaptureOptions? options = null,
@@ -153,27 +158,30 @@ public LocalTrackPublication UnpublishTrack(MediaStreamTrack track, bool? stopOn
153158
return Acquire<LocalTrackPublication>(ptr);
154159
}
155160

156-
// TODO Support unsafe ptr
157-
public JSPromise PublishData(byte[] data, DataPacketKind kind, params RemoteParticipant[] participants)
161+
public JSPromise PublishData(byte[] data, bool reliable, string[] destinationIdentities, string topic)
158162
{
159-
return PublishData(data, 0, data.Length, kind, participants);
163+
return PublishData(data, 0, data.Length, reliable, destinationIdentities, topic);
160164
}
161165

162-
public JSPromise PublishData(byte[] data, int offset, int size, DataPacketKind kind,
163-
params RemoteParticipant[] participants)
166+
public JSPromise PublishData(byte[] data, int offset, int size, bool reliable, string[] destinationIdentities, string topic)
164167
{
165-
JSArray<RemoteParticipant> arr = null;
166-
if (participants != null)
167-
arr = new JSArray<RemoteParticipant>(participants);
168+
JSArray<string> arr = null;
169+
if (destinationIdentities != null)
170+
arr = new JSArray<string>(destinationIdentities);
168171

169172
JSNative.PushData(data, offset, size);
170-
JSNative.PushNumber((double) kind);
173+
JSNative.PushBoolean((bool)reliable);
171174

172-
if (participants == null)
175+
if (destinationIdentities == null)
173176
JSNative.PushUndefined();
174177
else
175178
JSNative.PushObject(arr.NativeHandle);
176179

180+
if(topic == null)
181+
JSNative.PushUndefined();
182+
else
183+
JSNative.PushString(topic);
184+
177185
return Acquire<JSPromise>(JSNative.CallMethod(NativeHandle, "publishData"));
178186
}
179187

Runtime/Scripts/Room/Participant/Participant.cs

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -56,29 +56,29 @@ public class Participant : JSEventEmitter<ParticipantEvent>
5656
public event TrackStreamStateChangedDelegate TrackStreamStateChanged;
5757
public event TrackSubscriptionPermissionChangedDelegate TrackSubscriptionPermissionChanged;
5858

59-
public JSMap<string, TrackPublication> AudioTracks
59+
public JSMap<string, TrackPublication> AudioTrackPublications
6060
{
6161
get
6262
{
63-
JSNative.PushString("audioTracks");
63+
JSNative.PushString("audioTrackPublications");
6464
return Acquire<JSMap<string, TrackPublication>>(JSNative.GetProperty(NativeHandle));
6565
}
6666
}
6767

68-
public JSMap<string, TrackPublication> VideoTracks
68+
public JSMap<string, TrackPublication> VideoTrackPublications
6969
{
7070
get
7171
{
72-
JSNative.PushString("videoTracks");
72+
JSNative.PushString("videoTrackPublications");
7373
return Acquire<JSMap<string, TrackPublication>>(JSNative.GetProperty(NativeHandle));
7474
}
7575
}
7676

77-
public JSMap<string, TrackPublication> Tracks
77+
public JSMap<string, TrackPublication> TrackPublications
7878
{
7979
get
8080
{
81-
JSNative.PushString("tracks");
81+
JSNative.PushString("trackPublications");
8282
return Acquire<JSMap<string, TrackPublication>>(JSNative.GetProperty(NativeHandle));
8383
}
8484
}
@@ -344,31 +344,42 @@ private void RegisterEvents()
344344
SetListener((ParticipantEvent) e, EventReceived);
345345
}
346346

347-
public JSArray<TrackPublication> GetTracks()
347+
public JSArray<TrackPublication> GetTrackPublications()
348348
{
349-
return Acquire<JSArray<TrackPublication>>(JSNative.CallMethod(NativeHandle, "getTracks"));
349+
return Acquire<JSArray<TrackPublication>>(JSNative.CallMethod(NativeHandle, "getTrackPublications"));
350350
}
351351

352-
public TrackPublication GetTrack(TrackSource source)
352+
public TrackPublication GetTrackPublication(TrackSource source)
353353
{
354354
JSNative.PushString(Utils.ToEnumString(source));
355355

356-
var ptr = JSNative.CallMethod(NativeHandle, "getTrack");
356+
var ptr = JSNative.CallMethod(NativeHandle, "getTrackPublication");
357357
if (!JSNative.IsObject(ptr))
358358
return null;
359359

360360
return Acquire<TrackPublication>(ptr);
361361
}
362362

363-
public TrackPublication GetTrackByName(string name)
363+
public TrackPublication GetTrackPublicationByName(string name)
364364
{
365365
JSNative.PushString(name);
366366

367-
var ptr = JSNative.CallMethod(NativeHandle, "getTrackByName");
367+
var ptr = JSNative.CallMethod(NativeHandle, "getTrackPublicationByName");
368368
if (!JSNative.IsObject(ptr))
369369
return null;
370370

371371
return Acquire<TrackPublication>(ptr);
372372
}
373+
374+
public TrackPublication GetTrackPublicationBySid(string sid)
375+
{
376+
JSNative.PushString(sid);
377+
378+
var ptr = JSNative.CallMethod(NativeHandle, "getTrackPublicationBySid");
379+
if (!JSNative.IsObject(ptr))
380+
return null;
381+
382+
return Acquire<TrackPublication>(ptr);
383+
}
373384
}
374385
}

Runtime/Scripts/Room/Participant/RemoteParticipant.cs

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,29 @@ public float GetVolume()
2222
return (float) JSNative.GetNumber(JSNative.CallMethod(NativeHandle, "getVolume"));
2323
}
2424

25-
public new RemoteTrackPublication GetTrack(TrackSource source)
25+
public new RemoteTrackPublication GetTrackPublication(TrackSource source)
2626
{
27-
return base.GetTrack(source) as RemoteTrackPublication;
27+
return base.GetTrackPublication(source) as RemoteTrackPublication;
2828
}
2929

30-
public new RemoteTrackPublication GetTrackByName(string name)
30+
public new RemoteTrackPublication GetTrackPublicationByName(string name)
3131
{
32-
return base.GetTrackByName(name) as RemoteTrackPublication;
32+
return base.GetTrackPublicationByName(name) as RemoteTrackPublication;
3333
}
3434

35-
public RemoteTrackPublication GetTrackPublication(string sid)
35+
36+
public new RemoteTrackPublication GetTrackPublicationBySid(string sid)
3637
{
37-
JSNative.PushString(sid);
38+
return base.GetTrackPublicationBySid(sid) as RemoteTrackPublication;
39+
}
3840

39-
var ptr = JSNative.CallMethod(NativeHandle, "getTrackPublication");
40-
if (!JSNative.IsObject(ptr))
41-
return null;
42-
43-
return Acquire<RemoteTrackPublication>(ptr);
41+
public JSMap<string, RemoteTrackPublication> RemotePublications
42+
{
43+
get
44+
{
45+
JSNative.PushString("trackPublications");
46+
return Acquire<JSMap<string, RemoteTrackPublication>>(JSNative.GetProperty(NativeHandle));
47+
}
4448
}
4549
}
4650
}

Runtime/Scripts/Room/Room.cs

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ public class Room : JSEventEmitter<RoomEvent>, IDisposable
2525
public delegate void ReconnectingDelegate();
2626
public delegate void ReconnectedDelegate();
2727
public delegate void DisconnectedDelegate(DisconnectReason? reason);
28-
public delegate void StateChangedDelegate(ConnectionState state);
2928
public delegate void MediaDevicesChangedDelegate();
3029
public delegate void ParticipantConnectedDelegate(RemoteParticipant participant);
3130
public delegate void ParticipantDisconnectedDelegate(RemoteParticipant participant);
@@ -51,7 +50,6 @@ public class Room : JSEventEmitter<RoomEvent>, IDisposable
5150
public event ReconnectingDelegate Reconnecting;
5251
public event ReconnectedDelegate Reconnected;
5352
public event DisconnectedDelegate Disconnected;
54-
public event StateChangedDelegate StateChanged;
5553
public event MediaDevicesChangedDelegate MediaDevicesChanged;
5654
public event ParticipantConnectedDelegate ParticipantConnected;
5755
public event ParticipantDisconnectedDelegate ParticipantDisconnected;
@@ -105,13 +103,6 @@ private static void EventReceived(IntPtr iptr)
105103
room.Disconnected?.Invoke(reason);
106104
break;
107105
}
108-
case RoomEvent.StateChanged:
109-
{
110-
var str = JSNative.GetString(JSNative.ShiftStack());
111-
Log.Debug($"Room: Received StateChanged(\"{str}\"");
112-
room.StateChanged?.Invoke(Utils.ToEnum<ConnectionState>(str));
113-
break;
114-
}
115106
case RoomEvent.MediaDevicesChanged:
116107
Log.Debug($"Room: Received MediaDevicesChanged");
117108
room.MediaDevicesChanged?.Invoke();
@@ -320,11 +311,11 @@ public ConnectionState State
320311
}
321312
}
322313

323-
public JSMap<string, RemoteParticipant> Participants
314+
public JSMap<string, RemoteParticipant> RemoteParticipants
324315
{
325316
get
326317
{
327-
JSNative.PushString("participants");
318+
JSNative.PushString("remoteParticipants");
328319
return Acquire<JSMap<string, RemoteParticipant>>(JSNative.GetProperty(NativeHandle));
329320
}
330321
}
@@ -338,13 +329,9 @@ public JSArray<Participant> ActiveSpeakers
338329
}
339330
}
340331

341-
public string Sid
332+
public JSPromise<JSObject> GetSid()
342333
{
343-
get
344-
{
345-
JSNative.PushString("sid");
346-
return JSNative.GetString(JSNative.GetProperty(NativeHandle));
347-
}
334+
return Acquire<JSPromise<JSObject>>(JSNative.CallMethod(NativeHandle, "getSid"));
348335
}
349336

350337
public string Name

Runtime/Scripts/Room/Track/Options.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ public struct TrackPublishDefaults
7878
public VideoEncoding? ScreenShareEncoding;
7979
[JsonProperty("videoCodec")]
8080
public VideoCodec? VideoCodec;
81-
[JsonProperty("audioBitrate")]
82-
public int? AudioBitrate;
81+
[JsonProperty("maxBitrate")]
82+
public int? MaxBitrate;
8383
[JsonProperty("dtx")]
8484
public bool? DTX;
8585
[JsonProperty("simulcast")]
@@ -106,8 +106,6 @@ public struct TrackPublishOptions
106106
public VideoEncoding? ScreenShareEncoding;
107107
[JsonProperty("videoCodec")]
108108
public VideoCodec? VideoCodec;
109-
[JsonProperty("audioBitrate")]
110-
public int? AudioBitrate;
111109
[JsonProperty("dtx")]
112110
public bool? DTX;
113111
[JsonProperty("simulcast")]

0 commit comments

Comments
 (0)