mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-14 12:15:01 +00:00
feature: enhance 4K DM Endpoint HDCP functionality
feature: add bridge join to report number of HDCP inputs feature: Resolve #1088 feature: Resolve #1089
This commit is contained in:
@@ -5,8 +5,9 @@ using Crestron.SimplSharpPro.DM.Endpoints;
|
||||
using Crestron.SimplSharpPro.DM.Endpoints.Receivers;
|
||||
using PepperDash.Core;
|
||||
using PepperDash.Essentials.Core;
|
||||
using PepperDash.Essentials.Core.Bridges;
|
||||
|
||||
using PepperDash.Essentials.Core.Bridges;
|
||||
using PepperDash_Essentials_DM;
|
||||
|
||||
namespace PepperDash.Essentials.DM
|
||||
{
|
||||
/// <summary>
|
||||
@@ -15,7 +16,7 @@ namespace PepperDash.Essentials.DM
|
||||
/// </summary>
|
||||
[Description("Wrapper Class for DM-RMC-4K-SCALER-C-DSP")]
|
||||
public class DmRmc4kScalerCDspController : DmRmcControllerBase, IRoutingInputsOutputs, IBasicVolumeWithFeedback,
|
||||
IIROutputPorts, IComPorts, ICec, IRelayPorts
|
||||
IIROutputPorts, IComPorts, ICec, IRelayPorts, IHasDmInHdcp
|
||||
{
|
||||
private readonly DmRmc4kScalerCDsp _rmc;
|
||||
|
||||
@@ -25,7 +26,12 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
public RoutingPortCollection<RoutingInputPort> InputPorts { get; private set; }
|
||||
|
||||
public RoutingPortCollection<RoutingOutputPort> OutputPorts { get; private set; }
|
||||
public RoutingPortCollection<RoutingOutputPort> OutputPorts { get; private set; }
|
||||
|
||||
public EndpointDmInputStreamWithCec DmInput { get; private set; }
|
||||
|
||||
public IntFeedback DmInHdcpStateFeedback { get; private set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Make a Crestron RMC and put it in here
|
||||
@@ -51,7 +57,13 @@ namespace PepperDash.Essentials.DM
|
||||
EdidPreferredTimingFeedback = new StringFeedback(() => _rmc.HdmiOutput.ConnectedDevice.PreferredTiming.StringValue);
|
||||
EdidSerialNumberFeedback = new StringFeedback(() => _rmc.HdmiOutput.ConnectedDevice.SerialNumber.StringValue);
|
||||
|
||||
VideoOutputResolutionFeedback = new StringFeedback(() => _rmc.HdmiOutput.GetVideoResolutionString());
|
||||
VideoOutputResolutionFeedback = new StringFeedback(() => _rmc.HdmiOutput.GetVideoResolutionString());
|
||||
|
||||
DmInHdcpStateFeedback = new IntFeedback("DmInHdcpCapability",
|
||||
() => (int) _rmc.DmInput.HdcpCapabilityFeedback);
|
||||
|
||||
AddToFeedbackList(DmInHdcpStateFeedback);
|
||||
|
||||
|
||||
InputPorts = new RoutingPortCollection<RoutingInputPort> {DmIn};
|
||||
OutputPorts = new RoutingPortCollection<RoutingOutputPort> {HdmiOut, BalancedAudioOut};
|
||||
@@ -190,6 +202,18 @@ namespace PepperDash.Essentials.DM
|
||||
_rmc.AudioOutput.Volume.StopRamp();
|
||||
}
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
public eHdcpCapabilityType DmInHdcpCapability
|
||||
{
|
||||
get { return eHdcpCapabilityType.Hdcp2_2Support; }
|
||||
}
|
||||
|
||||
public void SetDmInHdcpState(eHdcpCapabilityType hdcpState)
|
||||
{
|
||||
if (_rmc == null) return;
|
||||
_rmc.DmInput.HdcpCapability = hdcpState;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user