{
m_logicalAddresses.Clear();
m_logicalAddresses.Set(iLogicalAddress);
- m_types.Clear();
+ m_types.clear();
for (int iPtr = 0; iPtr <= 16; iPtr++)
m_busDevices[iPtr] = new CCECBusDevice(this, (cec_logical_address) iPtr, iPtr == iLogicalAddress ? iPhysicalAddress : 0);
}
}
}
- return SetStreamPath(m_busDevices[addr]->GetPhysicalAddress());
+ return SetStreamPath(m_busDevices[addr]->GetPhysicalAddress()) &&
+ m_busDevices[addr]->TransmitActiveSource();
}
bool CCECProcessor::SetActiveView(void)
{
- return SetActiveSource();
+ return SetActiveSource(m_types.IsEmpty() ? CEC_DEVICE_TYPE_RESERVED : m_types[0]);
}
bool CCECProcessor::SetDeckControlMode(cec_deck_control_mode mode, bool bSendUpdate /* = true */)