only send an active source message when the stream path changed and we weren't the...
[deb_libcec.git] / src / lib / implementations / CECCommandHandler.cpp
index 7031f094f81fc2dc2379bfd347de5e0ab9a3948c..a49831565b38c4beb26419a83a59bc64172d758f 100644 (file)
@@ -577,7 +577,7 @@ int CCECCommandHandler::HandleSetStreamPath(const cec_command &command)
     CCECBusDevice *device = GetDeviceByPhysicalAddress(iStreamAddress);
     if (device)
     {
-      if (device->IsHandledByLibCEC())
+      if (device->IsHandledByLibCEC() && !device->IsActiveSource())
         device->ActivateSource();
       else
         device->MarkAsActiveSource();
@@ -1006,7 +1006,7 @@ bool CCECCommandHandler::TransmitPhysicalAddress(const cec_logical_address iInit
   return Transmit(command, false, bIsReply);
 }
 
-bool CCECCommandHandler::TransmitSetMenuLanguage(const cec_logical_address iInitiator, const char lang[3], bool bIsReply)
+bool CCECCommandHandler::TransmitSetMenuLanguage(const cec_logical_address iInitiator, const char lang[4], bool bIsReply)
 {
   cec_command command;
   command.Format(command, iInitiator, CECDEVICE_BROADCAST, CEC_OPCODE_SET_MENU_LANGUAGE);