cec: use CCECCommandHandler::ActivateSource() instead of TransmitActiveSource() in...
[deb_libcec.git] / src / lib / implementations / CECCommandHandler.cpp
index 4656110bfbdf981c51b3d0cb6953fb4ce1f6f477..1773507f54087ecdb516c04999a1c0e40d4b0111 100644 (file)
@@ -47,7 +47,9 @@ CCECCommandHandler::CCECCommandHandler(CCECBusDevice *busDevice) :
     m_iTransmitRetries(CEC_DEFAULT_TRANSMIT_RETRIES),
     m_bHandlerInited(false),
     m_iUseCounter(0),
-    m_expectedResponse(CEC_OPCODE_NONE)
+    m_expectedResponse(CEC_OPCODE_NONE),
+    m_bOPTSendDeckStatusUpdateOnActiveSource(true),
+    m_vendorId(CEC_VENDOR_UNKNOWN)
 {
 }
 
@@ -986,6 +988,11 @@ bool CCECCommandHandler::ActivateSource(void)
     primary->SetPowerStatus(CEC_POWER_STATUS_ON);
     primary->SetMenuState(CEC_MENU_STATE_ACTIVATED);
 
+    if ((m_busDevice->GetType() == CEC_DEVICE_TYPE_PLAYBACK_DEVICE ||
+        m_busDevice->GetType() == CEC_DEVICE_TYPE_RECORDING_DEVICE) &&
+        SendDeckStatusUpdateOnActiveSource())
+      ((CCECPlaybackDevice *)m_busDevice)->TransmitDeckStatus(CECDEVICE_TV);
+
     if (m_processor->GetPrimaryDevice()->GetPhysicalAddress(false) != 0xffff)
     {
       m_processor->SetActiveSource();