if (activeSource)
return activeSource->GetLogicalAddress();
- if (bRequestActiveSource)
+ if (bRequestActiveSource && m_busDevices->GetActiveSourceAddress() == CEC_INVALID_PHYSICAL_ADDRESS)
{
// request the active source from the bus
CCECBusDevice *primary = GetPrimaryDevice();
// ensure that controlled mode is enabled
m_communication->SetControlledMode(true);
+ m_bMonitor = false;
// source logical address for requests
cec_logical_address sourceAddress(CECDEVICE_UNREGISTERED);