Merge pull request #352 from PepperDash/feature/add-dmc-4kz-hdo-support-and-try-catch

Adds support for DMC-4KZ-HDO output card and adds try catch to solve …
This commit is contained in:
Neil Dorin
2020-08-04 15:31:23 -06:00
committed by GitHub

View File

@@ -329,6 +329,8 @@ namespace PepperDash.Essentials.DM
InputEndpointOnlineFeedbacks[tempX] = new BoolFeedback(() => { return Chassis.Inputs[tempX].EndpointOnlineFeedback; });
InputCardHdcpStateFeedbacks[tempX] = new IntFeedback(() => {
try
{
var inputCard = Chassis.Inputs[tempX];
if (inputCard.Card is DmcHd)
@@ -379,6 +381,12 @@ namespace PepperDash.Essentials.DM
return 0;
}
return 0;
}
catch (InvalidOperationException iopex)
{
Debug.Console(0, this, Debug.ErrorLogLevel.Warning, "The Input Card in slot: {0} supports HDCP 2. Please update the configuration value in the inputCardSupportsHdcp2 object to true. Error: {1}", tempX, iopex);
return 0;
}
});
}
}
@@ -614,6 +622,13 @@ namespace PepperDash.Essentials.DM
var cecPort2 = outputCard.Card2.HdmiOutput;
AddDmcHdoPorts(number, cecPort1, cecPort2);
}
else if (type == "dmc4kzhdo")
{
var outputCard = new Dmc4kzHdoSingle(number, Chassis);
var cecPort1 = outputCard.Card1.HdmiOutput;
var cecPort2 = outputCard.Card2.HdmiOutput;
AddDmcHdoPorts(number, cecPort1, cecPort2);
}
else if (type == "dmchdo")
{
var outputCard = new DmcHdoSingle(number, Chassis);
@@ -799,6 +814,8 @@ namespace PepperDash.Essentials.DM
}
void Chassis_DMInputChange(Switch device, DMInputEventArgs args)
{
try
{
switch (args.EventId)
{
@@ -841,7 +858,7 @@ namespace PepperDash.Essentials.DM
if (InputCardHdcpStateFeedbacks[args.Number] != null)
InputCardHdcpStateFeedbacks[args.Number].FireUpdate();
else
Debug.Console(1, this, "No index of {0} found in InputCardHdcpStateFeedbacks");
Debug.Console(1, this, "No index of {0} found in InputCardHdcpCapabilityFeedbacks");
break;
}
default:
@@ -851,6 +868,11 @@ namespace PepperDash.Essentials.DM
}
}
}
catch (Exception ex)
{
Debug.Console(2, this, Debug.ErrorLogLevel.Error, "Error in Chassis_DMInputChange: {0}", ex);
}
}
///
/// </summary>