mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-04-12 12:06:58 +00:00
[feature] added IHasCodecLayoutsAvailable interface and associated bridge linking methods
Modifies #966
This commit is contained in:
parent
d8ac302f1c
commit
b505ad467b
3 changed files with 82 additions and 0 deletions
|
|
@ -22,6 +22,16 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||
void MinMaxLayoutToggle();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Defines the required elements for layout control with direct layout selection
|
||||
/// </summary>
|
||||
public interface IHasCodecLayoutsAvailable : IHasCodecLayouts
|
||||
{
|
||||
StringFeedback AvailableLocalLayoutsFeedback { get; set; }
|
||||
Dictionary<string, string> AvailableLocalLayouts { get; set; }
|
||||
void LocalLayoutSet(string layoutId);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Defines the requirements for Zoom Room layout control
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -370,6 +370,11 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||
LinkVideoCodecCameraLayoutsToApi(codec as IHasCodecLayouts, trilist, joinMap);
|
||||
}
|
||||
|
||||
if (codec is IHasCodecLayoutsAvailable)
|
||||
{
|
||||
LinkVideoCodecAvailableLayoutsToApi(codec as IHasCodecLayoutsAvailable, trilist, joinMap);
|
||||
}
|
||||
|
||||
if (codec is IHasSelfviewPosition)
|
||||
{
|
||||
LinkVideoCodecSelfviewPositionToApi(codec as IHasSelfviewPosition, trilist, joinMap);
|
||||
|
|
@ -1471,6 +1476,14 @@ namespace PepperDash.Essentials.Devices.Common.VideoCodec
|
|||
codec.LocalLayoutFeedback.LinkInputSig(trilist.StringInput[joinMap.CurrentLayoutStringFb.JoinNumber]);
|
||||
}
|
||||
|
||||
private void LinkVideoCodecAvailableLayoutsToApi(IHasCodecLayoutsAvailable codec, BasicTriList trilist,
|
||||
VideoCodecControllerJoinMap joinMap)
|
||||
{
|
||||
codec.AvailableLocalLayoutsFeedback.LinkInputSig(trilist.StringInput[joinMap.AvailableLayoutsFb.JoinNumber]);
|
||||
|
||||
trilist.SetStringSigAction(joinMap.SelectLayout.JoinNumber, codec.LocalLayoutSet);
|
||||
}
|
||||
|
||||
private void LinkVideoCodecCameraModeToApi(IHasCameraAutoMode codec, BasicTriList trilist, VideoCodecControllerJoinMap joinMap)
|
||||
{
|
||||
trilist.SetSigFalseAction(joinMap.CameraModeAuto.JoinNumber, codec.CameraAutoModeOn);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue