{
bool bSendActiveView(false);
bool bReturn(false);
+ cec_logical_addresses sendUpdatesTo;
{
CLockObject lock(&m_mutex);
m_busDevices[iPtr]->SetInactiveSource();
m_busDevices[iPtr]->SetPhysicalAddress(iPhysicalAddress);
if (bSendUpdate)
- m_busDevices[iPtr]->TransmitPhysicalAddress();
+ sendUpdatesTo.Set((cec_logical_address)iPtr);
}
bSendActiveView = bWasActiveSource && bSendUpdate;
}
}
+ for (uint8_t iPtr = 0; iPtr < 15; iPtr++)
+ if (sendUpdatesTo[iPtr])
+ m_busDevices[iPtr]->TransmitPhysicalAddress();
+
if (bSendActiveView)
SetActiveView();
return "Yamaha";
case CEC_VENDOR_PHILIPS:
return "Philips";
+ case CEC_VENDOR_SONY:
+ return "Sony";
default:
return "Unknown";
}