X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftestclient%2Fmain.cpp;h=24ddde594eb7b9abd67503c6ee3fd453c65012ed;hb=b509ba1aecf87e94e3408429014937443ade5314;hp=8150b8e9a920d87334ba7c56e3b6c1f673793f80;hpb=2d4e263cf51412a7c7195e80290b972ad567e0ed;p=deb_libcec.git diff --git a/src/testclient/main.cpp b/src/testclient/main.cpp index 8150b8e..24ddde5 100644 --- a/src/testclient/main.cpp +++ b/src/testclient/main.cpp @@ -48,7 +48,7 @@ using namespace CEC; using namespace std; using namespace PLATFORM; -#define CEC_CONFIG_VERSION CEC_CLIENT_VERSION_1_9_0; +#define CEC_CONFIG_VERSION CEC_CLIENT_VERSION_2_0_1; #include "../../include/cecloader.h" @@ -129,7 +129,7 @@ bool GetWord(string& data, string& word) return true; } -int CecLogMessage(void *UNUSED(cbParam), const cec_log_message &message) +int CecLogMessage(void *UNUSED(cbParam), const cec_log_message message) { if ((message.level & g_cecLogLevel) == message.level) { @@ -171,17 +171,17 @@ int CecLogMessage(void *UNUSED(cbParam), const cec_log_message &message) return 0; } -int CecKeyPress(void *UNUSED(cbParam), const cec_keypress &UNUSED(key)) +int CecKeyPress(void *UNUSED(cbParam), const cec_keypress UNUSED(key)) { return 0; } -int CecCommand(void *UNUSED(cbParam), const cec_command &UNUSED(command)) +int CecCommand(void *UNUSED(cbParam), const cec_command UNUSED(command)) { return 0; } -int CecAlert(void *UNUSED(cbParam), const libcec_alert type, const libcec_parameter &UNUSED(param)) +int CecAlert(void *UNUSED(cbParam), const libcec_alert type, const libcec_parameter UNUSED(param)) { switch (type) { @@ -537,6 +537,18 @@ bool ProcessCommandAS(ICECAdapter *parser, const string &command, string & UNUSE if (command == "as") { parser->SetActiveSource(); + // wait for the source switch to finish for 15 seconds tops + if (g_bSingleCommand) + { + CTimeout timeout(15000); + bool bActiveSource(false); + while (timeout.TimeLeft() > 0 && !bActiveSource) + { + bActiveSource = parser->IsLibCECActiveSource(); + if (!bActiveSource) + CEvent::Sleep(100); + } + } return true; } @@ -857,7 +869,7 @@ bool ProcessCommandSCAN(ICECAdapter *parser, const string &command, string & UNU cec_power_status power = parser->GetDevicePowerStatus((cec_logical_address)iPtr); cec_osd_name osdName = parser->GetDeviceOSDName((cec_logical_address)iPtr); CStdString strAddr; - strAddr.Format("%04x", iPhysicalAddress); + strAddr.Format("%x.%x.%x.%x", (iPhysicalAddress >> 12) & 0xF, (iPhysicalAddress >> 8) & 0xF, (iPhysicalAddress >> 4) & 0xF, iPhysicalAddress & 0xF); cec_menu_language lang; lang.device = CECDEVICE_UNKNOWN; parser->GetDeviceMenuLanguage((cec_logical_address)iPtr, &lang);