Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Bridge~/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"author": "",
"license": "Apache-2.0",
"dependencies": {
"livekit-client": "^1.15.13",
"livekit-client": " v2.5.0",
"typed-emitter": "^2.1.0"
},
"devDependencies": {
Expand Down
80 changes: 45 additions & 35 deletions Bridge~/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
# yarn lockfile v1


"@bufbuild/protobuf@^1.3.0":
version "1.3.1"
resolved "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.3.1.tgz"
integrity sha512-BUyJWutgP2S8K/1NphOJokuwDckXS4qI2T1pGZAlkFdZchWae3jm6fCdkcGbLlM1QLOcNFFePd+7Feo4BYGrJQ==
"@bufbuild/protobuf@^1.7.2":
version "1.10.0"
resolved "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-1.10.0.tgz"
integrity sha512-QDdVFLoN93Zjg36NoQPZfsVH9tZew7wKDKyV5qRdj8ntT4wQCOradQjRaTdwMhWUYsgKsvCINKKm87FdEk96Ag==

"@discoveryjs/json-ext@^0.5.0":
version "0.5.7"
Expand Down Expand Up @@ -52,6 +52,21 @@
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"

"@livekit/livekit-unity@file:":
version "1.5.1"
resolved "file:"
dependencies:
"@livekit/livekit-unity" "file:"
livekit-client " v2.5.0"
typed-emitter "^2.1.0"

"@livekit/[email protected]":
version "1.20.0"
resolved "https://registry.npmjs.org/@livekit/protocol/-/protocol-1.20.0.tgz"
integrity sha512-2RJQwzBa+MfUoy0zBWuyj8S2MTBxeTgREeG0r/1bNmkAFiBhsdgr87gIvblyqJxffUxJpALMu1Ee0M1XHX+9Ug==
dependencies:
"@bufbuild/protobuf" "^1.7.2"

"@types/eslint-scope@^3.7.3":
version "3.7.3"
resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz"
Expand Down Expand Up @@ -234,7 +249,7 @@ acorn-import-assertions@^1.7.6:
resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz"
integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==

acorn@^8.4.1, acorn@^8.5.0:
acorn@^8, acorn@^8.4.1, acorn@^8.5.0:
version "8.7.1"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz"
integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
Expand All @@ -244,7 +259,7 @@ ajv-keywords@^3.5.2:
resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz"
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==

ajv@^6.12.5:
ajv@^6.12.5, ajv@^6.9.1:
version "6.12.6"
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
Expand Down Expand Up @@ -528,19 +543,19 @@ kind-of@^6.0.2:
resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==

livekit-client@^1.15.13:
version "1.15.13"
resolved "https://registry.yarnpkg.com/livekit-client/-/livekit-client-1.15.13.tgz#23c6baa95c31ba2231b7fb1d3d5dd5e86f93c57b"
integrity sha512-0oPyZvQ8RK/Gi7Hhmg1hIHM5qpGbkpVtjGC2J1AZlNs41Bp45bU9sgCWRVZ+nd++vDSWEOR/lXiHE8sXPgcFTA==
"livekit-client@ v2.5.0":
version "2.5.0"
resolved "https://registry.npmjs.org/livekit-client/-/livekit-client-2.5.0.tgz"
integrity sha512-4E8wiTstl2KLilYmrBgBy8G328Y6A92ysv6SLXkz/k54n4xguL5RS3qdmKNkPFbiL5xW22yw6dwf4Vf/j34eOA==
dependencies:
"@bufbuild/protobuf" "^1.3.0"
"@livekit/protocol" "1.20.0"
events "^3.3.0"
loglevel "^1.8.0"
sdp-transform "^2.14.1"
ts-debounce "^4.0.0"
tslib "2.6.2"
tslib "2.6.3"
typed-emitter "^2.1.0"
webrtc-adapter "^8.1.1"
webrtc-adapter "^9.0.0"

loader-runner@^4.2.0:
version "4.3.0"
Expand Down Expand Up @@ -718,10 +733,10 @@ sdp-transform@^2.14.1:
resolved "https://registry.npmjs.org/sdp-transform/-/sdp-transform-2.14.1.tgz"
integrity sha512-RjZyX3nVwJyCuTo5tGPx+PZWkDMCg7oOLpSlhjDdZfwUoNqG1mM8nyj31IGHyaPWXhjbP7cdK3qZ2bmkJ1GzRw==

sdp@^3.0.2:
version "3.0.3"
resolved "https://registry.npmjs.org/sdp/-/sdp-3.0.3.tgz"
integrity sha512-8EkfckS+XZQaPLyChu4ey7PghrdcraCVNpJe2Gfdi2ON1ylQ7OasuKX+b37R9slnRChwIAiQgt+oj8xXGD8x+A==
sdp@^3.2.0:
version "3.2.0"
resolved "https://registry.npmjs.org/sdp/-/sdp-3.2.0.tgz"
integrity sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==

semver@^7.3.4:
version "7.3.7"
Expand Down Expand Up @@ -836,24 +851,19 @@ ts-loader@^9.2.6:
micromatch "^4.0.0"
semver "^7.3.4"

[email protected]:
version "2.6.2"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==

tslib@^2.1.0:
version "2.4.0"
resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz"
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
tslib@^2.1.0, [email protected]:
version "2.6.3"
resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz"
integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==

typed-emitter@^2.1.0:
version "2.1.0"
resolved "https://registry.npmjs.org/typed-emitter/-/typed-emitter-2.1.0.tgz"
integrity sha512-g/KzbYKbH5C2vPkaXGu8DJlHrGKHLsM25Zg9WuC9pMGfuvT+X25tZQWo5fK1BjBm8+UrVE9LDCvaY0CQk+fXDA==
optionalDependencies:
rxjs "^7.5.2"
rxjs "*"

typescript@^4.5.5:
typescript@*, typescript@^4.5.5:
version "4.7.3"
resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz"
integrity sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==
Expand All @@ -873,7 +883,7 @@ watchpack@^2.3.1:
glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"

webpack-cli@^5.0.1:
webpack-cli@^5.0.1, [email protected]:
version "5.0.1"
resolved "https://registry.npmjs.org/webpack-cli/-/webpack-cli-5.0.1.tgz"
integrity sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==
Expand Down Expand Up @@ -905,7 +915,7 @@ webpack-sources@^3.2.3:
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==

webpack@^5.68.0:
webpack@^5.0.0, webpack@^5.1.0, webpack@^5.68.0, [email protected]:
version "5.73.0"
resolved "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz"
integrity sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==
Expand Down Expand Up @@ -935,12 +945,12 @@ webpack@^5.68.0:
watchpack "^2.3.1"
webpack-sources "^3.2.3"

webrtc-adapter@^8.1.1:
version "8.1.1"
resolved "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-8.1.1.tgz"
integrity sha512-1yXevP7TeZGmklEXkvQVrZp3fOSJlLeXNGCA7NovQokxgP3/e2T3EVGL0eKU87S9vKppWjvRWqnJeSANEspOBg==
webrtc-adapter@^9.0.0:
version "9.0.1"
resolved "https://registry.npmjs.org/webrtc-adapter/-/webrtc-adapter-9.0.1.tgz"
integrity sha512-1AQO+d4ElfVSXyzNVTOewgGT/tAomwwztX/6e3totvyyzXPvXIIuUUjAmyZGbKBKbZOXauuJooZm3g6IuFuiNQ==
dependencies:
sdp "^3.0.2"
sdp "^3.2.0"

which@^2.0.1:
version "2.0.2"
Expand Down
1 change: 0 additions & 1 deletion Runtime/Scripts/Internal/Proto.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ public enum VideoQuality
LOW = 0,
MEDIUM = 1,
HIGH = 2,
OFF = 3,
UNRECOGNIZED = -1,
}

