Skip to content

Commit bd62d4d

Browse files
authored
Expose set video quality (#164)
1 parent 8a0df1d commit bd62d4d

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

Runtime/Scripts/Internal/FFIClients/FfiRequestExtensions.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,9 @@ public static void Inject<T>(this FfiRequest ffiRequest, T request)
143143
case TextStreamWriterCloseRequest textStreamWriterCloseRequest:
144144
ffiRequest.TextStreamClose = textStreamWriterCloseRequest;
145145
break;
146+
case SetRemoteTrackPublicationQualityRequest setRemoteTrackPublicationQualityRequest:
147+
ffiRequest.SetRemoteTrackPublicationQuality = setRemoteTrackPublicationQualityRequest;
148+
break;
146149
default:
147150
throw new Exception($"Unknown request type: {request?.GetType().FullName ?? "null"}");
148151
}

Runtime/Scripts/TrackPublication.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,22 @@ public void SetSubscribed(bool subscribed)
6363
setSubscribed.PublicationHandle = (ulong)Handle.DangerousGetHandle();
6464
using var response = request.Send();
6565
}
66+
67+
/// <summary>
68+
/// For video tracks that support simulcasting, adjust subscribed quality.
69+
///
70+
/// This indicates the highest quality the client can accept. If network
71+
/// bandwidth does not allow, the server will automatically reduce quality to
72+
/// optimize for uninterrupted video.
73+
/// </summary>
74+
public void SetVideoQuality(VideoQuality quality)
75+
{
76+
using var request = FFIBridge.Instance.NewRequest<SetRemoteTrackPublicationQualityRequest>();
77+
var setRemoteTrackPublicationQuality = request.request;
78+
setRemoteTrackPublicationQuality.TrackPublicationHandle = (ulong)Handle.DangerousGetHandle();
79+
setRemoteTrackPublicationQuality.Quality = quality;
80+
using var response = request.Send();
81+
}
6682
}
6783

6884
public sealed class LocalTrackPublication : TrackPublication

0 commit comments

Comments
 (0)