mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-02-09 09:45:06 +00:00
feat: add bridge to show number of HDCP-Compatible DM Endpoints
feat: expose HDCP Settings for DM-RMC-4K-XXX endpoints resolve: #1088 resolve: #1089
This commit is contained in:
@@ -137,15 +137,10 @@ namespace PepperDash.Essentials.DM
|
||||
HdmiIn2HdcpCapabilityFeedback = new IntFeedback("HdmiIn2HdcpCapability",
|
||||
() => (int) tx.HdmiInputs[2].HdcpCapabilityFeedback);
|
||||
|
||||
HdcpStateFeedback =
|
||||
new IntFeedback(
|
||||
() =>
|
||||
tx.HdmiInputs[1].HdcpCapabilityFeedback > tx.HdmiInputs[2].HdcpCapabilityFeedback
|
||||
? (int) tx.HdmiInputs[1].HdcpCapabilityFeedback
|
||||
: (int) tx.HdmiInputs[2].HdcpCapabilityFeedback);
|
||||
|
||||
HdcpSupportCapability = eHdcpCapabilityType.Hdcp2_2Support;
|
||||
|
||||
HdcpStateFeedback = new IntFeedback(() => (int) HdcpSupportCapability);
|
||||
|
||||
Hdmi1VideoSyncFeedback = new BoolFeedback(() => (bool) tx.HdmiInputs[1].SyncDetectedFeedback.BoolValue);
|
||||
|
||||
Hdmi2VideoSyncFeedback = new BoolFeedback(() => (bool) tx.HdmiInputs[2].SyncDetectedFeedback.BoolValue);
|
||||
|
||||
@@ -145,15 +145,10 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
HdmiIn2HdcpCapabilityFeedback = new IntFeedback("HdmiIn2HdcpCapability", () => (int)tx.HdmiInputs[2].HdcpCapabilityFeedback);
|
||||
|
||||
HdcpStateFeedback =
|
||||
new IntFeedback(
|
||||
() =>
|
||||
tx.HdmiInputs[1].HdcpCapabilityFeedback > tx.HdmiInputs[2].HdcpCapabilityFeedback
|
||||
? (int)tx.HdmiInputs[1].HdcpCapabilityFeedback
|
||||
: (int)tx.HdmiInputs[2].HdcpCapabilityFeedback);
|
||||
|
||||
HdcpSupportCapability = eHdcpCapabilityType.Hdcp2_2Support;
|
||||
|
||||
HdcpStateFeedback = new IntFeedback(() => (int)HdcpSupportCapability);
|
||||
|
||||
Hdmi1VideoSyncFeedback = new BoolFeedback(() => (bool)tx.HdmiInputs[1].SyncDetectedFeedback.BoolValue);
|
||||
|
||||
Hdmi2VideoSyncFeedback = new BoolFeedback(() => (bool)tx.HdmiInputs[2].SyncDetectedFeedback.BoolValue);
|
||||
|
||||
@@ -124,15 +124,10 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
HdmiIn2HdcpCapabilityFeedback = new IntFeedback("HdmiIn2HdcpCapability", () => (int)tx.HdmiInputs[2].HdcpCapabilityFeedback);
|
||||
|
||||
HdcpStateFeedback =
|
||||
new IntFeedback(
|
||||
() =>
|
||||
tx.HdmiInputs[1].HdcpCapabilityFeedback > tx.HdmiInputs[2].HdcpCapabilityFeedback
|
||||
? (int)tx.HdmiInputs[1].HdcpCapabilityFeedback
|
||||
: (int)tx.HdmiInputs[2].HdcpCapabilityFeedback);
|
||||
|
||||
HdcpSupportCapability = eHdcpCapabilityType.Hdcp2_2Support;
|
||||
|
||||
HdcpStateFeedback = new IntFeedback(() => (int)HdcpSupportCapability);
|
||||
|
||||
Hdmi1VideoSyncFeedback = new BoolFeedback(() => (bool)tx.HdmiInputs[1].SyncDetectedFeedback.BoolValue);
|
||||
|
||||
Hdmi2VideoSyncFeedback = new BoolFeedback(() => (bool)tx.HdmiInputs[2].SyncDetectedFeedback.BoolValue);
|
||||
|
||||
@@ -146,13 +146,18 @@ namespace PepperDash.Essentials.DM
|
||||
*/
|
||||
|
||||
//yeah this is gross - but it's the quickest way to do this...
|
||||
/*
|
||||
HdcpStateFeedback = new IntFeedback(() => {
|
||||
var states = new[] {(int) tx.DisplayPortInput.HdcpCapabilityFeedback, (int) tx.HdmiInputs[1].HdcpCapabilityFeedback, (int) tx.HdmiInputs[2].HdcpCapabilityFeedback};
|
||||
|
||||
return states.Max();
|
||||
});
|
||||
*/
|
||||
|
||||
HdcpSupportCapability = eHdcpCapabilityType.Hdcp2_2Support;
|
||||
// I feel like we have had this as a misnomer for so long, that it really needed to be fixed
|
||||
// All we were doing was reporting the best of the current statuses - not the actual capability of the device.
|
||||
HdcpStateFeedback = new IntFeedback(() => (int)HdcpSupportCapability);
|
||||
|
||||
Hdmi1VideoSyncFeedback = new BoolFeedback(() => (bool)tx.HdmiInputs[1].SyncDetectedFeedback.BoolValue);
|
||||
|
||||
|
||||
@@ -411,9 +411,22 @@ namespace PepperDash.Essentials.DM
|
||||
|
||||
SetHdcpCapabilityAction(hdcpTypeSimple, port, joinMap.Port3HdcpState.JoinNumber, trilist);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
var hdcpInputPortCount =
|
||||
(ushort)
|
||||
txR.InputPorts.Where(
|
||||
x => (x.Type == eRoutingSignalType.Video) || (x.Type == eRoutingSignalType.AudioVideo))
|
||||
.Where(
|
||||
x =>
|
||||
(x.ConnectionType == eRoutingPortConnectionType.DmCat) ||
|
||||
(x.ConnectionType == eRoutingPortConnectionType.Hdmi) ||
|
||||
(x.ConnectionType == eRoutingPortConnectionType.DisplayPort))
|
||||
.ToList().Count();
|
||||
|
||||
trilist.SetUshort(joinMap.HdcpInputPortCount.JoinNumber, hdcpInputPortCount);
|
||||
|
||||
}
|
||||
|
||||
var txFreeRun = tx as IHasFreeRun;
|
||||
|
||||
Reference in New Issue
Block a user