-// no longer being used
-void CLibCEC::AddKey(const cec_keypress &UNUSED(key)) {}
-void CLibCEC::AddCommand(const cec_command &UNUSED(command)) {}
-void CLibCEC::ConfigurationChanged(const libcec_configuration &UNUSED(config)) {}
-void CLibCEC::SetCurrentButton(cec_user_control_code UNUSED(iButtonCode)) {}
-CLibCEC *CLibCEC::GetInstance(void) { return NULL; }
-void CLibCEC::SetInstance(CLibCEC *UNUSED(instance)) {}
+const char *CLibCEC::GetLibInfo(void)
+{
+#ifndef LIB_INFO
+#ifdef _WIN32
+#define FEATURES "'P8 USB' 'P8 USB detect'"
+#ifdef _WIN64
+#define HOST_TYPE "Windows (x64)"
+#else
+#define HOST_TYPE "Windows (x86)"
+#endif
+#else
+#define HOST_TYPE "unknown"
+#define FEATURES "unknown"
+#endif
+
+ return "host: " HOST_TYPE ", features: " FEATURES ", compiled: " __DATE__;
+#else
+ return LIB_INFO;
+#endif
+}
+
+void CLibCEC::InitVideoStandalone(void)
+{
+ CAdapterFactory::InitVideoStandalone();
+}
+uint16_t CLibCEC::GetAdapterVendorId(void) const
+{
+ return m_cec && m_cec->IsRunning() ? m_cec->GetAdapterVendorId() : 0;
+}
+
+uint16_t CLibCEC::GetAdapterProductId(void) const
+{
+ return m_cec && m_cec->IsRunning() ? m_cec->GetAdapterProductId() : 0;
+}
+
+uint8_t CLibCEC::AudioToggleMute(void)
+{
+ return m_client ? m_client->AudioToggleMute() : (uint8_t)CEC_AUDIO_VOLUME_STATUS_UNKNOWN;
+}
+
+uint8_t CLibCEC::AudioMute(void)
+{
+ return m_client ? m_client->AudioMute() : (uint8_t)CEC_AUDIO_VOLUME_STATUS_UNKNOWN;
+}
+
+uint8_t CLibCEC::AudioUnmute(void)
+{
+ return m_client ? m_client->AudioUnmute() : (uint8_t)CEC_AUDIO_VOLUME_STATUS_UNKNOWN;
+}
+
+uint8_t CLibCEC::AudioStatus(void)
+{
+ return m_client ? m_client->AudioStatus() : (uint8_t)CEC_AUDIO_VOLUME_STATUS_UNKNOWN;
+}
+
+int8_t CLibCEC::DetectAdapters(cec_adapter_descriptor *deviceList, uint8_t iBufSize, const char *strDevicePath /* = NULL */, bool bQuickScan /* = false */)
+{
+ int8_t iAdaptersFound = CAdapterFactory(this).DetectAdapters(deviceList, iBufSize, strDevicePath);
+ if (!bQuickScan)
+ {
+ for (int8_t iPtr = 0; iPtr < iAdaptersFound; iPtr++)
+ {
+ libcec_configuration config;
+ GetDeviceInformation(deviceList[iPtr].strComName, &config);
+ deviceList[iPtr].iFirmwareVersion = config.iFirmwareVersion;
+ deviceList[iPtr].iPhysicalAddress = config.iPhysicalAddress;
+ deviceList[iPtr].iFirmwareBuildDate = config.iFirmwareBuildDate;
+ deviceList[iPtr].adapterType = config.adapterType;
+ }
+ }
+ return iAdaptersFound;
+}