Expand Down
3 changes: 0 additions & 3 deletions Runtime/Scripts/Options.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,5 @@ public struct RoomConnectOptions
public bool AutoSubscribe;
[JsonProperty("rtcConfig")]
public RTCConfiguration? RTCConfig;
[Obsolete]
[JsonProperty("publishOnly")]
public string PublishOnly;
}
}
23 changes: 13 additions & 10 deletions Runtime/Scripts/Room/Participant/LocalParticipant.cs
Original file line number Diff line number Diff line change
Expand Up @@ -153,27 +153,30 @@ public LocalTrackPublication UnpublishTrack(MediaStreamTrack track, bool? stopOn
return Acquire<LocalTrackPublication>(ptr);
}

// TODO Support unsafe ptr
public JSPromise PublishData(byte[] data, DataPacketKind kind, params RemoteParticipant[] participants)
public JSPromise PublishData(byte[] data, bool reliable, string[] destinationIdentities, string topic)
{
return PublishData(data, 0, data.Length, kind, participants);
return PublishData(data, 0, data.Length, reliable, destinationIdentities, topic);
}

public JSPromise PublishData(byte[] data, int offset, int size, DataPacketKind kind,
params RemoteParticipant[] participants)
public JSPromise PublishData(byte[] data, int offset, int size, bool reliable, string[] destinationIdentities, string topic)
{
JSArray<RemoteParticipant> arr = null;
if (participants != null)
arr = new JSArray<RemoteParticipant>(participants);
JSArray<string> arr = null;
if (destinationIdentities != null)
arr = new JSArray<string>(destinationIdentities);

JSNative.PushData(data, offset, size);
JSNative.PushNumber((double) kind);
JSNative.PushBoolean((bool)reliable);

if (participants == null)
if (destinationIdentities == null)
JSNative.PushUndefined();
else
JSNative.PushObject(arr.NativeHandle);

if(topic == null)
JSNative.PushUndefined();
else
JSNative.PushString(topic);

return Acquire<JSPromise>(JSNative.CallMethod(NativeHandle, "publishData"));
}

