summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--tvapi/android/tvserver/TvService.cpp1
-rw-r--r--tvapi/build/include/xxxconfig.h0
-rw-r--r--tvapi/libtv/audio/CTvAudio.cpp2
-rw-r--r--tvapi/libtv/audio/audio_effect.cpp1
-rw-r--r--tvapi/libtv/tv/AutoBackLight.cpp20
-rw-r--r--tvapi/libtv/tv/AutoBackLight.h4
-rw-r--r--tvapi/libtv/tv/CAutoPQparam.cpp9
-rw-r--r--tvapi/libtv/tv/CAutoPQparam.h7
-rw-r--r--tvapi/libtv/tv/CTv.cpp401
-rw-r--r--tvapi/libtv/tv/CTv.h7
-rw-r--r--tvapi/libtv/tv/CTvScanner.cpp7
-rw-r--r--tvapi/libtv/tv/CTvScanner.h2
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.cpp69
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.h93
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.cpp15
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.h3
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp26
-rw-r--r--tvapi/libtv/tvin/CTvin.h84
-rw-r--r--tvapi/libtv/vpp/CPQdb.cpp1
-rw-r--r--tvapi/libtv/vpp/CVpp.cpp8
-rw-r--r--tvapi/libtv/vpp/CVpp.h4
21 files changed, 378 insertions, 386 deletions
diff --git a/tvapi/libtv/tvin/CHDMIRxCEC.h b/tvapi/libtv/tvin/CHDMIRxCEC.h
new file mode 100644
index 0000000..2e01112
--- a/dev/null
+++ b/tvapi/libtv/tvin/CHDMIRxCEC.h
@@ -0,0 +1,93 @@
+#ifndef _C_HDMI_RX_CEC_H_
+#define _C_HDMI_RX_CEC_H_
+
+#ifdef __cplusplus
+//extern "C" {
+#endif
+
+#include "CTvin.h"
+#include <pthread.h>
+//#include <cm.h>
+//#include <ve.h>
+#include "../tvutils/CThread.h"
+#include <hdmirx_cec.h>
+
+class CHDMIRxCEC: public CThread {
+public:
+ CHDMIRxCEC();
+ ~CHDMIRxCEC();
+
+ class IHDMIRxCECObserver {
+ public:
+ IHDMIRxCECObserver() {};
+ virtual ~IHDMIRxCECObserver() {};
+ virtual void onHDMIRxCECMessage(int msg_len, unsigned char msg_buf[]) {};
+ };
+ void setObserver ( IHDMIRxCECObserver *pOb )
+ {
+ mpObserver = pOb;
+ };
+
+ int start();
+ int stop();
+ int pause();
+ int resume();
+ int ClearRxMessageBuffer();
+ int processRefreshSrcDevice(int source_input);
+ int SendCustomMessage(int source_input, unsigned char data_buf[]);
+ int SendCustomMessageAndWaitReply(int source_input, unsigned char data_buf[], unsigned char reply_buf[], int WaitCmd, int timeout);
+ int SendBoradcastStandbyMessage(int source_input);
+ int SendGiveCECVersionMessage(int source_input, unsigned char data_buf[]);
+ int SendGiveDeviceVendorIDMessage(int source_input, unsigned char data_buf[]);
+ int SendGiveOSDNameMessage(int source_input, unsigned char data_buf[]);
+ int SendGivePhysicalAddressMessage(int source_input, int logic_addr, int *physical_addr);
+ int SendSetMenuLanguageMessage(int source_input, unsigned char data_buf[]);
+ int SendVendorRemoteKeyDownMessage(int source_input, unsigned char key_val);
+ int SendVendorRemoteKeyUpMessage(int source_input);
+
+
+private:
+ int mModuleEnableFlag;
+ int mRequestPause;
+ int mState;
+ IHDMIRxCECObserver *mpObserver;
+
+ bool threadLoop();
+ int processData(int msg_cnt);
+
+ int isAllowOperate(int source_input);
+ int GetModuleEnableFlag();
+ int GetDeviceLogicAddr(int source_input);
+ int SendMessage(struct _cec_msg *msg);
+ int sendMessageAndWaitReply(struct _cec_msg *msg, struct _cec_msg *reply_msg, int WaitCmd, int timeout);
+ int GetMessage(struct _cec_msg *msg_list);
+ int rmFromRequestList(int index);
+ int addToRequestList(HDMIRxRequestReplyItem *reply_item);
+ int PrintMessage(const char *func_name, int data_type, struct _cec_msg *msg);
+ int ClrReplyListItem(HDMIRxRequestReplyItem *reply_item);
+ int CopyMessageData(unsigned char data_buf[], unsigned char msg_data[], int msg_len);
+
+ int mSourceDevLogicAddrBuf[CC_SOURCE_DEV_REFRESH_CNT];
+ int mSourceDevRefreshBuf[CC_SOURCE_DEV_REFRESH_CNT];
+
+ CCondition mPauseCondition;
+ mutable CMutex mLock;
+ mutable CMutex mListLock;
+ mutable CMutex mReplyLock[CC_REQUEST_LIST_SIZE];
+ HDMIRxRequestReplyItem mReplyList[CC_REQUEST_LIST_SIZE];
+ struct _cec_msg mMsgBuf[CC_REQUEST_LIST_SIZE];
+
+ enum RefreshState {
+ STATE_STOPED = 0,
+ STATE_RUNNING,
+ STATE_PAUSE,
+ STATE_FINISHED,
+ };
+};
+
+#ifdef __cplusplus
+//}
+#endif
+
+#endif/*_C_HDMI_RX_CEC_H_*/
+