/*
* This file is part of the libCEC(R) library.
*
- * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
* libCEC(R) is an original work, containing original code.
*
* libCEC(R) is a trademark of Pulse-Eight Limited.
return;
CCECBusDevice* newRoute = m_processor->GetDeviceByPhysicalAddress(iRoute, true);
- if (newRoute && newRoute->IsHandledByLibCEC())
- newRoute->ActivateSource();
+ if (newRoute)
+ {
+ // we were made the active source, send notification
+ if (newRoute->IsHandledByLibCEC())
+ newRoute->ActivateSource();
+ // another device was made active
+ else
+ newRoute->MarkAsActiveSource();
+ }
}
void CCECBusDevice::SetStreamPath(uint16_t iNewAddress, uint16_t iOldAddress /* = CEC_INVALID_PHYSICAL_ADDRESS */)