Expand Down
35 changes: 23 additions & 12 deletions Runtime/Scripts/Room/Participant/Participant.cs
Original file line number Diff line number Diff line change
Expand Up @@ -56,29 +56,29 @@ public class Participant : JSEventEmitter<ParticipantEvent>
public event TrackStreamStateChangedDelegate TrackStreamStateChanged;
public event TrackSubscriptionPermissionChangedDelegate TrackSubscriptionPermissionChanged;

public JSMap<string, TrackPublication> AudioTracks
public JSMap<string, TrackPublication> AudioTrackPublications
{
get
{
JSNative.PushString("audioTracks");
JSNative.PushString("audioTrackPublications");
return Acquire<JSMap<string, TrackPublication>>(JSNative.GetProperty(NativeHandle));
}
}

public JSMap<string, TrackPublication> VideoTracks
public JSMap<string, TrackPublication> VideoTrackPublications
{
get
{
JSNative.PushString("videoTracks");
JSNative.PushString("videoTrackPublications");
return Acquire<JSMap<string, TrackPublication>>(JSNative.GetProperty(NativeHandle));
}
}

public JSMap<string, TrackPublication> Tracks
public JSMap<string, TrackPublication> TrackPublications
{
get
{
JSNative.PushString("tracks");
JSNative.PushString("trackPublications");
return Acquire<JSMap<string, TrackPublication>>(JSNative.GetProperty(NativeHandle));
}
}
Expand Down Expand Up @@ -344,31 +344,42 @@ private void RegisterEvents()
SetListener((ParticipantEvent) e, EventReceived);
}

public JSArray<TrackPublication> GetTracks()
public JSArray<TrackPublication> GetTrackPublications()
{
return Acquire<JSArray<TrackPublication>>(JSNative.CallMethod(NativeHandle, "getTracks"));
return Acquire<JSArray<TrackPublication>>(JSNative.CallMethod(NativeHandle, "getTrackPublications"));
}

public TrackPublication GetTrack(TrackSource source)
public TrackPublication GetTrackPublication(TrackSource source)
{
JSNative.PushString(Utils.ToEnumString(source));

var ptr = JSNative.CallMethod(NativeHandle, "getTrack");
var ptr = JSNative.CallMethod(NativeHandle, "getTrackPublication");
if (!JSNative.IsObject(ptr))
return null;

return Acquire<TrackPublication>(ptr);
}

public TrackPublication GetTrackByName(string name)
public TrackPublication GetTrackPublicationByName(string name)
{
JSNative.PushString(name);

var ptr = JSNative.CallMethod(NativeHandle, "getTrackByName");
var ptr = JSNative.CallMethod(NativeHandle, "getTrackPublicationByName");
if (!JSNative.IsObject(ptr))
return null;

return Acquire<TrackPublication>(ptr);
}

public TrackPublication GetTrackPublicationBySid(string sid)
{
JSNative.PushString(sid);

var ptr = JSNative.CallMethod(NativeHandle, "getTrackPublicationBySid");
if (!JSNative.IsObject(ptr))
return null;

return Acquire<TrackPublication>(ptr);
}
}
}
26 changes: 15 additions & 11 deletions Runtime/Scripts/Room/Participant/RemoteParticipant.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,25 +22,29 @@ public float GetVolume()
return (float) JSNative.GetNumber(JSNative.CallMethod(NativeHandle, "getVolume"));
}

public new RemoteTrackPublication GetTrack(TrackSource source)
public new RemoteTrackPublication GetTrackPublication(TrackSource source)
{
return base.GetTrack(source) as RemoteTrackPublication;
return base.GetTrackPublication(source) as RemoteTrackPublication;
}

public new RemoteTrackPublication GetTrackByName(string name)
public new RemoteTrackPublication GetTrackPublicationByName(string name)
{
return base.GetTrackByName(name) as RemoteTrackPublication;
return base.GetTrackPublicationByName(name) as RemoteTrackPublication;
}

public RemoteTrackPublication GetTrackPublication(string sid)

public new RemoteTrackPublication GetTrackPublicationBySid(string sid)
{
JSNative.PushString(sid);
return base.GetTrackPublicationBySid(sid) as RemoteTrackPublication;
}

var ptr = JSNative.CallMethod(NativeHandle, "getTrackPublication");
if (!JSNative.IsObject(ptr))
return null;

return Acquire<RemoteTrackPublication>(ptr);
public JSMap<string, RemoteTrackPublication> RemotePublications
{
get
{
JSNative.PushString("trackPublications");
return Acquire<JSMap<string, RemoteTrackPublication>>(JSNative.GetProperty(NativeHandle));
}
}
}
}
Loading