From a2612289991e8ba17bd02534d68741f7c22b4ad3 Mon Sep 17 00:00:00 2001 From: Lars Op den Kamp Date: Tue, 27 Mar 2012 15:26:11 +0200 Subject: [PATCH] cec: added power on command for Samsung AVR devices. bugzid: 361 --- src/lib/implementations/ANCommandHandler.cpp | 12 ++++++++++++ src/lib/implementations/ANCommandHandler.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/lib/implementations/ANCommandHandler.cpp b/src/lib/implementations/ANCommandHandler.cpp index f8a8ade..cd60825 100644 --- a/src/lib/implementations/ANCommandHandler.cpp +++ b/src/lib/implementations/ANCommandHandler.cpp @@ -95,3 +95,15 @@ bool CANCommandHandler::HandleCommand(const cec_command &command) return bHandled; } + +bool CANCommandHandler::PowerOn(const cec_logical_address iInitiator, const cec_logical_address iDestination) +{ + if (iDestination == CECDEVICE_AUDIOSYSTEM) + { + /* Samsung AVR devices need to be woken up with key CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION */ + return TransmitKeypress(iInitiator, iDestination, CEC_USER_CONTROL_CODE_POWER_ON_FUNCTION) && + TransmitKeyRelease(iInitiator, iDestination); + } + + return CCECCommandHandler::PowerOn(iInitiator, iDestination); +} diff --git a/src/lib/implementations/ANCommandHandler.h b/src/lib/implementations/ANCommandHandler.h index 23b9de9..d9437d1 100644 --- a/src/lib/implementations/ANCommandHandler.h +++ b/src/lib/implementations/ANCommandHandler.h @@ -44,5 +44,6 @@ namespace CEC virtual bool HandleCommand(const cec_command &command); protected: virtual bool HandleVendorRemoteButtonDown(const cec_command &command); + virtual bool PowerOn(const cec_logical_address iInitiator, const cec_logical_address iDestination); }; }; -- 2.34.1