Loading tv/cec/1.0/default/HdmiCecDefault.cpp +27 −1 Original line number Original line Diff line number Diff line Loading @@ -36,6 +36,9 @@ namespace cec { namespace V1_0 { namespace V1_0 { namespace implementation { namespace implementation { // When set to false, all the CEC commands are discarded. True by default after initialization. bool mCecEnabled; int mCecFd; int mCecFd; int mExitFd; int mExitFd; pthread_t mEventThread; pthread_t mEventThread; Loading @@ -44,6 +47,7 @@ sp<IHdmiCecCallback> mCallback; HdmiCecDefault::HdmiCecDefault() { HdmiCecDefault::HdmiCecDefault() { mCecFd = -1; mCecFd = -1; mExitFd = -1; mExitFd = -1; mCecEnabled = false; mCallback = nullptr; mCallback = nullptr; } } Loading Loading @@ -156,6 +160,10 @@ Return<void> HdmiCecDefault::getPhysicalAddress(getPhysicalAddress_cb callback) } } Return<SendMessageResult> HdmiCecDefault::sendMessage(const CecMessage& message) { Return<SendMessageResult> HdmiCecDefault::sendMessage(const CecMessage& message) { if (!mCecEnabled) { return SendMessageResult::FAIL; } struct cec_msg cecMsg; struct cec_msg cecMsg; memset(&cecMsg, 0, sizeof(cec_msg)); memset(&cecMsg, 0, sizeof(cec_msg)); Loading Loading @@ -230,7 +238,15 @@ Return<void> HdmiCecDefault::getPortInfo(getPortInfo_cb callback) { return Void(); return Void(); } } Return<void> HdmiCecDefault::setOption(OptionKey /*key*/, bool /*value*/) { Return<void> HdmiCecDefault::setOption(OptionKey key, bool value) { switch (key) { case OptionKey::ENABLE_CEC: LOG(DEBUG) << "setOption: Enable CEC: " << value; mCecEnabled = value; break; default: break; } return Void(); return Void(); } } Loading Loading @@ -300,6 +316,7 @@ Return<Result> HdmiCecDefault::init() { return Result::FAILURE_NOT_SUPPORTED; return Result::FAILURE_NOT_SUPPORTED; } } mCecEnabled = true; return Result::SUCCESS; return Result::SUCCESS; } } Loading @@ -315,6 +332,7 @@ Return<void> HdmiCecDefault::release() { if (mCecFd > 0) { if (mCecFd > 0) { close(mCecFd); close(mCecFd); } } mCecEnabled = false; setCallback(nullptr); setCallback(nullptr); return Void(); return Void(); } } Loading Loading @@ -345,6 +363,10 @@ void* HdmiCecDefault::event_thread(void*) { struct cec_event ev; struct cec_event ev; ret = ioctl(mCecFd, CEC_DQEVENT, &ev); ret = ioctl(mCecFd, CEC_DQEVENT, &ev); if (!mCecEnabled) { continue; } if (ret) { if (ret) { LOG(ERROR) << "CEC_DQEVENT failed, Error = " << strerror(errno); LOG(ERROR) << "CEC_DQEVENT failed, Error = " << strerror(errno); continue; continue; Loading @@ -366,6 +388,10 @@ void* HdmiCecDefault::event_thread(void*) { struct cec_msg msg = {}; struct cec_msg msg = {}; ret = ioctl(mCecFd, CEC_RECEIVE, &msg); ret = ioctl(mCecFd, CEC_RECEIVE, &msg); if (!mCecEnabled) { continue; } if (ret) { if (ret) { LOG(ERROR) << "CEC_RECEIVE failed, Error = " << strerror(errno); LOG(ERROR) << "CEC_RECEIVE failed, Error = " << strerror(errno); continue; continue; Loading Loading
tv/cec/1.0/default/HdmiCecDefault.cpp +27 −1 Original line number Original line Diff line number Diff line Loading @@ -36,6 +36,9 @@ namespace cec { namespace V1_0 { namespace V1_0 { namespace implementation { namespace implementation { // When set to false, all the CEC commands are discarded. True by default after initialization. bool mCecEnabled; int mCecFd; int mCecFd; int mExitFd; int mExitFd; pthread_t mEventThread; pthread_t mEventThread; Loading @@ -44,6 +47,7 @@ sp<IHdmiCecCallback> mCallback; HdmiCecDefault::HdmiCecDefault() { HdmiCecDefault::HdmiCecDefault() { mCecFd = -1; mCecFd = -1; mExitFd = -1; mExitFd = -1; mCecEnabled = false; mCallback = nullptr; mCallback = nullptr; } } Loading Loading @@ -156,6 +160,10 @@ Return<void> HdmiCecDefault::getPhysicalAddress(getPhysicalAddress_cb callback) } } Return<SendMessageResult> HdmiCecDefault::sendMessage(const CecMessage& message) { Return<SendMessageResult> HdmiCecDefault::sendMessage(const CecMessage& message) { if (!mCecEnabled) { return SendMessageResult::FAIL; } struct cec_msg cecMsg; struct cec_msg cecMsg; memset(&cecMsg, 0, sizeof(cec_msg)); memset(&cecMsg, 0, sizeof(cec_msg)); Loading Loading @@ -230,7 +238,15 @@ Return<void> HdmiCecDefault::getPortInfo(getPortInfo_cb callback) { return Void(); return Void(); } } Return<void> HdmiCecDefault::setOption(OptionKey /*key*/, bool /*value*/) { Return<void> HdmiCecDefault::setOption(OptionKey key, bool value) { switch (key) { case OptionKey::ENABLE_CEC: LOG(DEBUG) << "setOption: Enable CEC: " << value; mCecEnabled = value; break; default: break; } return Void(); return Void(); } } Loading Loading @@ -300,6 +316,7 @@ Return<Result> HdmiCecDefault::init() { return Result::FAILURE_NOT_SUPPORTED; return Result::FAILURE_NOT_SUPPORTED; } } mCecEnabled = true; return Result::SUCCESS; return Result::SUCCESS; } } Loading @@ -315,6 +332,7 @@ Return<void> HdmiCecDefault::release() { if (mCecFd > 0) { if (mCecFd > 0) { close(mCecFd); close(mCecFd); } } mCecEnabled = false; setCallback(nullptr); setCallback(nullptr); return Void(); return Void(); } } Loading Loading @@ -345,6 +363,10 @@ void* HdmiCecDefault::event_thread(void*) { struct cec_event ev; struct cec_event ev; ret = ioctl(mCecFd, CEC_DQEVENT, &ev); ret = ioctl(mCecFd, CEC_DQEVENT, &ev); if (!mCecEnabled) { continue; } if (ret) { if (ret) { LOG(ERROR) << "CEC_DQEVENT failed, Error = " << strerror(errno); LOG(ERROR) << "CEC_DQEVENT failed, Error = " << strerror(errno); continue; continue; Loading @@ -366,6 +388,10 @@ void* HdmiCecDefault::event_thread(void*) { struct cec_msg msg = {}; struct cec_msg msg = {}; ret = ioctl(mCecFd, CEC_RECEIVE, &msg); ret = ioctl(mCecFd, CEC_RECEIVE, &msg); if (!mCecEnabled) { continue; } if (ret) { if (ret) { LOG(ERROR) << "CEC_RECEIVE failed, Error = " << strerror(errno); LOG(ERROR) << "CEC_RECEIVE failed, Error = " << strerror(errno); continue; continue; Loading