#include "../platform/util/util.h"
#include "../platform/util/edid.h"
#include "../platform/adl/adl-edid.h"
+#include "../platform/nvidia/nv-edid.h"
#include "../LibCEC.h"
#include "../CECProcessor.h"
return true;
}
- LIB_CEC->AddLog(CEC_LOG_ERROR, "couldn't change the ackmask: the connection is closed");
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "couldn't change the ackmask: the connection is closed");
return false;
}
uint16_t CUSBCECAdapterCommunication::GetFirmwareVersion(void)
{
- return IsOpen() ? m_commands->GetFirmwareVersion() : CEC_FW_VERSION_UNKNOWN;
+ return m_commands ? m_commands->GetFirmwareVersion() : CEC_FW_VERSION_UNKNOWN;
}
uint32_t CUSBCECAdapterCommunication::GetFirmwareBuildDate(void)
{
- return IsOpen() ? m_commands->RequestBuildDate() : 0;
+ return IsOpen() ? m_commands->RequestBuildDate() : m_commands ? m_commands->GetPersistedBuildDate() : 0;
}
bool CUSBCECAdapterCommunication::IsRunningLatestFirmware(void)
}
#endif
+ // try to get the PA from the nvidia driver
+#if defined(HAS_NVIDIA_EDID_PARSER)
+ if (iPA == 0)
+ {
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s - trying to get the physical address via nvidia driver", __FUNCTION__);
+ CNVEdidParser nv;
+ iPA = nv.GetPhysicalAddress();
+ LIB_CEC->AddLog(CEC_LOG_DEBUG, "%s - nvidia driver returned physical address %04x", __FUNCTION__, iPA);
+ }
+#endif
+
// try to get the PA from the OS
if (iPA == 0)
{