X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fimplementations%2FCECCommandHandler.cpp;h=b742f49898001f437d64478d0e8b6f7593c7e4dc;hb=93efea2abf014deb8e64a74ec1ff21486def4ae3;hp=1343a0cb50e521e84ad7931df0988a93985b1ee6;hpb=0c4d556d442f5a4483080ce3dcc2ec208f75bcaa;p=deb_libcec.git diff --git a/src/lib/implementations/CECCommandHandler.cpp b/src/lib/implementations/CECCommandHandler.cpp index 1343a0c..b742f49 100644 --- a/src/lib/implementations/CECCommandHandler.cpp +++ b/src/lib/implementations/CECCommandHandler.cpp @@ -583,13 +583,6 @@ int CCECCommandHandler::HandleSetStreamPath(const cec_command &command) device->MarkAsActiveSource(); return COMMAND_HANDLED; } - else - { - cec_logical_address previousSource = m_processor->GetActiveSource(false); - CCECBusDevice* device = m_processor->GetDevice(previousSource); - if (device && device->GetCurrentPhysicalAddress() != iStreamAddress) - device->MarkAsInactiveSource(); - } } return CEC_ABORT_REASON_INVALID_OPERAND; @@ -756,6 +749,9 @@ void CCECCommandHandler::UnhandledCommand(const cec_command &command, const cec_ { LIB_CEC->AddLog(CEC_LOG_DEBUG, "sending abort with opcode %02x and reason '%s' to %s", command.opcode, ToString(reason), ToString(command.initiator)); m_processor->TransmitAbort(command.destination, command.initiator, command.opcode, reason); + + if (reason == CEC_ABORT_REASON_INVALID_OPERAND) + RequestEmailFromCustomer(command); } } @@ -1234,6 +1230,14 @@ bool CCECCommandHandler::ActivateSource(bool bTransmitDelayedCommandsOnly /* = f if (playbackDevice && SendDeckStatusUpdateOnActiveSource()) bActiveSourceFailed = !playbackDevice->TransmitDeckStatus(CECDEVICE_TV, false); } + + // update system audio mode for audiosystem devices + if (bTvPresent && !bActiveSourceFailed) + { + CCECAudioSystem* audioDevice = m_busDevice->AsAudioSystem(); + if (audioDevice) + bActiveSourceFailed = !audioDevice->TransmitSetSystemAudioMode(CECDEVICE_TV, false); + } } // retry later @@ -1290,6 +1294,6 @@ void CCECCommandHandler::RequestEmailFromCustomer(const cec_command& command) m_logsRequested.insert(make_pair(command.opcode, commands)); } - LIB_CEC->AddLog(CEC_LOG_NOTICE, "Unmapped code detected. Please send an email to support@pulse-eight.com with the following details, and if you pressed a key, tell us which one you pressed, and we'll add support for this it.\nCEC command: %s\nVendor ID: %s (%06x)", CCECTypeUtils::ToString(command).c_str(), CCECTypeUtils::ToString(m_vendorId), m_vendorId); + LIB_CEC->AddLog(CEC_LOG_NOTICE, "Unmapped code detected. Please send an email to support@pulse-eight.com with the following details, and if you pressed a key, tell us which one you pressed, and we'll add support for this it.\nCEC command: %s\nVendor ID: %s (%06x)", ToString(command).c_str(), ToString(m_vendorId), m_vendorId); }