X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECProcessor.cpp;h=a1603e8243a26b92cbed4d2080639eaa044fdf28;hb=5734016c1b1e932c19a85bb671211c4967399f8c;hp=0e85dab388264f9317ebcaac2fc6b10f75aafcb4;hpb=69d6da5004c1a45b62dd2c9cd2e69ef44e7a70bd;p=deb_libcec.git diff --git a/src/lib/CECProcessor.cpp b/src/lib/CECProcessor.cpp index 0e85dab..a1603e8 100644 --- a/src/lib/CECProcessor.cpp +++ b/src/lib/CECProcessor.cpp @@ -911,7 +911,7 @@ cec_power_status CCECProcessor::GetDevicePowerStatus(cec_logical_address iAddres return CEC_POWER_STATUS_UNKNOWN; } -cec_logical_address CCECProcessor::GetActiveSource(void) +cec_logical_address CCECProcessor::GetActiveSource(bool bRequestActiveSource /* = true */) { for (uint8_t iPtr = 0; iPtr <= 11; iPtr++) { @@ -919,6 +919,15 @@ cec_logical_address CCECProcessor::GetActiveSource(void) return (cec_logical_address)iPtr; } + if (bRequestActiveSource && m_configuration.logicalAddresses.primary != CECDEVICE_UNKNOWN) + { + CCECBusDevice *primary = m_busDevices[m_configuration.logicalAddresses.primary]; + if (primary) + primary->RequestActiveSource(); + + return GetActiveSource(false); + } + return CECDEVICE_UNKNOWN; }