X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fimplementations%2FVLCommandHandler.cpp;h=ad4cf1717fb68a7f0bd0186e5caa54c99ee1f12d;hb=94e9a2afff9e6bfc18fa401fc9824432475a5927;hp=89f5b2eadebc5668436040c68b841e4c4b798f0d;hpb=bb5b4874f081aea758af58eae11f4729fc679650;p=deb_libcec.git diff --git a/src/lib/implementations/VLCommandHandler.cpp b/src/lib/implementations/VLCommandHandler.cpp index 89f5b2e..ad4cf17 100644 --- a/src/lib/implementations/VLCommandHandler.cpp +++ b/src/lib/implementations/VLCommandHandler.cpp @@ -1,7 +1,7 @@ /* * This file is part of the libCEC(R) library. * - * libCEC(R) is Copyright (C) 2011 Pulse-Eight Limited. All rights reserved. + * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. * libCEC(R) is an original work, containing original code. * * libCEC(R) is a trademark of Pulse-Eight Limited. @@ -32,35 +32,22 @@ #include "VLCommandHandler.h" #include "../devices/CECBusDevice.h" -#include "../util/StdString.h" +#include "../CECProcessor.h" using namespace CEC; CVLCommandHandler::CVLCommandHandler(CCECBusDevice *busDevice) : CCECCommandHandler(busDevice) { + m_vendorId = CEC_VENDOR_PANASONIC; } -bool CVLCommandHandler::HandleSetStreamPath(const cec_command &command) +bool CVLCommandHandler::InitHandler(void) { - if (command.parameters.size >= 2) + CCECBusDevice *primary = m_processor->GetPrimaryDevice(); + if (primary->GetType() == CEC_DEVICE_TYPE_RECORDING_DEVICE) { - int streamaddr = ((uint16_t)command.parameters[0] << 8) | ((uint16_t)command.parameters[1]); - CStdString strLog; - strLog.Format(">> %i requests stream path from physical address %04x", command.initiator, streamaddr); - m_busDevice->AddLog(CEC_LOG_DEBUG, strLog.c_str()); - if (streamaddr == m_busDevice->GetMyPhysicalAddress()) - { - CCECBusDevice *device = GetThisDevice(); - CCECBusDevice *initiatorDevice = GetDevice(command.initiator); - if (device && initiatorDevice) - { - return device->BroadcastActiveSource() && - device->BroadcastActiveView() && - initiatorDevice->ReportMenuState(); - } - return false; - } + return m_processor->ChangeDeviceType(CEC_DEVICE_TYPE_RECORDING_DEVICE, CEC_DEVICE_TYPE_PLAYBACK_DEVICE); } - return true; + return CCECCommandHandler::InitHandler(); }