Skip to content
Merged
Changes from all 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
57 changes: 39 additions & 18 deletions Runtime/Scripts/Room/Participant/LocalParticipant.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ public class LocalParticipant : Participant
[Preserve]
internal LocalParticipant(JSHandle handle) : base(handle)
{

}

public JSError LastCameraError()
Expand Down Expand Up @@ -39,31 +38,50 @@ public JSError LastMicrophoneError()
return base.GetTrackByName(name) as LocalTrackPublication;
}

public JSPromise<LocalTrackPublication> SetCameraEnabled(bool enabled, VideoCaptureOptions? options = null)
public JSPromise<LocalTrackPublication> SetCameraEnabled(bool enabled, VideoCaptureOptions? options = null,
TrackPublishOptions? publishOptions = null)
{
JSNative.PushBoolean(enabled);
if (options != null)
JSNative.PushStruct(JsonConvert.SerializeObject(options, JSNative.JsonSettings));

else
JSNative.PushUndefined();

if (publishOptions != null)
JSNative.PushStruct(JsonConvert.SerializeObject(publishOptions, JSNative.JsonSettings));

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

public JSPromise<LocalTrackPublication> SetMicrophoneEnabled(bool enabled, AudioCaptureOptions? options = null)
public JSPromise<LocalTrackPublication> SetMicrophoneEnabled(bool enabled, AudioCaptureOptions? options = null,
TrackPublishOptions? publishOptions = null)
{
JSNative.PushBoolean(enabled);
if (options != null)
JSNative.PushStruct(JsonConvert.SerializeObject(options, JSNative.JsonSettings));

else
JSNative.PushUndefined();

if (publishOptions != null)
JSNative.PushStruct(JsonConvert.SerializeObject(publishOptions, JSNative.JsonSettings));

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

public JSPromise<LocalTrackPublication> SetScreenShareEnabled(bool enabled, ScreenShareCaptureOptions? options = null)
public JSPromise<LocalTrackPublication> SetScreenShareEnabled(bool enabled,
ScreenShareCaptureOptions? options = null, TrackPublishOptions? publishOptions = null)
{
JSNative.PushBoolean(enabled);
if (options != null)
JSNative.PushStruct(JsonConvert.SerializeObject(options, JSNative.JsonSettings));

return Acquire<JSPromise<LocalTrackPublication>>(JSNative.CallMethod(NativeHandle, "setScreenShareEnabled"));
else
JSNative.PushUndefined();

if (publishOptions != null)
JSNative.PushStruct(JsonConvert.SerializeObject(publishOptions, JSNative.JsonSettings));

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

public JSPromise EnableCameraAndMicrophone()
Expand Down Expand Up @@ -97,7 +115,8 @@ public JSPromise<LocalTrackPublication> PublishTrack(LocalTrack track, TrackPubl
return Acquire<JSPromise<LocalTrackPublication>>(JSNative.CallMethod(NativeHandle, "publishTrack"));
}

public JSPromise<LocalTrackPublication> PublishTrack(MediaStreamTrack track, TrackPublishOptions? options = null)
public JSPromise<LocalTrackPublication> PublishTrack(MediaStreamTrack track,
TrackPublishOptions? options = null)
{
JSNative.PushObject(track.NativeHandle);
if (options != null)
Expand All @@ -110,13 +129,13 @@ public LocalTrackPublication UnpublishTrack(LocalTrack track, bool? stopOnUnpubl
{
JSNative.PushObject(track.NativeHandle);

if(stopOnUnpublish != null)
if (stopOnUnpublish != null)
JSNative.PushBoolean(stopOnUnpublish.Value);

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

return Acquire<LocalTrackPublication>(ptr);
}

Expand All @@ -130,7 +149,7 @@ public LocalTrackPublication UnpublishTrack(MediaStreamTrack track, bool? stopOn
var ptr = JSNative.CallMethod(NativeHandle, "unpublishTrack");
if (JSNative.IsObject(ptr))
return null;

return Acquire<LocalTrackPublication>(ptr);
}

Expand All @@ -139,15 +158,16 @@ public JSPromise PublishData(byte[] data, DataPacketKind kind, params RemotePart
{
return PublishData(data, 0, data.Length, kind, participants);
}

public JSPromise PublishData(byte[] data, int offset, int size, DataPacketKind kind, params RemoteParticipant[] participants)

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

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

if (participants == null)
JSNative.PushUndefined();
Expand All @@ -156,8 +176,9 @@ public JSPromise PublishData(byte[] data, int offset, int size, DataPacketKind k

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

public void SetTrackSubscriptionPermissions(bool allParticipantsAllowed, ParticipantTrackPermission[] participantTrackPermissions)

public void SetTrackSubscriptionPermissions(bool allParticipantsAllowed,
ParticipantTrackPermission[] participantTrackPermissions)
{
JSNative.PushBoolean(allParticipantsAllowed);
JSNative.PushObject(new JSArray<ParticipantTrackPermission>(participantTrackPermissions).NativeHandle);
Expand Down