summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--tv_callback.h7
-rw-r--r--tv_input.cpp96
-rw-r--r--tvapi/android/include/ITv.h34
-rw-r--r--tvapi/android/include/ITvClient.h12
-rw-r--r--tvapi/android/include/ITvService.h18
-rw-r--r--tvapi/android/include/TvClient.h5
-rw-r--r--tvapi/android/include/tvcmd.h1180
-rw-r--r--tvapi/android/jni/cfbc_jni.cpp214
-rw-r--r--tvapi/android/jni/cfbc_test.cpp64
-rw-r--r--tvapi/android/jni/com_droidlogic_app_tv_TvControlManager.cpp666
-rw-r--r--tvapi/android/libtvbinder/ITv.cpp246
-rw-r--r--tvapi/android/libtvbinder/ITvClient.cpp78
-rw-r--r--tvapi/android/libtvbinder/ITvService.cpp56
-rw-r--r--tvapi/android/libtvbinder/TvClient.cpp54
-rw-r--r--tvapi/android/tv/TvPlay.cpp36
-rw-r--r--tvapi/android/tv/TvPlay.h2
-rw-r--r--tvapi/android/tvserver/TvService.cpp8700
-rw-r--r--tvapi/android/tvserver/TvService.h107
-rw-r--r--tvapi/android/tvserver/main.cpp12
-rw-r--r--tvapi/android/tvserver/tv_callback.h25
-rw-r--r--tvapi/libtv/audio/CAudioCustomerCtrl.cpp170
-rw-r--r--tvapi/libtv/audio/CAudioCustomerCtrl.h32
-rw-r--r--tvapi/libtv/audio/CTvAudio.h52
-rw-r--r--tvapi/libtv/audio/audio_alsa.cpp1004
-rw-r--r--tvapi/libtv/audio/audio_alsa.h164
-rw-r--r--tvapi/libtv/audio/audio_effect.cpp82
-rw-r--r--tvapi/libtv/audio/audio_effect.h34
-rw-r--r--tvapi/libtv/include/amstream.h142
-rw-r--r--tvapi/libtv/include/cm.h188
-rw-r--r--tvapi/libtv/include/hdmirx_cec.h492
-rw-r--r--tvapi/libtv/include/ve.h342
-rw-r--r--tvapi/libtv/tv/AutoBackLight.cpp280
-rw-r--r--tvapi/libtv/tv/AutoBackLight.h44
-rw-r--r--tvapi/libtv/tv/CAutoPQparam.cpp172
-rw-r--r--tvapi/libtv/tv/CAutoPQparam.h26
-rw-r--r--tvapi/libtv/tv/CAv.cpp612
-rw-r--r--tvapi/libtv/tv/CAv.h188
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.cpp2670
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.h716
-rw-r--r--tvapi/libtv/tv/CFrontEnd.cpp964
-rw-r--r--tvapi/libtv/tv/CFrontEnd.h236
-rw-r--r--tvapi/libtv/tv/CTv.cpp2174
-rw-r--r--tvapi/libtv/tv/CTv.h1470
-rw-r--r--tvapi/libtv/tv/CTvBooking.cpp170
-rw-r--r--tvapi/libtv/tv/CTvBooking.h94
-rw-r--r--tvapi/libtv/tv/CTvDmx.cpp8
-rw-r--r--tvapi/libtv/tv/CTvDmx.h12
-rw-r--r--tvapi/libtv/tv/CTvEpg.cpp258
-rw-r--r--tvapi/libtv/tv/CTvEpg.h276
-rw-r--r--tvapi/libtv/tv/CTvEv.cpp2
-rw-r--r--tvapi/libtv/tv/CTvEv.h322
-rw-r--r--tvapi/libtv/tv/CTvRecord.cpp368
-rw-r--r--tvapi/libtv/tv/CTvRecord.h70
-rw-r--r--tvapi/libtv/tv/CTvScanner.cpp1934
-rw-r--r--tvapi/libtv/tv/CTvScanner.h418
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.cpp1228
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.h142
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.cpp708
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.h430
-rw-r--r--tvapi/libtv/tv/CTvTime.h134
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.cpp250
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.h40
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.cpp974
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.h104
-rw-r--r--tvapi/libtv/tv/ScreenCatch.cpp638
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.cpp558
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.h76
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.cpp28
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.cpp408
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.h478
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.cpp302
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.h112
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.cpp714
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.h134
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.cpp322
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.h112
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.cpp4
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.h14
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.cpp1322
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.h988
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.cpp228
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.h30
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.cpp830
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.cpp438
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.h76
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp4452
-rw-r--r--tvapi/libtv/tvin/CTvin.h2116
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.cpp6
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.h72
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.cpp12
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.h48
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.cpp66
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.h20
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.cpp146
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.h40
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.cpp2168
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.cpp38
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.h8
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.cpp1792
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.cpp958
-rw-r--r--tvapi/libtv/tvutils/CCondition.h84
-rw-r--r--tvapi/libtv/tvutils/CFile.cpp261
-rw-r--r--tvapi/libtv/tvutils/CFile.h50
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.cpp6
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.h6
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.cpp146
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.h40
-rw-r--r--tvapi/libtv/tvutils/CMutex.h112
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.cpp118
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.h60
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.cpp568
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.h42
-rw-r--r--tvapi/libtv/tvutils/CSqlite.cpp126
-rw-r--r--tvapi/libtv/tvutils/CSqlite.h288
-rw-r--r--tvapi/libtv/tvutils/CThread.cpp212
-rw-r--r--tvapi/libtv/tvutils/CThread.h76
-rw-r--r--tvapi/libtv/tvutils/CTvInput.cpp204
-rw-r--r--tvapi/libtv/tvutils/CTvInput.h46
-rw-r--r--tvapi/libtv/tvutils/serial_base.cpp560
-rw-r--r--tvapi/libtv/tvutils/serial_operate.cpp336
-rw-r--r--tvapi/libtv/tvutils/serial_operate.h42
-rw-r--r--tvapi/libtv/tvutils/tvutils.cpp2813
-rw-r--r--tvapi/libtv/tvutils/tvutils.h44
-rw-r--r--tvapi/libtv/tvutils/zepoll.cpp66
-rw-r--r--tvapi/libtv/tvutils/zepoll.h54
-rw-r--r--tvapi/libtv/version/version.cpp50
-rw-r--r--tvapi/libtv/vpp/CPQdb.cpp618
-rw-r--r--tvapi/libtv/vpp/CPQdb.h232
-rw-r--r--tvapi/libtv/vpp/CVpp.cpp724
-rw-r--r--tvapi/libtv/vpp/CVpp.h676
-rw-r--r--tvapi/libtv/vpp/pqdata.cpp216
-rw-r--r--tvapi/tvtests/comm_test.cpp42
-rw-r--r--tvapi/tvtests/ssm_test.cpp320
-rw-r--r--tvapi/tvtests/tvconfig_test.cpp560
134 files changed, 31073 insertions, 30287 deletions
diff --git a/tvapi/android/tvserver/TvService.cpp b/tvapi/android/tvserver/TvService.cpp
index 56dbe48..6568003 100644
--- a/tvapi/android/tvserver/TvService.cpp
+++ b/tvapi/android/tvserver/TvService.cpp
@@ -36,4459 +36,4459 @@ extern "C" {
static int getCallingPid()
{
- return IPCThreadState::self()->getCallingPid();
+ return IPCThreadState::self()->getCallingPid();
}
TvService *TvService::mTvService = NULL;
-CTv* TvService::mpTv = NULL;
+CTv *TvService::mpTv = NULL;
void TvService::instantiate()
{
- defaultServiceManager()->addService(String16("aml.tvserver"), TvService::getIntance());
+ defaultServiceManager()->addService(String16("aml.tvserver"), TvService::getIntance());
}
TvService::TvService() :
- BnTvService()
+ BnTvService()
{
- mpStartTvClient = NULL;
- mpScannerClient = NULL;
- mUsers = 0;
- mpTv = new CTv();
- mpTv->setTvObserver(this);
- mCapVidFrame.setObserver(this);
- mpTv->OpenTv();
+ mpStartTvClient = NULL;
+ mpScannerClient = NULL;
+ mUsers = 0;
+ mpTv = new CTv();
+ mpTv->setTvObserver(this);
+ mCapVidFrame.setObserver(this);
+ mpTv->OpenTv();
}
TvService::~TvService()
{
- mpStartTvClient = NULL;
- mpScannerClient = NULL;
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- LOGW("some client still connect it!");
- }
- }
- if (mpTv != NULL) {
- delete mpTv;
- mpTv = NULL;
- }
+ mpStartTvClient = NULL;
+ mpScannerClient = NULL;
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ LOGW("some client still connect it!");
+ }
+ }
+ if (mpTv != NULL) {
+ delete mpTv;
+ mpTv = NULL;
+ }
}
void TvService::onTvEvent(const CTvEv &ev)
{
- int type = ev.getEvType();
- LOGD("TvService::onTvEvent ev type = %d", type);
- switch (type) {
- case CTvEv::TV_EVENT_COMMOM: {
- break;
- }
- case CTvEv::TV_EVENT_SCANNER: {
- CTvScanner::ScannerEvent *pScannerEv = (CTvScanner::ScannerEvent *) (&ev);
- if (mpScannerClient != NULL) {
- sp<Client> ScannerClient = mpScannerClient.promote();
- if (ScannerClient != 0) {
- Parcel p;
- LOGD("scanner evt type:%d freq:%d vid:%d acnt:%d",
- pScannerEv->mType, pScannerEv->mFrequency, pScannerEv->mVid, pScannerEv->mAcnt);
- p.writeInt32(pScannerEv->mType);
- p.writeInt32(pScannerEv->mPercent);
- p.writeInt32(pScannerEv->mTotalChannelCount);
- p.writeInt32(pScannerEv->mLockedStatus);
- p.writeInt32(pScannerEv->mChannelNumber);
- p.writeInt32(pScannerEv->mFrequency);
- p.writeString16(String16(pScannerEv->mProgramName));
- p.writeInt32(pScannerEv->mprogramType);
- p.writeString16(String16(pScannerEv->mMSG));
- p.writeInt32(pScannerEv->mStrength);
- p.writeInt32(pScannerEv->mSnr);
- //ATV
- p.writeInt32(pScannerEv->mVideoStd);
- p.writeInt32(pScannerEv->mAudioStd);
- p.writeInt32(pScannerEv->mIsAutoStd);
- //DTV
- p.writeInt32(pScannerEv->mMode);
- p.writeInt32(pScannerEv->mSymbolRate);
- p.writeInt32(pScannerEv->mModulation);
- p.writeInt32(pScannerEv->mBandwidth);
- p.writeInt32(pScannerEv->mOfdm_mode);
- p.writeInt32(pScannerEv->mTsId);
- p.writeInt32(pScannerEv->mONetId);
- p.writeInt32(pScannerEv->mServiceId);
- p.writeInt32(pScannerEv->mVid);
- p.writeInt32(pScannerEv->mVfmt);
- p.writeInt32(pScannerEv->mAcnt);
- for (int i = 0; i < pScannerEv->mAcnt; i++)
- p.writeInt32(pScannerEv->mAid[i]);
- for (int i = 0; i < pScannerEv->mAcnt; i++)
- p.writeInt32(pScannerEv->mAfmt[i]);
- for (int i = 0; i < pScannerEv->mAcnt; i++)
- p.writeString16(String16(pScannerEv->mAlang[i]));
- for (int i = 0; i < pScannerEv->mAcnt; i++)
- p.writeInt32(pScannerEv->mAtype[i]);
- p.writeInt32(pScannerEv->mPcr);
- p.writeInt32(pScannerEv->mScnt);
- for (int i = 0; i < pScannerEv->mScnt; i++)
- p.writeInt32(pScannerEv->mStype[i]);
- for (int i = 0; i < pScannerEv->mScnt; i++)
- p.writeInt32(pScannerEv->mSid[i]);
- for (int i = 0; i < pScannerEv->mScnt; i++)
- p.writeInt32(pScannerEv->mSstype[i]);
- for (int i = 0; i < pScannerEv->mScnt; i++)
- p.writeInt32(pScannerEv->mSid1[i]);
- for (int i = 0; i < pScannerEv->mScnt; i++)
- p.writeInt32(pScannerEv->mSid2[i]);
- for (int i = 0; i < pScannerEv->mScnt; i++)
- p.writeString16(String16(pScannerEv->mSlang[i]));
- ScannerClient->notifyCallback(SCAN_EVENT_CALLBACK, p);
- }
- }
- break;
- }
- case CTvEv::TV_EVENT_EPG: {
- CTvEpg::EpgEvent *pEpgEvent = (CTvEpg::EpgEvent *) (&ev);
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
- p.writeInt32(pEpgEvent->type);
- p.writeInt32(pEpgEvent->time);
- p.writeInt32(pEpgEvent->programID);
- p.writeInt32(pEpgEvent->channelID);
- currentClient->getTvClient()->notifyCallback(EPG_EVENT_CALLBACK, p);
- }
- }
- }
- break;
- }
- case CTvEv::TV_EVENT_HDMI_IN_CAP: {
- CTvScreenCapture::CapEvent *pCapEvt = (CTvScreenCapture::CapEvent *)(&ev);
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
- p.writeInt32(pCapEvt->mFrameNum);
- p.writeInt32(pCapEvt->mFrameSize);
- p.writeInt32(pCapEvt->mFrameWide);
- p.writeInt32(pCapEvt->mFrameHeight);
- currentClient->getTvClient()->notifyCallback(VFRAME_BMP_EVENT_CALLBACK, p);
- }
- }
- }
- break;
- }
- case CTvEv::TV_EVENT_AV_PLAYBACK: {
- TvEvent::AVPlaybackEvent *pEv = (TvEvent::AVPlaybackEvent *)(&ev);
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
- p.writeInt32(pEv->mMsgType);
- p.writeInt32(pEv->mProgramId);
- currentClient->getTvClient()->notifyCallback(DTV_AV_PLAYBACK_CALLBACK, p);
- }
- }
- }
- break;
- }
- case CTvEv::TV_EVENT_SIGLE_DETECT: {
- TvEvent::SignalInfoEvent *pEv = (TvEvent::SignalInfoEvent *)(&ev);
-
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
- p.writeInt32(pEv->mTrans_fmt);
- p.writeInt32(pEv->mFmt);
- p.writeInt32(pEv->mStatus);
- p.writeInt32(pEv->mReserved);
- currentClient->getTvClient()->notifyCallback(SIGLE_DETECT_CALLBACK, p);
- }
- }
- }
- break;
- }
- case CTvEv::TV_EVENT_SUBTITLE: {
- TvEvent::SubtitleEvent *pEv = (TvEvent::SubtitleEvent *)(&ev);
- sp<Client> pSubtitleClient = mpSubClient.promote();
- if (pSubtitleClient != NULL) {
- Parcel p;
- p.writeInt32(pEv->pic_width);
- p.writeInt32(pEv->pic_height);
- pSubtitleClient->notifyCallback(SUBTITLE_UPDATE_CALLBACK, p);
- }
- break;
- }
- case CTvEv::TV_EVENT_ADC_CALIBRATION: {
- TvEvent::ADCCalibrationEvent *pEv = (TvEvent::ADCCalibrationEvent *)(&ev);
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
- p.writeInt32(pEv->mState);
- currentClient->getTvClient()->notifyCallback(ADC_CALIBRATION_CALLBACK, p);
- }
- }
- }
- break;
- }
- case CTvEv::TV_EVENT_VGA: { //VGA
- TvEvent::VGAEvent *pEv = (TvEvent::VGAEvent *)(&ev);
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
- p.writeInt32(pEv->mState);
- currentClient->getTvClient()->notifyCallback(VGA_CALLBACK, p);
- }
- }
- }
- break;
- }
- case CTvEv::TV_EVENT_SOURCE_CONNECT: {
- TvEvent::SourceConnectEvent *pEv = (TvEvent::SourceConnectEvent *)(&ev);
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
- p.writeInt32(pEv->mSourceInput);
- p.writeInt32(pEv->connectionState);
- currentClient->getTvClient()->notifyCallback(SOURCE_CONNECT_CALLBACK, p);
- }
- }
- }
- break;
- }
- case CTvEv::TV_EVENT_HDMIRX_CEC: {
- TvEvent::HDMIRxCECEvent *pEv = (TvEvent::HDMIRxCECEvent *)(&ev);
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
-
- p.writeInt32(pEv->mDataCount);
- for (int j = 0; j < pEv->mDataCount; j++) {
- p.writeInt32(pEv->mDataBuf[j]);
- }
-
- currentClient->getTvClient()->notifyCallback(HDMIRX_CEC_CALLBACK, p);
- }
- }
- }
- break;
- }
- case CTvEv::TV_EVENT_UPGRADE_FBC: {
- TvEvent::UpgradeFBCEvent *pEv = (TvEvent::UpgradeFBCEvent *)(&ev);
-
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
- p.writeInt32(pEv->mState);
- p.writeInt32(pEv->param);
- currentClient->getTvClient()->notifyCallback(UPGRADE_FBC_CALLBACK, p);
- }
- }
- }
- break;
- }
- case CTvEv::TV_EVENT_SERIAL_COMMUNICATION: {
- TvEvent::SerialCommunicationEvent *pEv = (TvEvent::SerialCommunicationEvent *)(&ev);
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
- p.writeInt32(pEv->mDevId);
- p.writeInt32(pEv->mDataCount);
- for (int j = 0; j < pEv->mDataCount; j++) {
- p.writeInt32(pEv->mDataBuf[j]);
- }
-
- currentClient->getTvClient()->notifyCallback(SERIAL_COMMUNICATION_CALLBACK, p);
- }
- }
- }
- break;
- }
-
- case CTvEv::TV_EVENT_2d4G_HEADSET: {
- TvEvent::HeadSetOf2d4GEvent *pEv = (TvEvent::HeadSetOf2d4GEvent *)(&ev);
- LOGD("SendDtvStats status: =%d para2: =%d", pEv->state, pEv->para);
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- Parcel p;
- p.writeInt32(pEv->state);
- p.writeInt32(pEv->para);
- currentClient->getTvClient()->notifyCallback(HEADSET_STATUS_CALLBACK, p);
- }
- }
- }
- break;
- }
-
- default:
- break;
- }
+ int type = ev.getEvType();
+ LOGD("TvService::onTvEvent ev type = %d", type);
+ switch (type) {
+ case CTvEv::TV_EVENT_COMMOM: {
+ break;
+ }
+ case CTvEv::TV_EVENT_SCANNER: {
+ CTvScanner::ScannerEvent *pScannerEv = (CTvScanner::ScannerEvent *) (&ev);
+ if (mpScannerClient != NULL) {
+ sp<Client> ScannerClient = mpScannerClient.promote();
+ if (ScannerClient != 0) {
+ Parcel p;
+ LOGD("scanner evt type:%d freq:%d vid:%d acnt:%d",
+ pScannerEv->mType, pScannerEv->mFrequency, pScannerEv->mVid, pScannerEv->mAcnt);
+ p.writeInt32(pScannerEv->mType);
+ p.writeInt32(pScannerEv->mPercent);
+ p.writeInt32(pScannerEv->mTotalChannelCount);
+ p.writeInt32(pScannerEv->mLockedStatus);
+ p.writeInt32(pScannerEv->mChannelNumber);
+ p.writeInt32(pScannerEv->mFrequency);
+ p.writeString16(String16(pScannerEv->mProgramName));
+ p.writeInt32(pScannerEv->mprogramType);
+ p.writeString16(String16(pScannerEv->mMSG));
+ p.writeInt32(pScannerEv->mStrength);
+ p.writeInt32(pScannerEv->mSnr);
+ //ATV
+ p.writeInt32(pScannerEv->mVideoStd);
+ p.writeInt32(pScannerEv->mAudioStd);
+ p.writeInt32(pScannerEv->mIsAutoStd);
+ //DTV
+ p.writeInt32(pScannerEv->mMode);
+ p.writeInt32(pScannerEv->mSymbolRate);
+ p.writeInt32(pScannerEv->mModulation);
+ p.writeInt32(pScannerEv->mBandwidth);
+ p.writeInt32(pScannerEv->mOfdm_mode);
+ p.writeInt32(pScannerEv->mTsId);
+ p.writeInt32(pScannerEv->mONetId);
+ p.writeInt32(pScannerEv->mServiceId);
+ p.writeInt32(pScannerEv->mVid);
+ p.writeInt32(pScannerEv->mVfmt);
+ p.writeInt32(pScannerEv->mAcnt);
+ for (int i = 0; i < pScannerEv->mAcnt; i++)
+ p.writeInt32(pScannerEv->mAid[i]);
+ for (int i = 0; i < pScannerEv->mAcnt; i++)
+ p.writeInt32(pScannerEv->mAfmt[i]);
+ for (int i = 0; i < pScannerEv->mAcnt; i++)
+ p.writeString16(String16(pScannerEv->mAlang[i]));
+ for (int i = 0; i < pScannerEv->mAcnt; i++)
+ p.writeInt32(pScannerEv->mAtype[i]);
+ p.writeInt32(pScannerEv->mPcr);
+ p.writeInt32(pScannerEv->mScnt);
+ for (int i = 0; i < pScannerEv->mScnt; i++)
+ p.writeInt32(pScannerEv->mStype[i]);
+ for (int i = 0; i < pScannerEv->mScnt; i++)
+ p.writeInt32(pScannerEv->mSid[i]);
+ for (int i = 0; i < pScannerEv->mScnt; i++)
+ p.writeInt32(pScannerEv->mSstype[i]);
+ for (int i = 0; i < pScannerEv->mScnt; i++)
+ p.writeInt32(pScannerEv->mSid1[i]);
+ for (int i = 0; i < pScannerEv->mScnt; i++)
+ p.writeInt32(pScannerEv->mSid2[i]);
+ for (int i = 0; i < pScannerEv->mScnt; i++)
+ p.writeString16(String16(pScannerEv->mSlang[i]));
+ ScannerClient->notifyCallback(SCAN_EVENT_CALLBACK, p);
+ }
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_EPG: {
+ CTvEpg::EpgEvent *pEpgEvent = (CTvEpg::EpgEvent *) (&ev);
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+ p.writeInt32(pEpgEvent->type);
+ p.writeInt32(pEpgEvent->time);
+ p.writeInt32(pEpgEvent->programID);
+ p.writeInt32(pEpgEvent->channelID);
+ currentClient->getTvClient()->notifyCallback(EPG_EVENT_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_HDMI_IN_CAP: {
+ CTvScreenCapture::CapEvent *pCapEvt = (CTvScreenCapture::CapEvent *)(&ev);
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+ p.writeInt32(pCapEvt->mFrameNum);
+ p.writeInt32(pCapEvt->mFrameSize);
+ p.writeInt32(pCapEvt->mFrameWide);
+ p.writeInt32(pCapEvt->mFrameHeight);
+ currentClient->getTvClient()->notifyCallback(VFRAME_BMP_EVENT_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_AV_PLAYBACK: {
+ TvEvent::AVPlaybackEvent *pEv = (TvEvent::AVPlaybackEvent *)(&ev);
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+ p.writeInt32(pEv->mMsgType);
+ p.writeInt32(pEv->mProgramId);
+ currentClient->getTvClient()->notifyCallback(DTV_AV_PLAYBACK_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_SIGLE_DETECT: {
+ TvEvent::SignalInfoEvent *pEv = (TvEvent::SignalInfoEvent *)(&ev);
+
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+ p.writeInt32(pEv->mTrans_fmt);
+ p.writeInt32(pEv->mFmt);
+ p.writeInt32(pEv->mStatus);
+ p.writeInt32(pEv->mReserved);
+ currentClient->getTvClient()->notifyCallback(SIGLE_DETECT_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_SUBTITLE: {
+ TvEvent::SubtitleEvent *pEv = (TvEvent::SubtitleEvent *)(&ev);
+ sp<Client> pSubtitleClient = mpSubClient.promote();
+ if (pSubtitleClient != NULL) {
+ Parcel p;
+ p.writeInt32(pEv->pic_width);
+ p.writeInt32(pEv->pic_height);
+ pSubtitleClient->notifyCallback(SUBTITLE_UPDATE_CALLBACK, p);
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_ADC_CALIBRATION: {
+ TvEvent::ADCCalibrationEvent *pEv = (TvEvent::ADCCalibrationEvent *)(&ev);
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+ p.writeInt32(pEv->mState);
+ currentClient->getTvClient()->notifyCallback(ADC_CALIBRATION_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_VGA: { //VGA
+ TvEvent::VGAEvent *pEv = (TvEvent::VGAEvent *)(&ev);
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+ p.writeInt32(pEv->mState);
+ currentClient->getTvClient()->notifyCallback(VGA_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_SOURCE_CONNECT: {
+ TvEvent::SourceConnectEvent *pEv = (TvEvent::SourceConnectEvent *)(&ev);
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+ p.writeInt32(pEv->mSourceInput);
+ p.writeInt32(pEv->connectionState);
+ currentClient->getTvClient()->notifyCallback(SOURCE_CONNECT_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_HDMIRX_CEC: {
+ TvEvent::HDMIRxCECEvent *pEv = (TvEvent::HDMIRxCECEvent *)(&ev);
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+
+ p.writeInt32(pEv->mDataCount);
+ for (int j = 0; j < pEv->mDataCount; j++) {
+ p.writeInt32(pEv->mDataBuf[j]);
+ }
+
+ currentClient->getTvClient()->notifyCallback(HDMIRX_CEC_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_UPGRADE_FBC: {
+ TvEvent::UpgradeFBCEvent *pEv = (TvEvent::UpgradeFBCEvent *)(&ev);
+
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+ p.writeInt32(pEv->mState);
+ p.writeInt32(pEv->param);
+ currentClient->getTvClient()->notifyCallback(UPGRADE_FBC_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+ case CTvEv::TV_EVENT_SERIAL_COMMUNICATION: {
+ TvEvent::SerialCommunicationEvent *pEv = (TvEvent::SerialCommunicationEvent *)(&ev);
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+ p.writeInt32(pEv->mDevId);
+ p.writeInt32(pEv->mDataCount);
+ for (int j = 0; j < pEv->mDataCount; j++) {
+ p.writeInt32(pEv->mDataBuf[j]);
+ }
+
+ currentClient->getTvClient()->notifyCallback(SERIAL_COMMUNICATION_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+
+ case CTvEv::TV_EVENT_2d4G_HEADSET: {
+ TvEvent::HeadSetOf2d4GEvent *pEv = (TvEvent::HeadSetOf2d4GEvent *)(&ev);
+ LOGD("SendDtvStats status: =%d para2: =%d", pEv->state, pEv->para);
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ Parcel p;
+ p.writeInt32(pEv->state);
+ p.writeInt32(pEv->para);
+ currentClient->getTvClient()->notifyCallback(HEADSET_STATUS_CALLBACK, p);
+ }
+ }
+ }
+ break;
+ }
+
+ default:
+ break;
+ }
}
sp<ITv> TvService::connect(const sp<ITvClient> &tvClient)
{
- int callingPid = getCallingPid();
- LOGD("TvService::connect E (pid %d, client %p)", callingPid, IInterface::asBinder(tvClient).get());
-
- Mutex::Autolock lock(mServiceLock);
-
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- sp<ITvClient> currentTvClient(currentClient->getTvClient());
- if (IInterface::asBinder(tvClient) == IInterface::asBinder(currentTvClient)) {
- LOGD("TvService::connect X (pid %d, same client %p) is reconnecting...", callingPid, IInterface::asBinder(tvClient).get());
- return currentClient;
- } else {
- //LOGD("TvService::connect X (pid %d, new client %p) rejected. "
- // "(old pid %d, old client %p)", callingPid, tvClient->asBinder().get(), currentClient->mClientPid, currentTvClient->asBinder().get());
- // if (kill(currentClient->mClientPid, 0) == -1 && errno == ESRCH) {
- // LOGE("The old client is dead!");
- // }
- //return client;
- //return currentClient;
- continue;
- }
- } else {
- LOGE("client (pid %d) have delete ------------not exist", callingPid);
- client.clear();
- m_v_Clients.removeAt(i);
- client_size--;
- continue;
- }
- }
- }
-
- if (mUsers > 0) {
- LOGE("Still have client, rejected");
- //return client;
- }
- LOGD("TvService::connect X 3");
- // client = new Client(this, tvClient, callingPid);
- //mClient = client;
-
- sp<Client> newclient = new Client(this, tvClient, callingPid, mpTv);
- m_v_Clients.add(newclient);
+ int callingPid = getCallingPid();
+ LOGD("TvService::connect E (pid %d, client %p)", callingPid, IInterface::asBinder(tvClient).get());
+
+ Mutex::Autolock lock(mServiceLock);
+
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ sp<ITvClient> currentTvClient(currentClient->getTvClient());
+ if (IInterface::asBinder(tvClient) == IInterface::asBinder(currentTvClient)) {
+ LOGD("TvService::connect X (pid %d, same client %p) is reconnecting...", callingPid, IInterface::asBinder(tvClient).get());
+ return currentClient;
+ } else {
+ //LOGD("TvService::connect X (pid %d, new client %p) rejected. "
+ // "(old pid %d, old client %p)", callingPid, tvClient->asBinder().get(), currentClient->mClientPid, currentTvClient->asBinder().get());
+ // if (kill(currentClient->mClientPid, 0) == -1 && errno == ESRCH) {
+ // LOGE("The old client is dead!");
+ // }
+ //return client;
+ //return currentClient;
+ continue;
+ }
+ } else {
+ LOGE("client (pid %d) have delete ------------not exist", callingPid);
+ client.clear();
+ m_v_Clients.removeAt(i);
+ client_size--;
+ continue;
+ }
+ }
+ }
+
+ if (mUsers > 0) {
+ LOGE("Still have client, rejected");
+ //return client;
+ }
+ LOGD("TvService::connect X 3");
+ // client = new Client(this, tvClient, callingPid);
+ //mClient = client;
+
+ sp<Client> newclient = new Client(this, tvClient, callingPid, mpTv);
+ m_v_Clients.add(newclient);
#if DEBUG_CLIENT_REFERENCES
- //client->trackMe(true, true);
+ //client->trackMe(true, true);
#endif
- //mCurClient = client;
- LOGD("TvService::connect X 4");
- return newclient;
+ //mCurClient = client;
+ LOGD("TvService::connect X 4");
+ return newclient;
}
void TvService::removeClient(const sp<ITvClient> &tvClient)
{
- int callingPid = getCallingPid();
-
- Mutex::Autolock lock(mServiceLock);
-
- int client_size = m_v_Clients.size();
- wp<Client> client;
- for (int i = 0; i < client_size; i++) {
- client = m_v_Clients[i];
- if (client != 0) {
- sp<Client> currentClient = client.promote();
- if (currentClient != 0) {
- sp<ITvClient> currentTvClient(currentClient->getTvClient());
- if (IInterface::asBinder(tvClient) == IInterface::asBinder(currentTvClient)) {
- LOGD("find client , and remove it pid = %d, client = %p i=%d", callingPid, IInterface::asBinder(tvClient).get(), i);
- client.clear();
- LOGD("find client , and remove it pid1 ");
- m_v_Clients.removeAt(i);
- LOGD("find client , and remove it pid2 ");
- break;
- } else {
- LOGW("removeClient (pid %d): mClient doesn't match!", callingPid);
- continue;
- }
- } else {
- LOGW("removeclient currentClient == 0 (pid %d)", callingPid);
- client.clear();
- m_v_Clients.removeAt(i);
- client_size--;
- continue;
- }
- } else {
- LOGW("removeclient client == 0 (pid %d)", callingPid);
- client.clear();
- m_v_Clients.removeAt(i);
- client_size--;
- continue;
- }
- }
-
- LOGD("removeClient (pid %d) done", callingPid);
+ int callingPid = getCallingPid();
+
+ Mutex::Autolock lock(mServiceLock);
+
+ int client_size = m_v_Clients.size();
+ wp<Client> client;
+ for (int i = 0; i < client_size; i++) {
+ client = m_v_Clients[i];
+ if (client != 0) {
+ sp<Client> currentClient = client.promote();
+ if (currentClient != 0) {
+ sp<ITvClient> currentTvClient(currentClient->getTvClient());
+ if (IInterface::asBinder(tvClient) == IInterface::asBinder(currentTvClient)) {
+ LOGD("find client , and remove it pid = %d, client = %p i=%d", callingPid, IInterface::asBinder(tvClient).get(), i);
+ client.clear();
+ LOGD("find client , and remove it pid1 ");
+ m_v_Clients.removeAt(i);
+ LOGD("find client , and remove it pid2 ");
+ break;
+ } else {
+ LOGW("removeClient (pid %d): mClient doesn't match!", callingPid);
+ continue;
+ }
+ } else {
+ LOGW("removeclient currentClient == 0 (pid %d)", callingPid);
+ client.clear();
+ m_v_Clients.removeAt(i);
+ client_size--;
+ continue;
+ }
+ } else {
+ LOGW("removeclient client == 0 (pid %d)", callingPid);
+ client.clear();
+ m_v_Clients.removeAt(i);
+ client_size--;
+ continue;
+ }
+ }
+
+ LOGD("removeClient (pid %d) done", callingPid);
}
void TvService::incUsers()
{
- android_atomic_inc(&mUsers);
+ android_atomic_inc(&mUsers);
}
void TvService::decUsers()
{
- android_atomic_dec(&mUsers);
+ android_atomic_dec(&mUsers);
}
TvService::Client::Client(const sp<TvService> &tvService, const sp<ITvClient> &tvClient, pid_t clientPid, CTv *pTv)
{
- int callingPid = getCallingPid();
- LOGD("Client::Client E (pid %d)", callingPid);
- mTvService = tvService;
- mTvClient = tvClient;
- mClientPid = clientPid;
- tvService->incUsers();
- mpTv = pTv;
- mIsStartTv = false;
+ int callingPid = getCallingPid();
+ LOGD("Client::Client E (pid %d)", callingPid);
+ mTvService = tvService;
+ mTvClient = tvClient;
+ mClientPid = clientPid;
+ tvService->incUsers();
+ mpTv = pTv;
+ mIsStartTv = false;
}
status_t TvService::Client::checkPid()
{
- int callingPid = getCallingPid();
- if (mClientPid == callingPid)
- return NO_ERROR;
- LOGD("Attempt to use locked tv (client %p) from different process "
- " (old pid %d, new pid %d)", IInterface::asBinder(getTvClient()).get(), mClientPid, callingPid);
- return -EBUSY;
+ int callingPid = getCallingPid();
+ if (mClientPid == callingPid)
+ return NO_ERROR;
+ LOGD("Attempt to use locked tv (client %p) from different process "
+ " (old pid %d, new pid %d)", IInterface::asBinder(getTvClient()).get(), mClientPid, callingPid);
+ return -EBUSY;
}
status_t TvService::Client::lock()
{
- int callingPid = getCallingPid();
- LOGD("lock from pid %d (mClientPid %d)", callingPid, mClientPid);
- Mutex::Autolock _l(mLock);
- // lock tv to this client if the the tv is unlocked
- if (mClientPid == 0) {
- mClientPid = callingPid;
- return NO_ERROR;
- }
- // returns NO_ERROR if the client already owns the tv, -EBUSY otherwise
- return checkPid();
+ int callingPid = getCallingPid();
+ LOGD("lock from pid %d (mClientPid %d)", callingPid, mClientPid);
+ Mutex::Autolock _l(mLock);
+ // lock tv to this client if the the tv is unlocked
+ if (mClientPid == 0) {
+ mClientPid = callingPid;
+ return NO_ERROR;
+ }
+ // returns NO_ERROR if the client already owns the tv, -EBUSY otherwise
+ return checkPid();
}
status_t TvService::Client::unlock()
{
- int callingPid = getCallingPid();
- LOGD("unlock from pid %d (mClientPid %d)", callingPid, mClientPid);
- Mutex::Autolock _l(mLock);
- // allow anyone to use tv
- status_t result = checkPid();
- if (result == NO_ERROR) {
- mClientPid = 0;
- LOGD("clear mTvClient (pid %d)", callingPid);
- // we need to remove the reference so that when app goes
- // away, the reference count goes to 0.
- mTvClient.clear();
- }
- return result;
+ int callingPid = getCallingPid();
+ LOGD("unlock from pid %d (mClientPid %d)", callingPid, mClientPid);
+ Mutex::Autolock _l(mLock);
+ // allow anyone to use tv
+ status_t result = checkPid();
+ if (result == NO_ERROR) {
+ mClientPid = 0;
+ LOGD("clear mTvClient (pid %d)", callingPid);
+ // we need to remove the reference so that when app goes
+ // away, the reference count goes to 0.
+ mTvClient.clear();
+ }
+ return result;
}
status_t TvService::Client::connect(const sp<ITvClient> &client)
{
- int callingPid = getCallingPid();
- LOGD("Client::connect E (pid %d, client %p)", callingPid, IInterface::asBinder(client).get());
- {
- sp<ITvClient> oldClient;
- {
- Mutex::Autolock _l(mLock);
- if (mClientPid != 0 && checkPid() != NO_ERROR) {
- LOGW("Tried to connect to locked tv (old pid %d, new pid %d)", mClientPid, callingPid);
- return -EBUSY;
- }
- oldClient = mTvClient;
-
- // did the client actually change?
- if ((mTvClient != NULL) && (IInterface::asBinder(client) == IInterface::asBinder(mTvClient))) {
- LOGD("Connect to the same client");
- return NO_ERROR;
- }
-
- mTvClient = client;
- mClientPid = -1;
- LOGD("Connect to the new client (pid %d, client %p)", callingPid, IInterface::asBinder(mTvClient).get());
- }
-
- }
- mClientPid = callingPid;
- return NO_ERROR;
+ int callingPid = getCallingPid();
+ LOGD("Client::connect E (pid %d, client %p)", callingPid, IInterface::asBinder(client).get());
+ {
+ sp<ITvClient> oldClient;
+ {
+ Mutex::Autolock _l(mLock);
+ if (mClientPid != 0 && checkPid() != NO_ERROR) {
+ LOGW("Tried to connect to locked tv (old pid %d, new pid %d)", mClientPid, callingPid);
+ return -EBUSY;
+ }
+ oldClient = mTvClient;
+
+ // did the client actually change?
+ if ((mTvClient != NULL) && (IInterface::asBinder(client) == IInterface::asBinder(mTvClient))) {
+ LOGD("Connect to the same client");
+ return NO_ERROR;
+ }
+
+ mTvClient = client;
+ mClientPid = -1;
+ LOGD("Connect to the new client (pid %d, client %p)", callingPid, IInterface::asBinder(mTvClient).get());
+ }
+
+ }
+ mClientPid = callingPid;
+ return NO_ERROR;
}
TvService::Client::~Client()
{
- if (mIsStartTv) mpTv->StopTvLock();
-
- int callingPid = getCallingPid();
- // tear down client
- LOGD("Client::~Client E (pid %d, client %p)", callingPid, IInterface::asBinder(getTvClient()).get());
- // make sure we tear down the hardware
- mClientPid = callingPid;
- disconnect();
- LOGD("Client::~Client X (pid %d)", mClientPid);
+ if (mIsStartTv) mpTv->StopTvLock();
+
+ int callingPid = getCallingPid();
+ // tear down client
+ LOGD("Client::~Client E (pid %d, client %p)", callingPid, IInterface::asBinder(getTvClient()).get());
+ // make sure we tear down the hardware
+ mClientPid = callingPid;
+ disconnect();
+ LOGD("Client::~Client X (pid %d)", mClientPid);
}
void TvService::Client::disconnect()
{
- int callingPid = getCallingPid();
+ int callingPid = getCallingPid();
- LOGD("Client::disconnect() E (pid %d client %p)", callingPid, IInterface::asBinder(getTvClient()).get());
+ LOGD("Client::disconnect() E (pid %d client %p)", callingPid, IInterface::asBinder(getTvClient()).get());
- Mutex::Autolock lock(mLock);
- if (mClientPid <= 0) {
- LOGE("tv is unlocked (mClientPid = %d), don't tear down hardware", mClientPid);
- return;
- }
- if (checkPid() != NO_ERROR) {
- LOGE("Different client - don't disconnect");
- return;
- }
+ Mutex::Autolock lock(mLock);
+ if (mClientPid <= 0) {
+ LOGE("tv is unlocked (mClientPid = %d), don't tear down hardware", mClientPid);
+ return;
+ }
+ if (checkPid() != NO_ERROR) {
+ LOGE("Different client - don't disconnect");
+ return;
+ }
- mTvService->removeClient(mTvClient);
- mTvService->decUsers();
+ mTvService->removeClient(mTvClient);
+ mTvService->decUsers();
- LOGD("Client::disconnect() X (pid %d)", callingPid);
+ LOGD("Client::disconnect() X (pid %d)", callingPid);
}
status_t TvService::Client::createVideoFrame(const sp<IMemory> &share_mem, int iSourceMode, int iCapVideoLayerOnly)
{
- LOGD(" mem=%p size=%d", share_mem->pointer() == NULL, share_mem->size());
- LOGD("iSourceMode :%d iCapVideoLayerOnly = %d \n", iSourceMode, iCapVideoLayerOnly);
- int Len = 0;
- Mutex::Autolock lock(mLock);
- mTvService->mCapVidFrame.InitVCap(share_mem);
-
- if ((1 == iSourceMode) && (1 == iCapVideoLayerOnly)) {
- mTvService->mCapVidFrame.CapMediaPlayerVideoLayerOnly(1920, 1080);
+ LOGD(" mem=%p size=%d", share_mem->pointer() == NULL, share_mem->size());
+ LOGD("iSourceMode :%d iCapVideoLayerOnly = %d \n", iSourceMode, iCapVideoLayerOnly);
+ int Len = 0;
+ Mutex::Autolock lock(mLock);
+ mTvService->mCapVidFrame.InitVCap(share_mem);
+
+ if ((1 == iSourceMode) && (1 == iCapVideoLayerOnly)) {
+ mTvService->mCapVidFrame.CapMediaPlayerVideoLayerOnly(1920, 1080);
#if 0
- mTvService->mCapVidFrame.SetVideoParameter(1920, 1080, 50);
- mTvService->mCapVidFrame.VideoStart();
- mTvService->mCapVidFrame.GetVideoData(&Len);
- mTvService->mCapVidFrame.VideoStop();
+ mTvService->mCapVidFrame.SetVideoParameter(1920, 1080, 50);
+ mTvService->mCapVidFrame.VideoStart();
+ mTvService->mCapVidFrame.GetVideoData(&Len);
+ mTvService->mCapVidFrame.VideoStop();
#endif
- } else if (2 == iSourceMode && 0 == iCapVideoLayerOnly) {
- mTvService->mCapVidFrame.CapOsdAndVideoLayer(1920, 1080);
- } else if (2 == iSourceMode && 1 == iCapVideoLayerOnly) {
- mTvService->mCapVidFrame.CapMediaPlayerVideoLayerOnly(1920, 1080);
- } else {
- LOGD("=============== NOT SUPPORT=======================\n");
- }
- mTvService->mCapVidFrame.DeinitVideoCap();
-
- return 0;
+ } else if (2 == iSourceMode && 0 == iCapVideoLayerOnly) {
+ mTvService->mCapVidFrame.CapOsdAndVideoLayer(1920, 1080);
+ } else if (2 == iSourceMode && 1 == iCapVideoLayerOnly) {
+ mTvService->mCapVidFrame.CapMediaPlayerVideoLayerOnly(1920, 1080);
+ } else {
+ LOGD("=============== NOT SUPPORT=======================\n");
+ }
+ mTvService->mCapVidFrame.DeinitVideoCap();
+
+ return 0;
}
status_t TvService::Client::createSubtitle(const sp<IMemory> &share_mem)
{
- mSubBmpBuf = share_mem;
- LOGD("createSubtitle pid = %d, mem=%d size=%d", getCallingPid(), share_mem->pointer() == NULL, share_mem->size());
- mpTv->setSubtitleBuffer((char *)mSubBmpBuf->pointer());
- mTvService->mpSubClient = this;
- //pSub = new CTvSubtitle(share_mem, this);
- //pSub->run();
- return 0;
+ mSubBmpBuf = share_mem;
+ LOGD("createSubtitle pid = %d, mem=%d size=%d", getCallingPid(), share_mem->pointer() == NULL, share_mem->size());
+ mpTv->setSubtitleBuffer((char *)mSubBmpBuf->pointer());
+ mTvService->mpSubClient = this;
+ //pSub = new CTvSubtitle(share_mem, this);
+ //pSub->run();
+ return 0;
}
status_t TvService::Client::processCmd(const Parcel &p, Parcel *r)
{
- int tmp_i_buf[128] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
- unsigned char tmp_uc_buf[512] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
- unsigned char tmp_uc_buf2[512] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
- int8_t tmp_int8_buf[512] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
- static int source_input = 0;
- int *data_ptr = NULL;
-
- int cmd = p.readInt32();
-
- LOGD("enter client=%d cmd=%d", getCallingPid(), cmd);
- switch (cmd) {
- // Tv function
- case OPEN_TV: {
- break;
- }
- case CLOSE_TV: {
- int ret = mpTv->CloseTv();
- r->writeInt32(ret);
- break;
- }
- case START_TV: {
- int mode = p.readInt32();
- int ret = mpTv->StartTvLock();
- //mTvService->mpStartTvClient = this;
- mIsStartTv = true;
- r->writeInt32(ret);
- break;
- }
- case STOP_TV: {
- int ret = mpTv->StopTvLock();
- r->writeInt32(ret);
- mIsStartTv = false;
- break;
- }
- case GET_TV_STATUS: {
- int ret = 0;
- ret = (int)mpTv->GetTvStatus();
- r->writeInt32(ret);
- break;
- }
- case GET_LAST_SOURCE_INPUT: {
- int ret = (int)mpTv->GetLastSourceInput();
- r->writeInt32(ret);
- break;
- }
- case GET_CURRENT_SOURCE_INPUT: {
- int ret = (int)mpTv->GetCurrentSourceInputLock();
- r->writeInt32(ret);
- break;
- }
- case GET_CURRENT_SOURCE_INPUT_TYPE: {
- int ret = 0;//(int)mpTv->Tvin_GetSrcInputType();
- r->writeInt32(ret);
- break;
- }
- case GET_CURRENT_SIGNAL_INFO: {
- tvin_info_t siginfo = mpTv->GetCurrentSignalInfo();
- int frame_rate = mpTv->getHDMIFrameRate();
- r->writeInt32(siginfo.trans_fmt);
- r->writeInt32(siginfo.fmt);
- r->writeInt32(siginfo.status);
- r->writeInt32(frame_rate);
- break;
- }
- case IS_SOURCE_SWTICH_DONE: {
- //int ret = mpTv->Tv_IsSourceSwtichDone();
- r->writeInt32(0);
- break;
- }
- case SET_SOURCE_INPUT: {
- int sourceinput = p.readInt32();
- tvin_window_pos_t win_pos;
- LOGD(" SetSourceInput sourceId= %x", sourceinput);
- source_input = sourceinput;
- int ret = mpTv->SetSourceSwitchInput((tv_source_input_t)sourceinput);
- r->writeInt32(ret);
- break;
- }
- case DO_SUSPEND: {
- int type = p.readInt32();
- int ret = mpTv->DoSuspend(type);
- r->writeInt32(ret);
- break;
- }
- case DO_RESUME: {
- int type = p.readInt32();
- int ret = mpTv->DoResume(type);
- r->writeInt32(ret);
- break;
- }
- case RUN_ADC_AUTO_CALIBRATION: {
- // int ret = mpTv->Tv_RunADCAutoCalibration();
- // r->writeInt32(ret);
- break;
- }
- case IS_DVI_SIGNAL: {
- int ret = mpTv->IsDVISignal();
- r->writeInt32(ret);
- break;
- }
- case IS_VGA_TIMEING_IN_HDMI: {
- int ret = mpTv->isVgaFmtInHdmi();
- r->writeInt32(ret);
- break;
- }
- case GET_VIDEO_PATH_STATUS: {
- int path_type = p.readInt32();
- int ret = 0;//(int)mpTv->Tvin_CheckPathActive((tv_path_type_t)path_type);
- r->writeInt32(ret);
- break;
- }
- case GET_VIDEO_STREAM_STATUS: {
- // int ret = (int)mpTv->Tvin_CheckVideoStreamStatus();
- // r->writeInt32(ret);
- break;
- }
- case GET_FIRST_START_SWITCH_TYPE: {
- //int tmp_val = 0;
- //int ret = (int)mpTv->Tv_GetFirstStartSwitchType(&tmp_val);
- //r->writeInt32(ret);
- r->writeInt32(1);
- break;
- }
- case SET_PREVIEW_WINDOW: {
- tvin_window_pos_t win_pos;
- win_pos.x1 = p.readInt32();
- win_pos.y1 = p.readInt32();
- win_pos.x2 = p.readInt32();
- win_pos.y2 = p.readInt32();
- int ret = (int)mpTv->SetPreviewWindow(win_pos);
- r->writeInt32(ret);
- break;
- }
-
- case SET_VIDEO_DISABLE: {
- int value = p.readInt32();
- int ret = 0;//(int)mpTv->Tv_SetVideoDisable(value);
- r->writeInt32(ret);
- break;
- }
-
- case GET_SOURCE_CONNECT_STATUS: {
- int source_input = p.readInt32();
- int ret = mpTv->GetSourceConnectStatus((tv_source_input_t)source_input);
- r->writeInt32(ret);
- break;
- }
- //Tv function END
-
- //VGA
- case RUN_VGA_AUTO_ADJUST: {
- //int ret = mpTv->Tv_RunVGAAutoAdjust();
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case GET_VGA_AUTO_ADJUST_STATUS: {
- // int fmt = p.readInt32();
- //int ret = (int) mpTv->Tv_GetVagAutoAdjustStatus();
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case IS_VGA_AUTO_ADJUST_DONE: {
- int fmt = p.readInt32();
- int ret = 0;//mpTv->Tv_IsVGAAutoAdjustDone((tvin_sig_fmt_t)fmt);
- r->writeInt32(ret);
- break;
- }
- case SET_VGA_HPOS: {
- // int value = p.readInt32();
- // int fmt = p.readInt32();
- //int ret = mpTv->Tv_SetVGAHPos(value, (tvin_sig_fmt_t)fmt);
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case GET_VGA_HPOS: {
- // int fmt = p.readInt32();
- // int ret = mpTv->Tv_GetVGAHPos((tvin_sig_fmt_t)fmt);
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
-
- case SET_VGA_VPOS: {
- // int value = p.readInt32();
- // int fmt = p.readInt32();
- // int ret = mpTv->Tv_SetVGAVPos(value, (tvin_sig_fmt_t)fmt);
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case GET_VGA_VPOS: {
- // int fmt = p.readInt32();
- // int ret = mpTv->Tv_GetVGAVPos((tvin_sig_fmt_t)fmt);
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
-
- case SET_VGA_CLOCK: {
- // int value = p.readInt32();
- // int fmt = p.readInt32();
- // int ret = mpTv->Tv_SetVGAClock(value, (tvin_sig_fmt_t)fmt);
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case GET_VGA_CLOCK: {
- // int fmt = p.readInt32();
- // int ret = mpTv->Tv_GetVGAClock((tvin_sig_fmt_t)fmt);
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
-
- case SET_VGA_PHASE: {
- // int value = p.readInt32();
- // int fmt = p.readInt32();
- // int ret = mpTv->Tv_SetVGAPhase(value, (tvin_sig_fmt_t)fmt);
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case GET_VGA_PHASE: {
- // int fmt = p.readInt32();
- // int ret = mpTv->Tv_GetVGAPhase((tvin_sig_fmt_t)fmt);
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case SET_VGA_AJUST_PARA: {
- tvafe_vga_parm_t adjparam;
- adjparam.clk_step = p.readInt32();
- adjparam.phase = p.readInt32();
- adjparam.hpos_step = p.readInt32();
- adjparam.vpos_step = p.readInt32();
- adjparam.vga_in_clean = p.readInt32();
- int fmt = p.readInt32();
- int ret = 0/*SetVGAAjustPara(adjparam, (tvin_sig_fmt_t)fmt)*/;
- r->writeInt32(ret);
- break;
- }
- case GET_VGA_AJUST_PARA: {
- tvafe_vga_parm_t adjparam;
- int fmt = p.readInt32();
- int ret = 0/*GetVGAAjustPara(&adjparam, (tvin_sig_fmt_t)fmt)*/;
- r->writeInt32(adjparam.clk_step);
- r->writeInt32(adjparam.phase);
- r->writeInt32(adjparam.hpos_step);
- r->writeInt32(adjparam.vpos_step);
- r->writeInt32(adjparam.vga_in_clean);
- r->writeInt32(ret);
- break;
- }
- case SET_VGAPARAM_DEFAULT: {
- // int ret = (int)mpTv->TvinResetVgaAjustParam();
- // r->writeInt32(ret);
- break;
- }
- // VGA END
-
- // 3D
-
- case SET_3D_MODE: {
- int mode = p.readInt32();
- int ret = mpTv->Tv_Set3DMode((VIDEO_3D_MODE_T)mode);
- r->writeInt32(ret);
- break;
- }
- case GET_3D_MODE: {
- int ret = (int)mpTv->Tv_Get3DMode();
- r->writeInt32(ret);
- break;
- }
- case SET_3D_LR_SWITH: {
- int on_off = p.readInt32();
- //int status = p.readInt32();
- int ret = mpTv->Tv_Set3DLRSwith(on_off);
- r->writeInt32(ret);
- break;
- }
- case GET_3D_LR_SWITH: {
- int ret = mpTv->Tv_Get3DLRSwith();
- r->writeInt32(ret);
- break;
- }
- case SET_3D_TO_2D_MODE: {
- int mode = p.readInt32();
- //int status = p.readInt32();
- int ret = mpTv->Tv_Set3DTo2DMode(mode);
- r->writeInt32(ret);
- break;
- }
- case GET_3D_TO_2D_MODE: {
- int ret = mpTv->Tv_Get3DTo2DMode();
- r->writeInt32(ret);
- break;
- }
- case SET_3D_DEPTH: {
- int value = p.readInt32();
- int ret = mpTv->Tv_Set3DDepth(value);
- r->writeInt32(ret);
- break;
- }
- case GET_3D_DEPTH: {
- int ret = mpTv->GetSave3DDepth();
- r->writeInt32(ret);
- break;
- }
- // 3D END
-
- // PQ
- case SET_BRIGHTNESS: {
- int brightness = p.readInt32();
- int source_type = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SetBrightness(brightness, (tv_source_input_type_t)source_type, is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_BRIGHTNESS: {
- int source_type = p.readInt32();
- LOGD("GET_BRIGHTNESS------------=%d", source_type);
- int ret = mpTv->Tv_GetBrightness((tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SAVE_BRIGHTNESS: {
- int brightness = p.readInt32();
- int source_type = p.readInt32();
- int ret = mpTv->Tv_SaveBrightness(brightness, (tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
-
- case SET_CONTRAST: {
- int contrast = p.readInt32();
- int source_type = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SetContrast(contrast, (tv_source_input_type_t)source_type, is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_CONTRAST: {
- int source_type = p.readInt32();
- int ret = mpTv->Tv_GetContrast((tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SAVE_CONTRAST: {
- int contrast = p.readInt32();
- int source_type = p.readInt32();
- int ret = mpTv->Tv_SaveContrast(contrast, (tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SET_SATUATION: {
- int satuation = p.readInt32();
- int source_type = p.readInt32();
- int fmt = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SetSaturation(satuation, (tv_source_input_type_t)source_type, (tvin_sig_fmt_t)fmt, is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_SATUATION: {
- int source_type = p.readInt32();
- int ret = mpTv->Tv_GetSaturation((tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SAVE_SATUATION: {
- int satuation = p.readInt32();
- int source_type = p.readInt32();
- int ret = mpTv->Tv_SaveSaturation(satuation, (tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SET_HUE: {
- int hue = p.readInt32();
- int source_type = p.readInt32();
- int fmt = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SetHue(hue, (tv_source_input_type_t)source_type, (tvin_sig_fmt_t)fmt, is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_HUE: {
- int source_type = p.readInt32();
- int ret = mpTv->Tv_GetHue((tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SAVE_HUE: {
- int hue = p.readInt32();
- int source_type = p.readInt32();
- int ret = mpTv->Tv_SaveHue(hue, (tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SET_SCENEMODE: {
- int mode = p.readInt32();
- int is_save = p.readInt32();
- int ret = 0;//mpTv->Tv_SetSceneMode((vpp_scene_mode_t)mode,is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_SCENEMODE: {
- int ret = 0;//(int)mpTv->Tv_GetSceneMode();
- r->writeInt32(ret);
- break;
- }
- case SET_PQMODE: {
- int mode = p.readInt32();
- int source_type = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SetPQMode((vpp_picture_mode_t)mode, (tv_source_input_type_t)source_type, is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_PQMODE: {
- int source_type = p.readInt32();
- int ret = (int)mpTv->Tv_GetPQMode((tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SAVE_PQMODE: {
- int mode = p.readInt32();
- int source_type = p.readInt32();
- int ret = mpTv->Tv_SavePQMode((vpp_picture_mode_t)mode, (tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SET_SHARPNESS: {
- int value = p.readInt32();
- int source_type = p.readInt32();
- int en = p.readInt32();
- int status_3d = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SetSharpness(value, (tv_source_input_type_t)source_type, en, is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_SHARPNESS: {
- int source_type = p.readInt32();
- int ret = mpTv->Tv_GetSharpness((tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SAVE_SHARPNESS: {
- int value = p.readInt32();
- int source_type = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SaveSharpness(value, (tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SET_BACKLIGHT: {
- int value = p.readInt32();
- int source_type = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SetBacklight(value, (tv_source_input_type_t)source_type, is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_BACKLIGHT: {
- int source_type = p.readInt32();
- int ret = mpTv->Tv_GetBacklight((tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SAVE_BACKLIGHT: {
- int value = p.readInt32();
- int source_type = p.readInt32();
- int ret = mpTv->Tv_SaveBacklight ( value, (tv_source_input_type_t)source_type );
- r->writeInt32(ret);
- break;
- }
- case SET_BACKLIGHT_SWITCH: {
- int value = p.readInt32();
- int ret = mpTv->Tv_SetBacklight_Switch(value);
- r->writeInt32(ret);
- break;
- }
- case GET_BACKLIGHT_SWITCH: {
- int ret = mpTv->Tv_GetBacklight_Switch();
- r->writeInt32(ret);
- break;
- }
- case SET_COLOR_TEMPERATURE: {
- int mode = p.readInt32();
- int source_type = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SetColorTemperature((vpp_color_temperature_mode_t)mode, (tv_source_input_type_t)source_type, is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_COLOR_TEMPERATURE: {
- int source_type = p.readInt32();
- int ret = mpTv->Tv_GetColorTemperature((tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SAVE_COLOR_TEMPERATURE: {
- int mode = p.readInt32();
- int source_type = p.readInt32();
- int ret = mpTv->Tv_SaveColorTemperature ( (vpp_color_temperature_mode_t)mode, (tv_source_input_type_t)source_type );
- r->writeInt32(ret);
- break;
- }
- case SET_DISPLAY_MODE: {
- int mode = p.readInt32();
- int source_type = p.readInt32();
- int fmt = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SetDisplayMode((vpp_display_mode_t)mode, (tv_source_input_type_t)source_type, (tvin_sig_fmt_t)fmt, is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_DISPLAY_MODE: {
- int source_type = p.readInt32();
- int ret = (int)mpTv->Tv_GetDisplayMode((tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SAVE_DISPLAY_MODE: {
- int mode = p.readInt32();
- int source_type = p.readInt32();
- int ret = mpTv->Tv_SaveDisplayMode((vpp_display_mode_t)mode, (tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SET_NOISE_REDUCTION_MODE: {
- int mode = p.readInt32();
- int source_type = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_SetNoiseReductionMode((vpp_noise_reduction_mode_t)mode, (tv_source_input_type_t)source_type, is_save);
- r->writeInt32(ret);
- break;
- }
- case GET_NOISE_REDUCTION_MODE: {
- int source_type = p.readInt32();
- int ret = mpTv->Tv_GetNoiseReductionMode((tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case SAVE_NOISE_REDUCTION_MODE: {
- int mode = p.readInt32();
- int source_type = p.readInt32();
- int ret = mpTv->Tv_SaveNoiseReductionMode((vpp_noise_reduction_mode_t)mode, (tv_source_input_type_t)source_type);
- r->writeInt32(ret);
- break;
- }
- case VPP_SPLIT_SCREEN_EFFECT: {
- int mode = p.readInt32();
- int width = p.readInt32();
- int reverse = p.readInt32();
- int ret = mpTv->Tv_SplitScreenEffect(mode, width, reverse);
- r->writeInt32(ret);
- break;
- }
- // PQ END
-
- // FACTORY
- case FACTORY_SETPQMODE_BRIGHTNESS: {
- int source_type = p.readInt32();
- int pq_mode = p.readInt32();
- int brightness = p.readInt32();
- int ret = mpTv->Tv_FactorySetPQMode_Brightness(source_type, pq_mode, brightness);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETPQMODE_BRIGHTNESS: {
- int source_type = p.readInt32();
- int pq_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetPQMode_Brightness(source_type, pq_mode);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETPQMODE_CONTRAST: {
- int source_type = p.readInt32();
- int pq_mode = p.readInt32();
- int contrast = p.readInt32();
- int ret = mpTv->Tv_FactorySetPQMode_Contrast(source_type, pq_mode, contrast);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETPQMODE_CONTRAST: {
- int source_type = p.readInt32();
- int pq_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetPQMode_Contrast(source_type, pq_mode);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETPQMODE_SATURATION: {
- int source_type = p.readInt32();
- int pq_mode = p.readInt32();
- int saturation = p.readInt32();
- int ret = mpTv->Tv_FactorySetPQMode_Saturation(source_type, pq_mode, saturation);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETPQMODE_SATURATION: {
- int source_type = p.readInt32();
- int pq_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetPQMode_Saturation(source_type, pq_mode);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETPQMODE_HUE: {
- int source_type = p.readInt32();
- int pq_mode = p.readInt32();
- int hue = p.readInt32();
- int ret = mpTv->Tv_FactorySetPQMode_Hue(source_type, pq_mode, hue);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETPQMODE_HUE: {
- int source_type = p.readInt32();
- int pq_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetPQMode_Hue(source_type, pq_mode);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETPQMODE_SHARPNESS: {
- int source_type = p.readInt32();
- int pq_mode = p.readInt32();
- int sharpness = p.readInt32();
- int ret = mpTv->Tv_FactorySetPQMode_Sharpness(source_type, pq_mode, sharpness);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETPQMODE_SHARPNESS: {
- int source_type = p.readInt32();
- int pq_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetPQMode_Sharpness(source_type, pq_mode);
-
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETTESTPATTERN: {
- int pattern = p.readInt32();
- int ret = mpTv->Tv_FactorySetTestPattern(pattern);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETTESTPATTERN: {
- int ret = mpTv->Tv_FactoryGetTestPattern();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETPATTERN_YUV: {
- int blend = p.readInt32();
- int y = p.readInt32();
- int u = p.readInt32();
- int v = p.readInt32();
- int ret = mpTv->Tv_FactorySetScreenColor(blend,y,u,v);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_RESETPQMODE: {
- int ret = mpTv->Tv_FactoryResetPQMode();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_RESETCOLORTEMP: {
- int ret = mpTv->Tv_FactoryResetColorTemp();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_RESETPAMAMSDEFAULT: {
- int ret = mpTv->Tv_FactorySetParamsDefault();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETDDRSSC: {
- int setp = p.readInt32();
- int ret = mpTv->Tv_FactorySetDDRSSC(setp);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETDDRSSC: {
- int ret = mpTv->Tv_FactoryGetDDRSSC();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETLVDSSSC: {
- int setp = p.readInt32();
- int ret = mpTv->Tv_FactorySetLVDSSSC(setp);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETLVDSSSC: {
- int ret = mpTv->Tv_FactoryGetLVDSSSC();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETNOLINEPARAMS: {
- noline_params_t params;
- int noline_params_type = p.readInt32();
- int source_type = p.readInt32();
- params.osd0 = p.readInt32();
- params.osd25 = p.readInt32();
- params.osd50 = p.readInt32();
- params.osd75 = p.readInt32();
- params.osd100 = p.readInt32();
- int ret = mpTv->Tv_FactorySetNolineParams(noline_params_type, source_type, params);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETNOLINEPARAMS: {
- int noline_params_type = p.readInt32();
- int source_type = p.readInt32();
- noline_params_t params = mpTv->Tv_FactoryGetNolineParams(noline_params_type, source_type);
- r->writeInt32(params.osd0);
- r->writeInt32(params.osd25);
- r->writeInt32(params.osd50);
- r->writeInt32(params.osd75);
- r->writeInt32(params.osd100);
- break;
- }
- case FACTORY_SETOVERSCAN: {
- tvin_cutwin_t cutwin_t;
- int source_type = p.readInt32();
- int fmt = p.readInt32();
- int status_3d = p.readInt32();
- int trans_fmt = p.readInt32();
- cutwin_t.hs = p.readInt32();
- cutwin_t.he = p.readInt32();
- cutwin_t.vs = p.readInt32();
- cutwin_t.ve = p.readInt32();
- int ret = mpTv->Tv_FactorySetOverscan(source_type, fmt, status_3d, trans_fmt, cutwin_t);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETOVERSCAN: {
- int source_type = p.readInt32();
- int fmt = p.readInt32();
- int status_3d = p.readInt32();
- int trans_fmt = p.readInt32();
- tvin_cutwin_t cutwin_t = mpTv->Tv_FactoryGetOverscan(source_type, fmt, status_3d, trans_fmt);
- r->writeInt32(cutwin_t.hs);
- r->writeInt32(cutwin_t.he);
- r->writeInt32(cutwin_t.vs);
- r->writeInt32(cutwin_t.ve);
- break;
- }
- case DELETE_PARAM_PQ_DB: {
- int tmpRet = mpTv->Tv_ReplacePqDb();
- r->writeInt32(tmpRet);
- }
- case REPLACE_PARAM_PQ_DB: {
- int tmpRet;
- String16 tmp_str16;
- String8 value_str;
-
- tmp_str16 = p.readString16();
- value_str = String8(tmp_str16);
-
- tmpRet = mpTv->Tv_ReplacePqDb(value_str.string());
- r->writeInt32(tmpRet);
- break;
- }
- case FACTORY_SET_OUT_DEFAULT: {
- int ret = 0;
- ret = mpTv->Tv_SSMFacRestoreDefaultSetting();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETGLOBALOGO_RGAIN: {
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETGLOBALOGO_GGAIN: {
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETGLOBALOGO_BGAIN: {
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETGLOBALOGO_ROFFSET: {
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETGLOBALOGO_GOFFSET: {
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETGLOBALOGO_BOFFSET: {
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETGLOBALOGO_RGAIN: {
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETGLOBALOGO_GGAIN: {
- int p1 = p.readInt32();
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETGLOBALOGO_BGAIN: {
- int p1 = p.readInt32();
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETGLOBALOGO_ROFFSET: {
- int p1 = p.readInt32();
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETGLOBALOGO_GOFFSET: {
- int p1 = p.readInt32();
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETGLOBALOGO_BOFFSET: {
- int p1 = p.readInt32();
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case FACTORY_CLEAN_ALL_TABLE_FOR_PROGRAM: {
- int ret = mpTv->ClearAnalogFrontEnd();
- mpTv->clearDbAllProgramInfoTable();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETBACKLIGHT_PWM_FREQUENCY: {
- int value = p.readInt32();
- int ret = 0;//mpTv->GetVpp().Tv_FactorySetBacklightPWM_Frequency(value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETBACKLIGHT_PWM_FREQUENCY: {
- int ret = 0;//mpTv->GetVpp().Tv_FactoryGetBacklightPWM_Frequency();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETBACKLIGHT_SWITCH_STATUS: {
- int value = p.readInt32();
- int ret = 0;//mpTv->GetVpp().Tv_FactorySetBacklight_Switch_status(value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETBACKLIGHT_SWITCH_STATUS: {
- int ret = 0;//mpTv->GetVpp().Tv_FactoryGetBacklight_Switch_status();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETBACKLIGHT_PWM_DUTY: {
- int value = p.readInt32();
- int ret = 0;//mpTv->GetVpp().Tv_FactorySetBacklightPWM_Duty(value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETBACKLIGHT_PWM_DUTY: {
- int ret = 0;//mpTv->GetVpp().Tv_FactoryGetBacklightPWM_Duty();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_SETLVDS_COLOR_DEPTH: {
- int value = p.readInt32();
- int ret = 0;//mpTv->GetVpp().Tv_FactorySetLVDS_ColorDepth(value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETLVDS_COLOR_DEPTH: {
- int ret = 0;//mpTv->GetVpp().Tv_FactoryGetLVDS_ColorDepth();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETLVDS_DITHER_STATUS: {
- int value = p.readInt32();
- int ret = 0;//mpTv->GetVpp().Tv_FactorySetLVDS_ColorDither_status(value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETLVDS_DITHER_STATUS: {
- int ret = 0;//mpTv->GetVpp().Tv_FactoryGetLVDS_ColorDither_status();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETLVDS_MAPPING_STATUS: {
- int value = p.readInt32();
- int ret = 0;//mpTv->GetVpp().Tv_FactorySetLVDS_Mapping_status(value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETLVDS_MAPPING_STATUS: {
- int ret = 0;//mpTv->GetVpp().Tv_FactoryGetLVDS_Mapping_status();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_SETLVDS_PORT_SWAP_STATUS: {
- int value = p.readInt32();
- int ret = 0;//mpTv->GetVpp().Tv_FactorySetLVDS_PortSwap_status(value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_GETLVDS_PORT_SWAP_STATUS: {
- int ret = 0;//mpTv->GetVpp().Tv_FactoryGetLVDS_PortSwap_status();
- r->writeInt32(ret);
- break;
- }
- // FACTORY END
-
- // AUDIO
- // AUDIO MUTE
- case SET_AUDIO_MUTEKEY_STATUS: {
- int status = p.readInt32();
- int ret = mpTv->SetAudioMuteForSystem(status);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_MUTEKEY_STATUS: {
- int ret = mpTv->GetAudioMuteForSystem();
- r->writeInt32(ret);
- break;
- }
- case SET_AUDIO_FORCE_MUTE_STATUS: {
- int status = p.readInt32();
- int ret = 0;//pTv->getTvAudio().AudioSetForceMuteStatus(status);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_FORCE_MUTE_STATUS: {
- int ret = 0;//mpTv->AudioGetForceMuteStatus();
- r->writeInt32(ret);
- break;
- }
- case SET_AUDIO_AVOUT_MUTE_STATUS: {
- int status = p.readInt32();
- int ret = mpTv->SetAudioAVOutMute(status);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_AVOUT_MUTE_STATUS: {
- int ret = mpTv->GetAudioAVOutMute();
- r->writeInt32(ret);
- break;
- }
- case SET_AUDIO_SPDIF_MUTE_STATUS: {
- int status = p.readInt32();
- int ret = mpTv->SetAudioSPDIFMute(status);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_SPDIF_MUTE_STATUS: {
- int ret = mpTv->GetAudioSPDIFMute();
- r->writeInt32(ret);
- break;
- }
- // AUDIO MASTER VOLUME
- case SET_AUDIO_MASTER_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioMasterVolume(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_MASTER_VOLUME: {
- int ret = mpTv->GetAudioMasterVolume();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_MASTER_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioMasterVolume(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_MASTER_VOLUME: {
- int ret = mpTv->GetCurAudioMasterVolume();
- r->writeInt32(ret);
- break;
- }
- //AUDIO BALANCE
- case SET_AUDIO_BALANCE: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioBalance(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_BALANCE: {
- int ret = mpTv->GetAudioBalance();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_BALANCE: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioBalance(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_BALANCE: {
- int ret = mpTv->GetCurAudioBalance();
- r->writeInt32(ret);
- break;
- }
- //AUDIO SUPPERBASS VOLUME
- case SET_AUDIO_SUPPER_BASS_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSupperBassVolume(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_SUPPER_BASS_VOLUME: {
- int ret = mpTv->GetAudioSupperBassVolume();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_SUPPER_BASS_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSupperBassVolume(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_SUPPER_BASS_VOLUME: {
- int ret = mpTv->GetCurAudioSupperBassVolume();
- r->writeInt32(ret);
- break;
- }
- //AUDIO SUPPERBASS SWITCH
- case SET_AUDIO_SUPPER_BASS_SWITCH: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSupperBassSwitch(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_SUPPER_BASS_SWITCH: {
- int ret = mpTv->GetAudioSupperBassSwitch();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_SUPPER_BASS_SWITCH: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSupperBassSwitch(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_SUPPER_BASS_SWITCH: {
- int ret = mpTv->GetCurAudioSupperBassSwitch();
- r->writeInt32(ret);
- break;
- }
- //AUDIO SRS SURROUND SWITCH
- case SET_AUDIO_SRS_SURROUND: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSRSSurround(vol);
- mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_SRS_SURROUND: {
- int ret = mpTv->GetAudioSRSSurround();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_SRS_SURROUND: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSrsSurround(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_SRS_SURROUND: {
- int ret = mpTv->GetCurAudioSRSSurround();
- r->writeInt32(ret);
- break;
- }
- //AUDIO SRS DIALOG CLARITY
- case SET_AUDIO_SRS_DIALOG_CLARITY: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSrsDialogClarity(vol);
- mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_SRS_DIALOG_CLARITY: {
- int ret = mpTv->GetAudioSrsDialogClarity();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_SRS_DIALOG_CLARITY: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSrsDialogClarity(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_SRS_DIALOG_CLARITY: {
- int ret = mpTv->GetCurAudioSrsDialogClarity();
- r->writeInt32(ret);
- break;
- }
- //AUDIO SRS TRUBASS
- case SET_AUDIO_SRS_TRU_BASS: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSrsTruBass(vol);
- mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_SRS_TRU_BASS: {
- int ret = mpTv->GetAudioSrsTruBass();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_SRS_TRU_BASS: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSrsTruBass(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_SRS_TRU_BASS: {
- int ret = mpTv->GetCurAudioSrsTruBass();
- r->writeInt32(ret);
- break;
- }
- //AUDIO BASS
- case SET_AUDIO_BASS_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioBassVolume(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_BASS_VOLUME: {
- int ret = mpTv->GetAudioBassVolume();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_BASS_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioBassVolume(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_BASS_VOLUME: {
- int ret = mpTv->GetCurAudioBassVolume();
- r->writeInt32(ret);
- break;
- }
- //AUDIO TREBLE
- case SET_AUDIO_TREBLE_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioTrebleVolume(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_TREBLE_VOLUME: {
- int ret = mpTv->GetAudioTrebleVolume();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_TREBLE_VOLUME: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioTrebleVolume(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_TREBLE_VOLUME: {
- int ret = mpTv->GetCurAudioTrebleVolume();
- r->writeInt32(ret);
- break;
- }
- //AUDIO SOUND MODE
- case SET_AUDIO_SOUND_MODE: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioSoundMode(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_SOUND_MODE: {
- int ret = mpTv->GetAudioSoundMode();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_SOUND_MODE: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSoundMode(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_SOUND_MODE: {
- int ret = mpTv->GetCurAudioSoundMode();
- r->writeInt32(ret);
- break;
- }
- //AUDIO WALL EFFECT
- case SET_AUDIO_WALL_EFFECT: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioWallEffect(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_WALL_EFFECT: {
- int ret = mpTv->GetAudioWallEffect();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_WALL_EFFECT: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioWallEffect(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_WALL_EFFECT: {
- int ret = mpTv->GetCurAudioWallEffect();
- r->writeInt32(ret);
- break;
- }
- //AUDIO EQ MODE
- case SET_AUDIO_EQ_MODE: {
- int vol = p.readInt32();
- int ret = mpTv->SetAudioEQMode(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_EQ_MODE: {
- int ret = mpTv->GetAudioEQMode();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_EQ_MODE: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioEQMode(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_EQ_MODE: {
- int ret = mpTv->GetCurAudioEQMode();
- r->writeInt32(ret);
- break;
- }
- //AUDIO EQ GAIN
- case GET_AUDIO_EQ_RANGE: {
- int buf[2];
- int ret = mpTv->GetAudioEQRange(buf);
- r->writeInt32(2);
- r->writeInt32(buf[0]);
- r->writeInt32(buf[1]);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_EQ_BAND_COUNT: {
- int ret = mpTv->GetAudioEQBandCount();
- r->writeInt32(ret);
- break;
- }
- case SET_AUDIO_EQ_GAIN: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- tmp_buf_size = p.readInt32();
- for (i = 0; i < tmp_buf_size; i++) {
- tmp_i_buf[i] = p.readInt32();
- }
- ret = mpTv->SetAudioEQGain(tmp_i_buf);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_EQ_GAIN: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- ret = mpTv->GetAudioEQGain(tmp_i_buf);
- tmp_buf_size = mpTv->GetAudioEQBandCount();
- r->writeInt32(tmp_buf_size);
- for (i = 0; i < tmp_buf_size; i++) {
- r->writeInt32(tmp_i_buf[i]);
- }
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_EQ_GAIN: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- tmp_buf_size = p.readInt32();
- for (i = 0; i < tmp_buf_size; i++) {
- tmp_i_buf[i] = p.readInt32();
- }
- ret = mpTv->SaveCurAudioEQGain(tmp_i_buf);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_EQ_GAIN: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- ret = mpTv->GetCurAudioEQGain(tmp_i_buf);
- tmp_buf_size = mpTv->GetAudioEQBandCount();
- r->writeInt32(tmp_buf_size);
- for (i = 0; i < tmp_buf_size; i++) {
- r->writeInt32(tmp_i_buf[i]);
- }
- r->writeInt32(ret);
- break;
- }
- case SET_AUDIO_EQ_SWITCH: {
- int tmpVal = p.readInt32();
- int ret = mpTv->SetAudioEQSwitch(tmpVal);
- r->writeInt32(ret);
- break;
- }
- // AUDIO SPDIF SWITCH
- case SET_AUDIO_SPDIF_SWITCH: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SetAudioSPDIFSwitch(tmp_val);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_SPDIF_SWITCH: {
- int ret = 0;//mpTv->GetAudioSPDIFSwitch();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_SPDIF_SWITCH: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SaveCurAudioSPDIFSwitch(tmp_val);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_SPDIF_SWITCH: {
- int ret = mpTv->GetCurAudioSPDIFSwitch();
- r->writeInt32(ret);
- break;
- }
- //AUDIO SPDIF MODE
- case SET_AUDIO_SPDIF_MODE: {
- int vol = p.readInt32();
- int progId = p.readInt32();
- int audioTrackId = p.readInt32();
- int ret = mpTv->SetAudioSPDIFMode(vol);
- mpTv->ResetAudioDecoderForPCMOutput();
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_SPDIF_MODE: {
- int ret = 0;//mpTv->GetAudioSPDIFMode();
- r->writeInt32(ret);
- break;
- }
- case SAVE_CUR_AUDIO_SPDIF_MODE: {
- int vol = p.readInt32();
- int ret = mpTv->SaveCurAudioSPDIFMode(vol);
- r->writeInt32(ret);
- break;
- }
- case GET_CUR_AUDIO_SPDIF_MODE: {
- int ret = mpTv->GetCurAudioSPDIFMode();
- r->writeInt32(ret);
- break;
- }
- case OPEN_AMAUDIO: {
- int sr = p.readInt32();
- int output_dev = p.readInt32();
- int ret = 0;//mpTv->OpenAmAudio(sr, output_dev);
- r->writeInt32(ret);
- break;
- }
- case CLOSE_AMAUDIO: {
- int ret = 0;//mpTv->CloseAmAudio();
- r->writeInt32(ret);
- break;
- }
- case SET_AMAUDIO_INPUT_SR: {
- int sr = p.readInt32();
- int output_dev = p.readInt32();
- int ret = 0;//mpTv->SetAmAudioInputSr(sr, output_dev);
- r->writeInt32(ret);
- break;
- }
- case SET_AMAUDIO_OUTPUT_MODE: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SetAmAudioOutputMode(tmp_val);
- r->writeInt32(ret);
- break;
- }
- case SET_AMAUDIO_MUSIC_GAIN: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SetAmAudioMusicGain(tmp_val);
- r->writeInt32(ret);
- break;
- }
- case SET_AMAUDIO_LEFT_GAIN: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SetAmAudioLeftGain(tmp_val);
- r->writeInt32(ret);
- break;
- }
- case SET_AMAUDIO_RIGHT_GAIN: {
- int tmp_val = p.readInt32();
- int ret = mpTv->SetAmAudioRightGain(tmp_val);
- r->writeInt32(ret);
- break;
- }
- case SELECT_LINE_IN_CHANNEL: {
- int channel = p.readInt32();
- int ret = mpTv->AudioLineInSelectChannel(channel);
- r->writeInt32(ret);
- LOGD("SELECT_LINE_IN_CHANNEL: channel = %d; ret = %d.\n", channel, ret);
- break;
- }
- case SET_KALAOK_IO_LEVEL: {
- int level = p.readInt32();
- int ret = mpTv->SetKalaokIO(level);
- ret =mpTv->AudioSetAudioInSource(CC_AUDIO_IN_SOURCE_LINEIN);
- r->writeInt32(ret);
- LOGD("set line in source CC_AUDIO_IN_SOURCE_LINEIN\n");
- break;
- }
-
- case SET_LINE_IN_CAPTURE_VOL: {
- int l_vol = p.readInt32();
- int r_vol = p.readInt32();
- int ret = mpTv->AudioSetLineInCaptureVolume(l_vol, r_vol);
- r->writeInt32(ret);
- break;
- }
- case HANDLE_AUDIO_HEADSET_PLUG_IN: {
- int ret = mpTv->AudioHandleHeadsetPlugIn();
- r->writeInt32(ret);
- break;
- }
- case HANDLE_AUDIO_HEADSET_PULL_OUT: {
- int ret = mpTv->AudioHandleHeadsetPullOut();
- r->writeInt32(ret);
- break;
- }
- case SET_AUDIO_VOL_COMP: {
- int tmpVal = p.readInt32();
- int ret = mpTv->SetCurProgramAudioVolumeCompensationVal(tmpVal);
- r->writeInt32(ret);
- break;
- }
- case GET_AUDIO_VOL_COMP: {
- int ret = mpTv->GetAudioVolumeCompensationVal(-1);
- r->writeInt32(ret);
- break;
- }
- case SAVE_AUDIO_VOL_COMP: {
- int tmpVal = p.readInt32();
- int ret = -1;//mpTv->atvSaveAudioVolumeCompensationVal(tmpVal);
- LOGD("this cmd is empty!!!!!!!!!!!!!!!!!!!");
- r->writeInt32(ret);
- break;
- }
- case SET_NOISE_GATE_THRESHOLD: {
- int ret = 0;
- r->writeInt32(ret);
- break;
- }
- case SET_AUDIO_SOURCE_FOR_KARAOKE: {
- int sourceinput = p.readInt32();
- int ret = mpTv->Tv_SetAudioSourceType((tv_source_input_t)sourceinput);
- r->writeInt32(ret);
- break;
- }
- case SET_DBX_TV_MODE: {
- int mode = p.readInt32();
- int son_value = p.readInt32();
- int vol_value = p.readInt32();
- int sur_value = p.readInt32();
- int ret = mpTv->SetDbxTvMode(mode, son_value, vol_value, sur_value);
- r->writeInt32(ret);
- break;
- }
- case GET_DBX_TV_MODE: {
- int mode ;
- int son_value ;
- int vol_value ;
- int sur_value ;
- int ret = mpTv->GetDbxTvMode(&mode, &son_value, &vol_value, &sur_value);
- r->writeInt32(mode);
- r->writeInt32(son_value);
- r->writeInt32(vol_value);
- r->writeInt32(sur_value);
- r->writeInt32(ret);
- break;
- }
-
- case SET_DRC_ONOFF: {
- int val = p.readInt32();
- int ret = mpTv->Tv_SetDRC_OnOff(val);
- r->writeInt32(ret);
- break;
- }
- case GET_DRC_ONOFF: {
- int ret = mpTv->Tv_GetDRC_OnOff();
- r->writeInt32(ret);
- break;
- }
- // AUDIO END
-
- // SSM
- case SSM_INIT_DEVICE: {
- int tmpRet = 0;
- tmpRet = mpTv->Tv_SSMRestoreDefaultSetting();//mpTv->Tv_SSMInitDevice();
- r->writeInt32(tmpRet);
- break;
- }
- /*case SSM_SAVE_ONE_BYTE: {
- int tmpOffset = p.readInt32();
- int tmpVal = p.readInt32();
- int tmpRet;
- tmpRet = SSMWriteOneByte(tmpOffset, tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_ONE_BYTE: {
- int tmpOffset = p.readInt32();
- int tmpRet = 0;
- SSMReadOneByte(tmpOffset, &tmpRet);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_N_BYTES: {
- int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
-
- tmp_offset = p.readInt32();
- tmp_data_len = p.readInt32();
-
- if (tmp_data_len > 0) {
- data_ptr = new int[tmp_data_len];
-
- if (data_ptr != NULL) {
- for (i = 0; i < tmp_data_len; i++) {
- data_ptr[i] = p.readInt32();
- }
-
- ret = SSMWriteNTypes(tmp_offset, tmp_data_len, data_ptr);
-
- delete data_ptr;
- data_ptr = NULL;
- }
- }
-
- r->writeInt32(ret);
- break;
- }
- case SSM_READ_N_BYTES: {
- int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
- tmp_offset = p.readInt32();
- tmp_data_len = p.readInt32();
-
- if (tmp_data_len > 0) {
- data_ptr = new int[tmp_data_len];
- if (data_ptr != NULL) {
- ret = SSMReadNTypes(tmp_offset, tmp_data_len, data_ptr);
- if (ret < 0) {
- tmp_data_len = 0;
- }
- r->writeInt32(tmp_data_len);
- for (i = 0; i < tmp_data_len; i++) {
- r->writeInt32(data_ptr[i]);
- }
- delete data_ptr;
- data_ptr = NULL;
- }
- }
- r->writeInt32(ret);
- break;
- }*/
- case SSM_SAVE_POWER_ON_OFF_CHANNEL: {
- int tmpPowerChanNum = p.readInt32();
- int tmpRet;
- tmpRet = SSMSavePowerOnOffChannel(tmpPowerChanNum);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_POWER_ON_OFF_CHANNEL: {
- int tmpRet = 0;
- tmpRet = SSMReadPowerOnOffChannel();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_SOURCE_INPUT: {
- int tmpSouceInput = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveSourceInput(tmpSouceInput);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_SOURCE_INPUT: {
- int tmpRet = 0;
- tmpRet = SSMReadSourceInput();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_LAST_SOURCE_INPUT: {
- int tmpLastSouceInput = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveLastSelectSourceInput(tmpLastSouceInput);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_LAST_SOURCE_INPUT: {
- int tmpRet = 0;
- tmpRet = SSMReadLastSelectSourceInput();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_SYS_LANGUAGE: {
- int tmpVal = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveSystemLanguage(tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_SYS_LANGUAGE: {
- int tmpRet = 0;
- tmpRet = SSMReadSystemLanguage();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_AGING_MODE: {
- int tmpVal = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveAgingMode(tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_AGING_MODE: {
- int tmpRet = 0;
- tmpRet = SSMReadAgingMode();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_PANEL_TYPE: {
- int tmpVal = p.readInt32();
- int tmpRet;
- tmpRet = SSMSavePanelType(tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_PANEL_TYPE: {
- int tmpRet = 0;
- tmpRet = SSMReadPanelType();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_MAC_ADDR: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- tmp_buf_size = p.readInt32();
- for (i = 0; i < tmp_buf_size; i++) {
- tmp_uc_buf[i] = p.readInt32();
- }
- ret = KeyData_SaveMacAddress(tmp_uc_buf);
- r->writeInt32(ret);
- break;
- }
- case SSM_READ_MAC_ADDR: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- ret = KeyData_ReadMacAddress(tmp_uc_buf);
- tmp_buf_size = KeyData_GetMacAddressDataLen();
- r->writeInt32(tmp_buf_size);
- for (i = 0; i < tmp_buf_size; i++) {
- r->writeInt32(tmp_uc_buf[i]);
- }
- r->writeInt32(ret);
- break;
- }
- case SSM_SAVE_BAR_CODE: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- tmp_buf_size = p.readInt32();
- for (i = 0; i < tmp_buf_size; i++) {
- tmp_uc_buf[i] = p.readInt32();
- }
- ret = KeyData_SaveBarCode(tmp_uc_buf);
- r->writeInt32(ret);
- break;
- }
- case SSM_READ_BAR_CODE: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- ret = KeyData_ReadBarCode(tmp_uc_buf);
- tmp_buf_size = KeyData_GetBarCodeDataLen();
- r->writeInt32(tmp_buf_size);
- for (i = 0; i < tmp_buf_size; i++) {
- r->writeInt32(tmp_uc_buf[i]);
- }
- r->writeInt32(ret);
- break;
- }
- case SSM_SAVE_PROJECT_ID: {
- int tmpVal = p.readInt32();
- int tmpRet;
- tmpRet = KeyData_SaveProjectID(tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_PROJECT_ID: {
- int tmpRet = 0;
- tmpRet = KeyData_ReadProjectID();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_HDCPKEY: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- tmp_buf_size = p.readInt32();
- for (i = 0; i < tmp_buf_size; i++) {
- tmp_uc_buf[i] = p.readInt32();
- }
- ret = SSMSaveHDCPKey(tmp_uc_buf);
- r->writeInt32(ret);
- break;
- }
- case SSM_READ_HDCPKEY: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- ret = SSMReadHDCPKey(tmp_uc_buf);
- tmp_buf_size = SSMGetHDCPKeyDataLen();
- r->writeInt32(tmp_buf_size);
- for (i = 0; i < tmp_buf_size; i++) {
- r->writeInt32(tmp_uc_buf[i]);
- }
- r->writeInt32(ret);
- break;
- }
- case SSM_SAVE_POWER_ON_MUSIC_SWITCH: {
- int tmpVal = p.readInt32();
- int tmpRet;
- tmpRet = SSMSavePowerOnMusicSwitch(tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_POWER_ON_MUSIC_SWITCH: {
- int tmpRet = 0;
- tmpRet = SSMReadPowerOnMusicSwitch();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_POWER_ON_MUSIC_VOL: {
- int tmpVal = p.readInt32();
- int tmpRet;
- tmpRet = SSMSavePowerOnMusicVolume(tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_POWER_ON_MUSIC_VOL: {
- int tmpRet = 0;
- tmpRet = SSMReadPowerOnMusicVolume();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_SYS_SLEEP_TIMER: {
- int tmpVal = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveSystemSleepTimer(tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_SYS_SLEEP_TIMER: {
- int tmpRet = 0;
- tmpRet = SSMReadSystemSleepTimer();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SET_BUS_STATUS: {
- int tmpVal = p.readInt32();
- int tmpRet = 0;
- //showboz
- //tmpRet = SSMSetBusStatus(tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_GET_BUS_STATUS: {
- int tmpRet = 0;
- //showboz
- //tmpRet = SSMGetBusStatus();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_INPUT_SRC_PARENTAL_CTL: {
- int tmpSourceIndex = p.readInt32();
- int tmpCtlFlag = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveInputSourceParentalControl(tmpSourceIndex, tmpCtlFlag);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_INPUT_SRC_PARENTAL_CTL: {
- int tmpSourceIndex = p.readInt32();
- int tmpRet = 0;
- tmpRet = SSMReadInputSourceParentalControl(tmpSourceIndex);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_PARENTAL_CTL_SWITCH: {
- int tmpSwitchFlag = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveParentalControlSwitch(tmpSwitchFlag);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_PARENTAL_CTL_SWITCH: {
- int tmpRet = 0;
- tmpRet = SSMReadParentalControlSwitch();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_PARENTAL_CTL_PASS_WORD: {
- String16 pass_wd_str = p.readString16();
- int tmpRet;
- tmpRet = SSMSaveParentalControlPassWord((unsigned char *)pass_wd_str.string(), pass_wd_str.size() * sizeof(unsigned short));
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_PARENTAL_CTL_PASS_WORD: {
- int tmpChanID = p.readInt32();
- unsigned short tmp_buf [SSM_RW_PARENTAL_CTL_PASSWORD_LEN + 1];
- String16 pass_wd_str;
- SSMReadParentalControlPassWord(tmp_buf);
- tmp_buf[SSM_RW_PARENTAL_CTL_PASSWORD_LEN / sizeof(unsigned short)] = 0;
- //pass_wd_str.setTo((const unsigned short *) tmp_buf);
- //r->writeString16(pass_wd_str);
- break;
- }
- case SSM_SAVE_USING_DEF_HDCP_KEY_FLAG: {
- break;
- }
- case SSM_READ_USING_DEF_HDCP_KEY_FLAG: {
- break;
- }
- case SSM_GET_CUSTOMER_DATA_START: {
- int tmpRet = 0;
- tmpRet = SSMGetCustomerDataStart();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_GET_CUSTOMER_DATA_LEN: {
- int tmpRet = 0;
- tmpRet = SSMGetCustomerDataLen();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_STANDBY_MODE: {
- int tmp_val = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveStandbyMode(tmp_val);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_STANDBY_MODE: {
- int tmpRet = 0;
- tmpRet = SSMReadStandbyMode();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_LOGO_ON_OFF_FLAG: {
- int tmpSwitchFlag = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveLogoOnOffFlag(tmpSwitchFlag);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_LOGO_ON_OFF_FLAG: {
- int tmpRet = 0;
- tmpRet = SSMReadLogoOnOffFlag();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_HDMIEQ_MODE: {
- int tmpSwitchFlag = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveHDMIEQMode(tmpSwitchFlag);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_HDMIEQ_MODE: {
- int tmpRet = 0;
- tmpRet = SSMReadHDMIEQMode();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_HDMIINTERNAL_MODE: {
- int tmp_val = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveHDMIInternalMode(tmp_val);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_HDMIINTERNAL_MODE: {
- int tmpRet = 0;
- tmpRet = SSMReadHDMIInternalMode();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_DISABLE_3D: {
- int tmp_val = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveDisable3D(tmp_val);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_DISABLE_3D: {
- int tmpRet = 0;
- tmpRet = SSMReadDisable3D();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_GLOBAL_OGOENABLE: {
- int tmp_val = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveGlobalOgoEnable(tmp_val);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_GLOBAL_OGOENABLE: {
- int tmpRet = 0;
- tmpRet = SSMReadGlobalOgoEnable();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_NON_STANDARD_STATUS: {
- int tmp_val = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveNonStandardValue(tmp_val);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_NON_STANDARD_STATUS: {
- int tmpRet = 0;
- tmpRet = SSMReadNonStandardValue();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_ADB_SWITCH_STATUS: {
- int tmp_val = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveAdbSwitchValue(tmp_val);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_ADB_SWITCH_STATUS: {
- int tmpRet = 0;
- tmpRet = SSMReadAdbSwitchValue();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_SERIAL_CMD_SWITCH_STATUS: {
- int tmp_val = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveSerialCMDSwitchValue(tmp_val);
- tmpRet |= mpTv->SetSerialSwitch(SERIAL_A, tmp_val);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_SERIAL_CMD_SWITCH_STATUS: {
- int tmpRet = 0;
- tmpRet = SSMReadSerialCMDSwitchValue();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SET_HDCP_KEY: {
- int tmpRet = 0;
- tmpRet = SSMSetHDCPKey();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_REFRESH_HDCPKEY: {
- int tmpRet = 0;
- tmpRet = SSMRefreshHDCPKey();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_CHROMA_STATUS: {
- int tmp_val = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveChromaStatus(tmp_val);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_CA_BUFFER_SIZE: {
- int tmp_val = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveCABufferSizeValue(tmp_val);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_CA_BUFFER_SIZE: {
- int tmpRet = 0;
- tmpRet = SSMReadCABufferSizeValue();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_GET_ATV_DATA_START: {
- int tmpRet = 0;
- tmpRet = SSMGetATVDataStart();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_GET_ATV_DATA_LEN: {
- int tmpRet = 0;
- tmpRet = SSMGetATVDataLen();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_GET_VPP_DATA_START: {
- int tmpRet = 0;
- tmpRet = SSMGetVPPDataStart();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_GET_VPP_DATA_LEN: {
- int tmpRet = 0;
- tmpRet = SSMGetVPPDataLen();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_SAVE_NOISE_GATE_THRESHOLD_STATUS: {
- int tmp_val = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveNoiseGateThresholdValue(tmp_val);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_READ_NOISE_GATE_THRESHOLD_STATUS: {
- int tmpRet = 0;
- tmpRet = SSMReadNoiseGateThresholdValue();
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_EEPROM_SAVE_ONE_BYTE_N310_N311: {
- int tmpOffset = p.readInt32();
- int tmpVal = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveEEP_One_N310_N311(tmpOffset, tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_EEPROM_READ_ONE_BYTE_N310_N311: {
- int tmpOffset = p.readInt32();
- int tmpRet = 0;
- tmpRet = SSMReadEEP_One_N310_N311(tmpOffset);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_EEPROM_SAVE_N_BYTES_N310_N311: {
- int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
-
- tmp_offset = p.readInt32();
- tmp_data_len = p.readInt32();
-
- if (tmp_data_len > 0) {
- data_ptr = new int[tmp_data_len];
-
- if (data_ptr != NULL) {
- for (i = 0; i < tmp_data_len; i++) {
- data_ptr[i] = p.readInt32();
- }
-
- ret = SSMSaveEEP_N_N310_N311(tmp_offset, tmp_data_len, data_ptr);
-
- delete data_ptr;
- data_ptr = NULL;
- }
- }
-
- r->writeInt32(ret);
- break;
- }
- case SSM_EEPROM_READ_N_BYTES_N310_N311: {
- int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
- tmp_offset = p.readInt32();
- tmp_data_len = p.readInt32();
-
- if (tmp_data_len > 0) {
- data_ptr = new int[tmp_data_len];
- if (data_ptr != NULL) {
- ret = SSMReadEEP_N_N310_N311(tmp_offset, tmp_data_len, data_ptr);
- if (ret < 0) {
- tmp_data_len = 0;
- }
- r->writeInt32(tmp_data_len);
- for (i = 0; i < tmp_data_len; i++) {
- r->writeInt32(data_ptr[i]);
- }
- delete data_ptr;
- data_ptr = NULL;
- }
- }
- r->writeInt32(ret);
- break;
- }
- case SSM_FLASH_SAVE_ONE_BYTE_N310_N311: {
- int tmpOffset = p.readInt32();
- int tmpVal = p.readInt32();
- int tmpRet;
- tmpRet = SSMSaveFlash_One_N310_N311(tmpOffset, tmpVal);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_FLASH_READ_ONE_BYTE_N310_N311: {
- int tmpOffset = p.readInt32();
- int tmpRet = 0;
- tmpRet = SSMReadFlash_One_N310_N311(tmpOffset);
- r->writeInt32(tmpRet);
- break;
- }
- case SSM_FLASH_SAVE_N_BYTES_N310_N311: {
- int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
-
- tmp_offset = p.readInt32();
- tmp_data_len = p.readInt32();
-
- if (tmp_data_len > 0) {
- data_ptr = new int[tmp_data_len];
-
- if (data_ptr != NULL) {
- for (i = 0; i < tmp_data_len; i++) {
- data_ptr[i] = p.readInt32();
- }
-
- ret = SSMSaveFlash_N_N310_N311(tmp_offset, tmp_data_len, data_ptr);
-
- delete data_ptr;
- data_ptr = NULL;
- }
- }
-
- r->writeInt32(ret);
- break;
- }
- case SSM_FLASH_READ_N_BYTES_N310_N311: {
- int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
- tmp_offset = p.readInt32();
- tmp_data_len = p.readInt32();
-
- if (tmp_data_len > 0) {
- data_ptr = new int[tmp_data_len];
- if (data_ptr != NULL) {
- ret = SSMReadFlash_N_N310_N311(tmp_offset, tmp_data_len, data_ptr);
- if (ret < 0) {
- tmp_data_len = 0;
- }
- r->writeInt32(tmp_data_len);
- for (i = 0; i < tmp_data_len; i++) {
- r->writeInt32(data_ptr[i]);
- }
- delete data_ptr;
- data_ptr = NULL;
- }
- }
- r->writeInt32(ret);
- break;
- }
- // SSM END
-
- //MISC
- case MISC_PROP_SET: {
- int tmpRet;
- String16 tmp_str16;
- String8 key_str, value_str;
-
- tmp_str16 = p.readString16();
- key_str = String8(tmp_str16);
- tmp_str16 = p.readString16();
- value_str = String8(tmp_str16);
-
- tmpRet = property_set(key_str.string(), value_str.string());
- r->writeInt32(tmpRet);
- break;
- }
- case MISC_PROP_GET: {
- char prop_value[PROPERTY_VALUE_MAX];
- String16 tmp_str16;
- String8 key_str, def_str;
-
- tmp_str16 = p.readString16();
- key_str = String8(tmp_str16);
- tmp_str16 = p.readString16();
- def_str = String8(tmp_str16);
-
- memset(prop_value, '\0', PROPERTY_VALUE_MAX);
- property_get(key_str.string(), prop_value, def_str.string());
- tmp_str16 = String16(prop_value);
-
- r->writeString16(tmp_str16);
- break;
- }
- case MISC_CFG_SET: {
- int tmpRet;
- String16 tmp_str16;
- String8 key_str, value_str;
-
- tmp_str16 = p.readString16();
- key_str = String8(tmp_str16);
- tmp_str16 = p.readString16();
- value_str = String8(tmp_str16);
-
- tmpRet = config_set_str(CFG_SECTION_TV, key_str.string(), value_str.string());
- r->writeInt32(tmpRet);
- break;
- }
- case MISC_CFG_GET: {
- const char *prop_value;
- String16 tmp_str16;
- String8 key_str, def_str;
-
- tmp_str16 = p.readString16();
- key_str = String8(tmp_str16);
- tmp_str16 = p.readString16();
- def_str = String8(tmp_str16);
-
- prop_value = config_get_str(CFG_SECTION_TV, key_str.string(), def_str.string());
- tmp_str16 = String16(prop_value);
-
- r->writeString16(tmp_str16);
- break;
- }
- case MISC_READ_ADC_VAL: {
- int tmpChanNum = p.readInt32();
- int tmpRet = 0;
- tmpRet = ReadADCSpecialChannelValue(tmpChanNum);
- r->writeInt32(tmpRet);
- break;
- }
- case MISC_SET_WDT_USER_PET: {
- int counter = p.readInt32();
- int ret = TvMisc_SetUserCounter(counter);
- r->writeInt32(ret);
- break;
- }
- case MISC_SET_WDT_USER_COUNTER: {
- int counter_time_out = p.readInt32();
- int ret = TvMisc_SetUserCounterTimeOut(counter_time_out);
- r->writeInt32(ret);
- break;
- }
- case MISC_SET_WDT_USER_PET_RESET_ENABLE: {
- int enable = p.readInt32();
- int ret = TvMisc_SetUserPetResetEnable(enable);
- r->writeInt32(ret);
- break;
- }
- case MISC_GET_TV_API_VERSION: {
- const char *tmp_str8;
- String16 tmp_str16;
-
- // write tvapi version info
- tmp_str8 = tvservice_get_git_branch_info();
- tmp_str16 = String16(tmp_str8);
- r->writeString16(tmp_str16);
-
- tmp_str8 = tvservice_get_git_version_info();
- tmp_str16 = String16(tmp_str8);
- r->writeString16(tmp_str16);
-
- tmp_str8 = tvservice_get_last_chaned_time_info();
- tmp_str16 = String16(tmp_str8);
- r->writeString16(tmp_str16);
-
- tmp_str8 = tvservice_get_build_time_info();
- tmp_str16 = String16(tmp_str8);
- r->writeString16(tmp_str16);
-
- tmp_str8 = tvservice_get_build_name_info();
- tmp_str16 = String16(tmp_str8);
- r->writeString16(tmp_str16);
- break;
- }
- case MISC_GET_DVB_API_VERSION: {
- const char *tmp_str8;
- String16 tmp_str16;
-
- // write dvb version info
- tmp_str8 = dvb_get_git_branch_info();
- tmp_str16 = String16(tmp_str8);
- r->writeString16(tmp_str16);
-
- tmp_str8 = dvb_get_git_version_info();
- tmp_str16 = String16(tmp_str8);
- r->writeString16(tmp_str16);
-
- tmp_str8 = dvb_get_last_chaned_time_info();
- tmp_str16 = String16(tmp_str8);
- r->writeString16(tmp_str16);
-
- tmp_str8 = dvb_get_build_time_info();
- tmp_str16 = String16(tmp_str8);
- r->writeString16(tmp_str16);
-
- tmp_str8 = dvb_get_build_name_info();
- tmp_str16 = String16(tmp_str8);
- r->writeString16(tmp_str16);
-
- break;
- }
- case MISC_SERIAL_SWITCH: {
- int dev_id = p.readInt32();
- int switch_val = p.readInt32();
- int ret = mpTv->SetSerialSwitch(dev_id, switch_val);
- r->writeInt32(ret);
- break;
- }
- case MISC_SERIAL_SEND_DATA: {
- int i = 0, tmp_buf_size = 0, ret = 0;
-
- int dev_id = p.readInt32();
-
- tmp_buf_size = p.readInt32();
- if (tmp_buf_size > sizeof(tmp_uc_buf)) {
- tmp_buf_size = sizeof(tmp_uc_buf);
- }
-
- for (i = 0; i < tmp_buf_size; i++) {
- tmp_uc_buf[i] = p.readInt32() & 0xFF;
- }
-
- ret = mpTv->SendSerialData(dev_id, tmp_buf_size, tmp_uc_buf);
- r->writeInt32(ret);
- break;
- }
- case MISC_CHANNEL_EXPORT: {
- LOGD("MISC_CHANNEL_EXPORT");
- int ret = 0;
- String16 tmp_str16;
- String8 tmp_str;
-
- tmp_str16 = p.readString16();
- tmp_str = String8(tmp_str16);
-
- ret = mpTv->ChannelExport(tmp_str.string());
- r->writeInt32(ret);
- break;
- }
- case MISC_CHANNEL_IMPORT: {
- LOGD("MISC_CHANNEL_IMPORT");
- String16 tmp_str16;
- String8 tmp_str;
-
- tmp_str16 = p.readString16();
- tmp_str = String8(tmp_str16);
- int ret = 0;
- ret = mpTv->ChannelImport(tmp_str.string());
- r->writeInt32(ret);
- break;
- }
- case MISC_GET_PROJECT_INFO: {
- String16 tmp_str16;
- project_info_t tmpInfo;
-
- if (mpTv->Tv_GetProjectInfo(&tmpInfo) < 0) {
- strcpy(tmpInfo.version, "UNKOWN");
- strcpy(tmpInfo.panel_type, "UNKOWN");
- strcpy(tmpInfo.panel_outputmode, "UNKOWN");
- strcpy(tmpInfo.panel_rev, "UNKOWN");
- strcpy(tmpInfo.panel_name, "UNKOWN");
- strcpy(tmpInfo.amp_curve_name, "UNKOWN");
- }
-
- r->writeString16(String16(tmpInfo.version));
- r->writeString16(String16(tmpInfo.panel_type));
- r->writeString16(String16(tmpInfo.panel_outputmode));
- r->writeString16(String16(tmpInfo.panel_rev));
- r->writeString16(String16(tmpInfo.panel_name));
- r->writeString16(String16(tmpInfo.amp_curve_name));
- break;
- }
- case MISC_GET_PLATFORM_TYPE: {
- int ret = mpTv->Tv_GetPlatformType();
- r->writeInt32(ret);
- break;
- }
- //MISC END
-
- // EXTAR
- case SET_DEBUG_SERIAL_PORT_ONOFF: {
- int on_off = p.readInt32();
- int ret = mpTv->SetDebugSerialOnOff(on_off);
- r->writeInt32(ret);
- break;
- }
-
- case GET_DEBUG_SERIAL_PORT_ONOFF: {
- int ret = mpTv->GetDebugSerialOnOff();
- r->writeInt32(ret);
- break;
- }
- case DELETE_DIR_FILES: {
- String16 strPath = p.readString16();
- if (strPath.size() <= 0) {
- r->writeInt32(-1);
- break;
- }
- String8 strP8 = String8(strPath);
- int tmp_flag = p.readInt32();
- int ret = TvMisc_DeleteDirFiles(strP8.string(), tmp_flag);
- r->writeInt32(ret);
- break;
- }
- case DTV_SUBTITLE_INIT: {
- int bitmapWidth = p.readInt32();
- int bitmapHeight = p.readInt32();
- r->writeInt32(mpTv->initSubtitle(bitmapWidth, bitmapHeight));
- break;
- }
- case DTV_SUBTITLE_LOCK: {
- r->writeInt32(mpTv->lockSubtitle());
- break;
- }
- case DTV_SUBTITLE_UNLOCK: {
- r->writeInt32(mpTv->unlockSubtitle());
- break;
- }
- case DTV_GET_SUBTITLE_SWITCH: {
- r->writeInt32(mpTv->getSubSwitchStatus());
- break;
- }
- case DTV_START_SUBTITLE: {
- int dmx_id = p.readInt32();
- int pid = p.readInt32();
- int page_id = p.readInt32();
- int anc_page_id = p.readInt32();
- r->writeInt32(mpTv->startSubtitle(dmx_id, pid, page_id, anc_page_id));
- break;
- }
- case DTV_STOP_SUBTITLE: {
- r->writeInt32(mpTv->stopSubtitle());
- break;
- }
- case DTV_GET_SUBTITLE_INDEX: {
- int progId = p.readInt32();
- CTvProgram prog;
- CTvProgram::selectByID(progId, prog);
- r->writeInt32(prog.getSubtitleIndex(progId));
- break;
- }
- case DTV_SET_SUBTITLE_INDEX: {
- int progId = p.readInt32();
- int index = p.readInt32();
- CTvProgram prog;
- CTvProgram::selectByID(progId, prog);
- r->writeInt32(prog.setSubtitleIndex(progId, index));
- break;
- }
- case ATV_GET_CURRENT_PROGRAM_ID: {
- int atvLastProgramId = mpTv->getATVProgramID();
- r->writeInt32(atvLastProgramId);
- break;
- }
- case DTV_GET_CURRENT_PROGRAM_ID: {
- int dtvLastProgramId = mpTv->getDTVProgramID();
- r->writeInt32(dtvLastProgramId);
- break;
- }
- case ATV_SAVE_PROGRAM_ID: {
- int progID = p.readInt32();
- int retCnt = 0;
- mpTv->saveATVProgramID(progID);
- r->writeInt32(retCnt);
- break;
- }
- case ATV_GET_MIN_MAX_FREQ: {
- int min, max;
- int tmpRet = mpTv->getATVMinMaxFreq(&min, &max);
- r->writeInt32(min);
- r->writeInt32(max);
- r->writeInt32(tmpRet);
- break;
- }
- case DTV_GET_SCAN_FREQUENCY_LIST: {
- Vector<sp<CTvChannel> > out;
- int tmpRet = CTvRegion::getChannelListByName("CHINA,Default DTMB ALL", out);
- r->writeInt32(out.size());
- for (int i = 0; i < (int)out.size(); i++) {
- r->writeInt32(out[i]->getID());
- r->writeInt32(out[i]->getFrequency());
- }
- r->writeInt32(tmpRet);
- break;
- }
- case DTV_GET_CHANNEL_INFO: {
- int dbID = p.readInt32();
- channel_info_t chan_info;
- int ret = mpTv->getChannelInfoBydbID(dbID, chan_info);
- r->writeInt32(chan_info.freq);
- r->writeInt32(chan_info.uInfo.dtvChanInfo.strength);
- r->writeInt32(chan_info.uInfo.dtvChanInfo.quality);
- r->writeInt32(chan_info.uInfo.dtvChanInfo.ber);
- r->writeInt32(ret);
- break;
- }
- case ATV_GET_CHANNEL_INFO: {
- int dbID = p.readInt32();
- channel_info_t chan_info;
- int ret = mpTv->getChannelInfoBydbID(dbID, chan_info);
- r->writeInt32(chan_info.freq);
- r->writeInt32(chan_info.uInfo.atvChanInfo.finefreq);
- r->writeInt32(chan_info.uInfo.atvChanInfo.videoStd);
- r->writeInt32(chan_info.uInfo.atvChanInfo.audioStd);
- r->writeInt32(chan_info.uInfo.atvChanInfo.isAutoStd);
- r->writeInt32(ret);
- break;
- }
- case ATV_SCAN_MANUAL: {
- int tmpRet = 0;
- int startFreq = p.readInt32();
- int endFreq = p.readInt32();
- int videoStd = p.readInt32();
- int audioStd = p.readInt32();
- tmpRet = mpTv->atvMunualScan(startFreq, endFreq, videoStd, audioStd);
- mTvService->mpScannerClient = this;
- r->writeInt32(tmpRet);
- break;
- }
-
-
- case ATV_SCAN_AUTO: {
- int tmpRet = 0;
- LOGD("%s, atv auto scan!!!\n", "TV");
- int videoStd = p.readInt32();
- int audioStd = p.readInt32();
- int searchType = p.readInt32();
- tmpRet = mpTv->atvAutoScan(videoStd, audioStd, searchType);
- mTvService->mpScannerClient = this;
- r->writeInt32(tmpRet);
- break;
- }
- case DTV_SCAN_MANUAL: {
- int tmpRet = 0;
- int freq = p.readInt32();
- tmpRet = mpTv->dtvManualScan(freq, freq);
- mTvService->mpScannerClient = this;
- r->writeInt32(tmpRet);
- break;
- }
- case DTV_SCAN_MANUAL_BETWEEN_FREQ: {
- int tmpRet = 0;
- int beginFreq = p.readInt32();
- int endFreq = p.readInt32();
- int modulation = p.readInt32();
- tmpRet = mpTv->dtvManualScan(beginFreq, endFreq, modulation);
- mTvService->mpScannerClient = this;
- r->writeInt32(tmpRet);
- break;
- }
- case DTV_SCAN_AUTO: {
- int tmpRet = 0;
- tmpRet = mpTv->dtvAutoScan();
- mTvService->mpScannerClient = this;
- r->writeInt32(tmpRet);
- break;
- }
- case DTV_SCAN_AUTO_ATSC: {
- int tmpRet = 0;
- int attenna = p.readInt32();
- int vstd = p.readInt32();
- int astd = p.readInt32();
- tmpRet = mpTv->dtvAutoScanAtscLock(attenna, vstd, astd);
- mTvService->mpScannerClient = this;
- r->writeInt32(tmpRet);
- break;
- }
- case TV_SUBTITLE_DRAW_END: {
- int tmpRet = 0;
- //if(pSub)pSub->lock.unlock();
- r->writeInt32(tmpRet);
- break;
- }
- case STOP_PROGRAM_PLAY: {
- int tmpRet = -1;
- tmpRet = mpTv->stopPlayingLock();
- r->writeInt32(tmpRet);
- break;
- }
- case DTV_TEST_1: {
- // int progid = p.readInt32();
- //CTvProgram prog;
- // int ret = CTvProgram::selectByID(progid, prog);
- //CTvEvent ev;
- //ret = ev.getProgPresentEvent(prog.getSrc(), prog.getID(), mpTv->getTvTime(), ev);
- //r->writeString16(String16(ev.getName()));
- break;
- }
- case DTV_TEST_2: {
- //int cmd = p.readInt32();
- //CTvDatabase::GetTvDb()->importXmlToDB("/etc/tv_default.xml");
- //r->writeString16(String16("xml"));
- break;
- }
-
- case TV_CLEAR_ALL_PROGRAM: {
- int tmpRet = 0;
- int arg0 = p.readInt32();
-
- tmpRet = mpTv->clearAllProgram(arg0);
- mTvService->mpScannerClient = this;
- r->writeInt32(tmpRet);
- break;
- }
-
- case GET_DISPLAY_RESOLUTION_CONFIG: {
- int tmpRet = 0;
- tmpRet = mpTv->GetDisplayResolutionConfig();
- r->writeInt32(tmpRet);
- break;
- }
-
- case GET_DISPLAY_RESOLUTION_INFO: {
- int tmpRet = 0;
- tmpRet = mpTv->GetDisplayResolutionInfo();
- r->writeInt32(tmpRet);
- break;
- }
-
- case HDMIRX_CEC_SEND_CUSTOM_MESSAGE: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- tmp_buf_size = p.readInt32();
- for (i = 0; i < tmp_buf_size; i++) {
- tmp_uc_buf[i] = p.readInt32();
- }
-
- int tmpRet = 0;
- tmpRet = mpTv->SendHDMIRxCECCustomMessage(tmp_uc_buf);
- r->writeInt32(tmpRet);
- break;
- }
-
- case HDMIRX_CEC_SEND_CUSTOM_WAIT_REPLY_MESSAGE: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- int WaitCmd = 0, timeout = 0;
- tmp_buf_size = p.readInt32();
- for (i = 0; i < tmp_buf_size; i++) {
- tmp_uc_buf[i] = p.readInt32();
- }
-
- WaitCmd = p.readInt32();
- timeout = p.readInt32();
-
- int tmpRet = 0;
- tmpRet = mpTv->SendHDMIRxCECCustomMessageAndWaitReply(tmp_uc_buf, tmp_uc_buf2, WaitCmd, timeout);
-
- r->writeInt32(tmpRet);
- if (tmpRet > 0) {
- for (i = 0; i < tmpRet; i++) {
- r->writeInt32(tmp_uc_buf2[i]);
- }
- }
-
- r->writeInt32(tmpRet);
- break;
- }
-
- case HDMIRX_CEC_SEND_BROADCAST_STANDBY_MESSAGE: {
- int tmpRet = 0;
- tmpRet = mpTv->SendHDMIRxCECBoradcastStandbyMessage();
- r->writeInt32(tmpRet);
- break;
- }
-
- case HDMIRX_CEC_SEND_GIVE_CEC_VERSION_MESSAGE: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- int sourceinput = p.readInt32();
- LOGD("HDMIRX_CEC_SEND_GIVE_CEC_VERSION_MESSAGE: sourceinput = %x", sourceinput);
- tmp_buf_size = mpTv->SendHDMIRxCECGiveCECVersionMessage((tv_source_input_t)sourceinput, tmp_uc_buf);
- r->writeInt32(tmp_buf_size);
- for (i = 0; i < tmp_buf_size; i++) {
- r->writeInt32(tmp_uc_buf[i]);
- }
- r->writeInt32(tmp_buf_size);
- break;
- }
-
- case HDMIRX_CEC_SEND_GIVE_DEV_VENDOR_ID_MESSAGE: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- int sourceinput = p.readInt32();
- LOGD("HDMIRX_CEC_SEND_GIVE_DEV_VENDOR_ID_MESSAGE: sourceinput = %x", sourceinput);
- tmp_buf_size = mpTv->SendHDMIRxCECGiveDeviceVendorIDMessage((tv_source_input_t)sourceinput, tmp_uc_buf);
- r->writeInt32(tmp_buf_size);
- for (i = 0; i < tmp_buf_size; i++) {
- r->writeInt32(tmp_uc_buf[i]);
- }
- r->writeInt32(tmp_buf_size);
- break;
- }
-
- case HDMIRX_CEC_SEND_GIVE_OSD_NAME_MESSAGE: {
- int i = 0, tmp_buf_size = 0, ret = 0;
- int sourceinput = p.readInt32();
- LOGD("HDMIRX_CEC_SEND_GIVE_OSD_NAME_MESSAGE: sourceinput = %x", sourceinput);
- tmp_buf_size = mpTv->SendHDMIRxCECGiveOSDNameMessage((tv_source_input_t)sourceinput, tmp_uc_buf);
- r->writeInt32(tmp_buf_size);
- for (i = 0; i < tmp_buf_size; i++) {
- r->writeInt32(tmp_uc_buf[i]);
- }
- r->writeInt32(tmp_buf_size);
- break;
- }
-
- case GET_HDMI_KSV_INFO: {
- int tmpRet = 0;
- int ksv_data[2] = {0, 0};
- tmpRet = mpTv->GetHdmiHdcpKeyKsvInfo(ksv_data);
- r->writeInt32(tmpRet);
- r->writeInt32(ksv_data[0]);
- r->writeInt32(ksv_data[1]);
- break;
- }
-
- case HDMI_OUT_TOWHAT: {
- r->writeInt32(mpTv->hdmiOutWithFbc()?1:0);
- break;
- }
- case FACTORY_FBC_UPGRADE: {
- String16 tmpName = p.readString16();
- String8 strName = String8(tmpName);
- sprintf((char *)tmp_uc_buf, "%s", strName.string());
- int mode = p.readInt32();
- int upgrade_blk_size = p.readInt32();
- int ret = mpTv->StartUpgradeFBC((char *)tmp_uc_buf, mode, upgrade_blk_size);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_BRIGHTNESS: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Brightness(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_BRIGHTNESS: {
- int ret = mpTv->Tv_FactoryGet_FBC_Brightness();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_CONTRAST: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Contrast(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_CONTRAST: {
- int ret = mpTv->Tv_FactoryGet_FBC_Contrast();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_SATURATION: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Saturation(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_SATURATION: {
- int ret = mpTv->Tv_FactoryGet_FBC_Saturation();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_HUE: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_HueColorTint(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_HUE: {
- int ret = mpTv->Tv_FactoryGet_FBC_HueColorTint();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_BACKLIGHT: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Backlight(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_BACKLIGHT: {
- int ret = mpTv->Tv_FactoryGet_FBC_Backlight();
- r->writeInt32(ret);
- break;
- }
- case FACTROY_FBC_SET_LIGHT_SENSOR_STATUS_N310: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_LightSensor_Status_N310(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTROY_FBC_GET_LIGHT_SENSOR_STATUS_N310: {
- int ret = mpTv->Tv_FactoryGet_FBC_LightSensor_Status_N310();
- r->writeInt32(ret);
- break;
- }
- case FACTROY_FBC_SET_DREAM_PANEL_STATUS_N310: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Dream_Panel_Status_N310(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTROY_FBC_GET_DREAM_PANEL_STATUS_N310: {
- int ret = mpTv->Tv_FactoryGet_FBC_Dream_Panel_Status_N310();
- r->writeInt32(ret);
- break;
- }
- case FACTROY_FBC_SET_MULT_PQ_STATUS_N310: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_MULT_PQ_Status_N310(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTROY_FBC_GET_MULT_PQ_STATUS_N310: {
- int ret = mpTv->Tv_FactoryGet_FBC_MULT_PQ_Status_N310();
- r->writeInt32(ret);
- break;
- }
- case FACTROY_FBC_SET_MEMC_STATUS_N310: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_MEMC_Status_N310(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTROY_FBC_GET_MEMC_STATUS_N310: {
- int ret = mpTv->Tv_FactoryGet_FBC_MEMC_Status_N310();
- r->writeInt32(ret);
- break;
- }
-
- case MISC_SET_2K_TO_4K_SCALE_UP_MODE : {
- int value = p.readInt32();
- int ret = mpTv->Tv_Set2k4k_ScalerUp_Mode(value);
- r->writeInt32(ret);
- break;
- }
-
- case MISC_GET_2K_TO_4K_SCALE_UP_MODE: {
- int ret = mpTv->Tv_Get2k4k_ScalerUp_Mode();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_FBC_SET_BACKLIGHT_EN : {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_backlight_onoff(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_BACKLIGHT_EN: {
- int ret = mpTv->Tv_FactoryGet_FBC_backlight_onoff();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_FBC_TEST_PATTERN: {
- int value = p.readInt32();
- int ret = mpTv->Tv_SetTestPattern(value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_FBC_SET_LVDS_SSG: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_LVDS_SSG_Set(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_ELEC_MODE: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_ELEC_MODE(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_ELEC_MODE: {
- int ret = mpTv->Tv_FactoryGet_FBC_ELEC_MODE();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_BACKLIGHT_N360: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_BACKLIGHT_N360(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_BACKLIGHT_N360: {
- int ret = mpTv->Tv_FactoryGet_FBC_BACKLIGHT_N360();
- r->writeInt32(ret);
- break;
- }
-
-
- case FACTORY_FBC_SET_PIC_MODE: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Picture_Mode(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_PIC_MODE: {
- int ret = mpTv->Tv_FactoryGet_FBC_Picture_Mode();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_TEST_PATTERN: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Set_Test_Pattern(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_TEST_PATTERN: {
- int ret = mpTv->Tv_FactoryGet_FBC_Get_Test_Pattern();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_GAIN_RED: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Gain_Red(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_GAIN_RED: {
- int ret = mpTv->Tv_FactoryGet_FBC_Gain_Red();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_GAIN_GREEN: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Gain_Green(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_GAIN_GREEN: {
- int ret = mpTv->Tv_FactoryGet_FBC_Gain_Green();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_GAIN_BLUE: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Gain_Blue(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_GAIN_BLUE: {
- int ret = mpTv->Tv_FactoryGet_FBC_Gain_Blue();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_OFFSET_RED: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Offset_Red(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_OFFSET_RED: {
- int ret = mpTv->Tv_FactoryGet_FBC_Offset_Red();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_OFFSET_GREEN: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Offset_Green(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_OFFSET_GREEN: {
- int ret = mpTv->Tv_FactoryGet_FBC_Offset_Green();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_OFFSET_BLUE: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_Offset_Blue(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_OFFSET_BLUE: {
- int ret = mpTv->Tv_FactoryGet_FBC_Offset_Blue();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_COLORTEMP_MODE: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_ColorTemp_Mode(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_COLORTEMP_MODE: {
- int ret = mpTv->Tv_FactoryGet_FBC_ColorTemp_Mode();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_COLORTEMP_MODE_N360: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_ColorTemp_Mode_N360(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_COLORTEMP_MODE_N360: {
- int ret = mpTv->Tv_FactoryGet_FBC_ColorTemp_Mode_N360();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_SET_WB_INIT: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySet_FBC_WB_Initial(value);
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_WB_INIT: {
- int ret = mpTv->Tv_FactoryGet_FBC_WB_Initial();
- r->writeInt32(ret);
- break;
- }
-
- case FACTORY_FBC_GET_MAINCODE_VERSION: {
- char sw_version[64];
- char build_time[64];
- char git_version[64];
- char git_branch[64];
- char build_name[64];
- CFbcCommunication *fbcIns = GetSingletonFBC();
- if (fbcIns != NULL) {
- fbcIns->cfbc_Get_FBC_MAINCODE_Version(COMM_DEV_SERIAL, sw_version, build_time, git_version, git_branch, build_name);
- r->writeString16(String16(sw_version));
- r->writeString16(String16(build_time));
- r->writeString16(String16(git_version));
- r->writeString16(String16(git_branch));
- r->writeString16(String16(build_name));
- } else {
- r->writeString16(String16("No FBC"));
- r->writeString16(String16("No FBC"));
- r->writeString16(String16("No FBC"));
- r->writeString16(String16("No FBC"));
- r->writeString16(String16("No FBC"));
- }
- break;
- }
- case FACTORY_SET_SN: {
- char StrFactSN[256] = {0};
- String16 strTemFactorySn = p.readString16();
- String8 strFactorySn = String8(strTemFactorySn);
- sprintf((char *)StrFactSN, "%s", strFactorySn.string());
- CFbcCommunication *fbcIns = GetSingletonFBC();
- if (fbcIns != NULL) {
- int iRet = fbcIns->cfbc_Set_FBC_Factory_SN(COMM_DEV_SERIAL, (const char *)StrFactSN);
- r->writeInt32(iRet);
- } else {
- r->writeInt32(-1);
- }
- break;
- }
- case FACTORY_GET_SN: {
- char factorySerialNumber[256] = {0};
- memset((void *)factorySerialNumber, 0, 256);
- CFbcCommunication *fbcIns = GetSingletonFBC();
- if (fbcIns != NULL) {
- fbcIns->cfbc_Get_FBC_Factory_SN(COMM_DEV_SERIAL, factorySerialNumber);
- r->writeString16(String16(factorySerialNumber));
- } else {
- r->writeString16(String16("No FBC"));
- }
- break;
- }
- case FACTORY_FBC_PANEL_GET_INFO: {
- char panel_model[64];
- CFbcCommunication *fbcIns = GetSingletonFBC();
- if (fbcIns != NULL) {
- fbcIns->cfbc_Get_FBC_Get_PANel_INFO(COMM_DEV_SERIAL, panel_model);
- r->writeString16(String16(panel_model));
- } else {
- r->writeString16(String16(""));
- }
- break;
- }
- case FACTORY_FBC_PANEL_POWER_SWITCH: {
- int value = p.readInt32();
- CFbcCommunication *fbcIns = GetSingletonFBC();
- if (fbcIns != NULL) {
- int ret = fbcIns->cfbc_Set_FBC_panel_power_switch(COMM_DEV_SERIAL, value);
- r->writeInt32(ret);
- } else {
- r->writeInt32(-1);
- }
- break;
- }
- case FACTORY_FBC_PANEL_SUSPEND: {
- int value = p.readInt32();
- CFbcCommunication *fbcIns = GetSingletonFBC();
- if (fbcIns != NULL) {
- int ret = fbcIns->cfbc_Set_FBC_suspend(COMM_DEV_SERIAL, value);
- r->writeInt32(ret);
- } else {
- r->writeInt32(-1);
- }
- break;
- }
- case FACTORY_FBC_PANEL_USER_SETTING_DEFAULT: {
- int value = p.readInt32();
- CFbcCommunication *fbcIns = GetSingletonFBC();
- if (fbcIns != NULL) {
- int ret = fbcIns->cfbc_Set_FBC_User_Setting_Default(COMM_DEV_SERIAL, value);
- r->writeInt32(ret);
- } else {
- r->writeInt32(-1);
- }
- break;
- }
- case FACTORY_FBC_VIDEO_MUTE: {
- CFbcCommunication *fbcIns = GetSingletonFBC();
- if (fbcIns != NULL) {
- int ret = fbcIns->cfbc_Set_VMute(COMM_DEV_SERIAL, 1);
- r->writeInt32(ret);
- } else {
- r->writeInt32(-1);
- }
- break;
- }
- case FACTORY_FBC_POWER_REBOOT: {
- int value = p.readInt32();
- CFbcCommunication *fbcIns = GetSingletonFBC();
- if (fbcIns != NULL) {
- int ret = fbcIns->cfbc_SendRebootToUpgradeCmd(COMM_DEV_SERIAL, value);
- r->writeInt32(ret);
- } else {
- r->writeInt32(-1);
- }
- break;
- }
- case FACTORY_FBC_SEND_KEY_TO_FBC: {
- int keyCode = p.readInt32();
- int param = p.readInt32();
- CFbcCommunication *fbcIns = GetSingletonFBC();
- if (fbcIns != NULL) {
- int ret = fbcIns->cfbc_FBC_Send_Key_To_Fbc(COMM_DEV_SERIAL, keyCode, param);
- r->writeInt32(ret);
- } else {
- r->writeInt32(-1);
- }
- break;
- }
- case FACTORY_WHITE_BALANCE_SET_GAIN_RED: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySetWhiteBalanceRedGain(source_type, colortemp_mode, value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_GET_GAIN_RED: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetWhiteBalanceRedGain(source_type, colortemp_mode);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_SET_GAIN_GREEN: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySetWhiteBalanceGreenGain(source_type, colortemp_mode, value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_GET_GAIN_GREEN: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetWhiteBalanceGreenGain(source_type, colortemp_mode);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_SET_GAIN_BLUE: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySetWhiteBalanceBlueGain(source_type, colortemp_mode, value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_GET_GAIN_BLUE: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetWhiteBalanceBlueGain(source_type, colortemp_mode);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_SET_OFFSET_RED: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySetWhiteBalanceRedOffset(source_type, colortemp_mode, value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_GET_OFFSET_RED: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetWhiteBalanceRedOffset(source_type, colortemp_mode);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_SET_OFFSET_GREEN: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySetWhiteBalanceGreenOffset(source_type, colortemp_mode, value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_GET_OFFSET_GREEN: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetWhiteBalanceGreenOffset(source_type, colortemp_mode);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_SET_OFFSET_BLUE: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySetWhiteBalanceBlueOffset(source_type, colortemp_mode, value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_GET_OFFSET_BLUE: {
- int source_type = p.readInt32();
- int colortemp_mode = p.readInt32();
- int ret = mpTv->Tv_FactoryGetWhiteBalanceBlueOffset(source_type, colortemp_mode);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_GET_COLOR_TMP: {
- int source_type = p.readInt32();
- int ret = mpTv->Tv_FactoryGetWhiteBalanceColorTempMode(source_type);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_SET_COLOR_TMP: {
- int source_type = p.readInt32();
- int Tempmode = p.readInt32();
- int is_save = p.readInt32();
- int ret = mpTv->Tv_FactorySetWhiteBalanceColorTempMode(source_type, Tempmode, is_save);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_SAVE_PRAMAS: {
- int source_type = p.readInt32();
- int mode = p.readInt32();
- int r_gain = p.readInt32();
- int g_gain = p.readInt32();
- int b_gain = p.readInt32();
- int r_offset = p.readInt32();
- int g_offset = p.readInt32();
- int b_offset = p.readInt32();
- int ret = mpTv->Tv_FactorySaveWhiteBalancePramas(source_type, mode, r_gain, g_gain, b_gain, r_offset, g_offset, b_offset);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_OPEN_GRAY_PATTERN: {
- int ret = mpTv->Tv_FactoryOpenWhiteBalanceGrayPattern();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_CLOSE_GRAY_PATTERN: {
- int ret = mpTv->Tv_FactoryCloseWhiteBalanceGrayPattern();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_SET_GRAY_PATTERN: {
- int value = p.readInt32();
- int ret = mpTv->Tv_FactorySetWhiteBalanceGrayPattern(value);
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_GET_GRAY_PATTERN: {
- int ret = mpTv->Tv_FactoryGetWhiteBalanceGrayPattern();
- r->writeInt32(ret);
- break;
- }
- case FACTORY_WHITE_BALANCE_GET_ALL_PRAMAS: {
- int Tempmode = p.readInt32();
- tcon_rgb_ogo_t params;
- int ret = mpTv->GetColorTemperatureParams((vpp_color_temperature_mode_t)Tempmode, &params);
- r->writeInt32(ret);
- r->writeInt32(params.r_gain);
- r->writeInt32(params.g_gain);
- r->writeInt32(params.b_gain);
- r->writeInt32(params.r_post_offset);
- r->writeInt32(params.g_post_offset);
- r->writeInt32(params.b_post_offset);
- }
- case STOP_SCAN: {
- mpTv->stopScanLock();
- break;
- }
- case DTV_GET_SNR: {
- int tmpRet = 0;
- tmpRet = mpTv->getFrontendSNR();
- r->writeInt32(tmpRet);
- break;
- }
- case DTV_GET_BER: {
- int tmpRet = 0;
- tmpRet = mpTv->getFrontendBER();
- r->writeInt32(tmpRet);
- break;
- }
- case DTV_GET_STRENGTH: {
- int tmpRet = 0;
- tmpRet = mpTv->getFrontendSignalStrength();
- r->writeInt32(tmpRet);
- break;
- }
- case DTV_GET_AUDIO_TRACK_NUM: {
- int programId = p.readInt32();
- int retCnt = 0;
- retCnt = mpTv->getAudioTrackNum(programId);
- r->writeInt32(retCnt);
- break;
- }
- case DTV_GET_AUDIO_TRACK_INFO: {
- int progId = p.readInt32();
- int aIdx = p.readInt32();
- int aFmt = -1;
- int iRet = -1;
- String8 lang;
- iRet = mpTv->getAudioInfoByIndex(progId, aIdx, &aFmt, lang);
- r->writeInt32(aFmt);
- r->writeString16(String16(lang));
- break;
- }
- case DTV_SWITCH_AUDIO_TRACK: {
- int aPid = p.readInt32();
- int aFmt = p.readInt32();
- int aParam = p.readInt32();
- int ret = -1;
- ret = mpTv->switchAudioTrack(aPid, aFmt, aParam);
- r->writeInt32(ret);
- break;
- }
- case DTV_GET_CURR_AUDIO_TRACK_INDEX: {
- int currAduIdx = -1;
- int progId = p.readInt32();
- CTvProgram prog;
- CTvProgram::selectByID(progId, prog);
- currAduIdx = prog.getCurrAudioTrackIndex();
- r->writeInt32(currAduIdx);
- break;
- }
- case DTV_SET_AUDIO_CHANNEL_MOD: {
- int audioChannelIdx = p.readInt32();
- mpTv->setAudioChannel(audioChannelIdx);
- break;
- }
- case DTV_GET_AUDIO_CHANNEL_MOD: {
- int currChannelMod;
- currChannelMod = mpTv->getAudioChannel();
- r->writeInt32(currChannelMod);
- break;
- }
- case DTV_GET_CUR_FREQ: {
- int progId = p.readInt32();
- int freq = 0;
- int iRet = -1;
- CTvProgram prog;
- CTvChannel channel;
-
- iRet = CTvProgram::selectByID(progId, prog);
- if (0 != iRet) return -1;
- prog.getChannel(channel);
- freq = channel.getFrequency();
- r->writeInt32(freq);
- break;
- }
- case DTV_GET_EPG_UTC_TIME: {
- int iRet = -1;
- int utcTime = 0;
-
- utcTime = mpTv->getTvTime();
-
- r->writeInt32(utcTime);
- break;
- }
- case DTV_GET_EPG_INFO_POINT_IN_TIME: {
- int progid = p.readInt32();
- int utcTime = p.readInt32();
- CTvProgram prog;
- int ret = CTvProgram::selectByID(progid, prog);
- CTvEvent ev;
- ret = ev.getProgPresentEvent(prog.getSrc(), prog.getID(), utcTime, ev);
- r->writeString16(String16(ev.getName()));
- r->writeString16(String16(ev.getDescription()));
- r->writeString16(String16(ev.getExtDescription()));
- r->writeInt32(ev.getStartTime());
- r->writeInt32(ev.getEndTime());
- r->writeInt32(ev.getSubFlag());
- r->writeInt32(ev.getEventId());
- break;
- }
- case DTV_GET_EPG_INFO_DURATION: {
- int iRet = -1;
- int iObOutSize = 0;
- Vector<sp<CTvEvent> > epgOut;
- int progid = p.readInt32();
- int iUtcStartTime = p.readInt32();
- int iDurationTime = p.readInt32();
- CTvProgram prog;
- CTvEvent ev;
- iRet = CTvProgram::selectByID(progid, prog);
- if (0 != iRet) {
- break;
- }
- iRet = ev.getProgScheduleEvents(prog.getSrc(), prog.getID(), iUtcStartTime, iDurationTime, epgOut);
- if (0 != iRet) {
- break;
- }
- iObOutSize = epgOut.size();
- if (0 == iObOutSize) {
- break;
- }
-
- r->writeInt32(iObOutSize);
- for (int i = 0; i < iObOutSize; i ++) {
- r->writeString16(String16(epgOut[i]->getName()));
- r->writeString16(String16(epgOut[i]->getDescription()));
- r->writeString16(String16(ev.getExtDescription()));
- r->writeInt32(epgOut[i]->getStartTime());
- r->writeInt32(epgOut[i]->getEndTime());
- r->writeInt32(epgOut[i]->getSubFlag());
- r->writeInt32(epgOut[i]->getEventId());
- }
- break;
- }
- case DTV_SET_PROGRAM_NAME: {
- CTvProgram prog;
- int progid = p.readInt32();
- String16 tmpName = p.readString16();
- String8 strName = String8(tmpName);
- prog.updateProgramName(progid, strName);
- break;
- }
- case DTV_SET_PROGRAM_SKIPPED: {
- CTvProgram prog;
- int progid = p.readInt32();
- bool bSkipFlag = p.readInt32();
- prog.setSkipFlag(progid, bSkipFlag);
- break;
- }
- case DTV_SET_PROGRAM_FAVORITE: {
- CTvProgram prog;
- int progid = p.readInt32();
- bool bFavorite = p.readInt32();
- prog.setFavoriteFlag(progid, bFavorite);
- break;
- }
- case DTV_DETELE_PROGRAM: {
- CTvProgram prog;
- int progid = p.readInt32();
- prog.deleteProgram(progid);
- break;
- }
- case SET_BLACKOUT_ENABLE: {
- int enable = p.readInt32();
- mpTv->setBlackoutEnable(enable);
- break;
- }
- case START_AUTO_BACKLIGHT: {
- mpTv->startAutoBackLight();
- break;
- }
- case STOP_AUTO_BACKLIGHT: {
- mpTv->stopAutoBackLight();
- break;
- }
- case IS_AUTO_BACKLIGHTING: {
- int on = mpTv->getAutoBackLight_on_off();
- r->writeInt32(on);
- break;
- }
- case GET_AVERAGE_LUMA: {
- int ret = mpTv->getAverageLuma();
- r->writeInt32(ret);
- break;
- }
- case GET_AUTO_BACKLIGHT_DATA: {
- int i;
- int size = mpTv->getAutoBacklightData(tmp_i_buf);
- r->writeInt32(size);
- for (i = 0; i < size; i++) {
- r->writeInt32(tmp_i_buf[i]);
- }
- break;
- }
- case SET_AUTO_BACKLIGHT_DATA: {
- String16 tmp_str16;
- String8 value_str;
-
- tmp_str16 = p.readString16();
- value_str = String8(tmp_str16);
-
- int ret = mpTv->setAutobacklightData(value_str);
- r->writeInt32(ret);
- break;
- }
-
- case SSM_READ_BLACKOUT_ENABLE: {
- int enable = mpTv->getSaveBlackoutEnable();
- r->writeInt32(enable);
- break;
- }
- case DTV_SWAP_PROGRAM: {
- CTvProgram prog;
- int firstProgId = p.readInt32();
- int secondProgId = p.readInt32();
- CTvProgram::selectByID(firstProgId, prog);
- int firstChanOrderNum = prog.getChanOrderNum();
- CTvProgram::selectByID(secondProgId, prog);
- int secondChanOrderNum = prog.getChanOrderNum();
- prog.swapChanOrder(firstProgId, firstChanOrderNum, secondProgId, secondChanOrderNum);
- break;
- }
- case DTV_SET_PROGRAM_LOCKED: {
- CTvProgram prog;
- int progid = p.readInt32();
- bool bLocked = p.readInt32();
- prog.setLockFlag(progid, bLocked);
- break;
- }
- case DTV_SET_BOOKING_FLAG: {
- CTvEvent ev;
- int iEvtId = p.readInt32();
- bool iBookFlag = (bool)p.readInt32();
- ev.bookEvent(iEvtId, iBookFlag);
- break;
- }
- case DTV_GET_FREQ_BY_PROG_ID: {
- int freq = 0;
- int progid = p.readInt32();
- CTvProgram prog;
- int ret = CTvProgram::selectByID(progid, prog);
- if (ret != 0) return -1;
- CTvChannel channel;
- prog.getChannel(channel);
- freq = channel.getFrequency();
- r->writeInt32(freq);
- break;
- }
- case DTV_GET_BOOKED_EVENT: {
- CTvBooking tvBook;
- Vector<sp<CTvBooking> > vTvBookOut;
- tvBook.getBookedEventList(vTvBookOut);
- int iObOutSize = vTvBookOut.size();
- if (0 == iObOutSize) {
- break;
- }
- r->writeInt32(iObOutSize);
- for (int i = 0; i < iObOutSize; i ++) {
- r->writeString16(String16(vTvBookOut[i]->getProgName()));
- r->writeString16(String16(vTvBookOut[i]->getEvtName()));
- r->writeInt32(vTvBookOut[i]->getStartTime());
- r->writeInt32(vTvBookOut[i]->getDurationTime());
- r->writeInt32(vTvBookOut[i]->getBookId());
- r->writeInt32(vTvBookOut[i]->getProgramId());
- r->writeInt32(vTvBookOut[i]->getEventId());
- }
- break;
- }
- case SET_FRONTEND_PARA: {
- int ret = -1;
- frontend_para_set_t feParms;
- feParms.mode = (fe_type_t)p.readInt32();
- feParms.freq = p.readInt32();
- feParms.videoStd = (atv_video_std_t)p.readInt32();
- feParms.audioStd = (atv_audio_std_t)p.readInt32();
- feParms.para1 = p.readInt32();
- feParms.para2 = p.readInt32();
- mpTv->resetFrontEndPara(feParms);
- r->writeInt32(ret);
- break;
- }
- case PLAY_PROGRAM: {
- int mode = p.readInt32();
- int freq = p.readInt32();
- if (mode == FE_ANALOG) {
- int videoStd = p.readInt32();
- int audioStd = p.readInt32();
- int fineTune = p.readInt32();
- int audioCompetation = p.readInt32();
- mpTv->playAtvProgram(freq, videoStd, audioStd, fineTune, audioCompetation);
- } else {
- int para1 = p.readInt32();
- int para2 = p.readInt32();
- int vid = p.readInt32();
- int vfmt = p.readInt32();
- int aid = p.readInt32();
- int afmt = p.readInt32();
- int pcr = p.readInt32();
- int audioCompetation = p.readInt32();
- mpTv->playDtvProgram(mode, freq, para1, para2, vid, vfmt, aid, afmt, pcr, audioCompetation);
- }
- break;
- }
- case GET_PROGRAM_LIST: {
- Vector<sp<CTvProgram> > out;
- int type = p.readInt32();
- int skip = p.readInt32();
- CTvProgram::selectByType(type, skip, out);
- r->writeInt32(out.size());
- for (int i = 0; i < (int)out.size(); i++) {
- r->writeInt32(out[i]->getID());
- r->writeInt32(out[i]->getChanOrderNum());
- r->writeInt32(out[i]->getMajor());
- r->writeInt32(out[i]->getMinor());
- r->writeInt32(out[i]->getProgType());
- r->writeString16(String16(out[i]->getName()));
- r->writeInt32(out[i]->getProgSkipFlag());
- r->writeInt32(out[i]->getFavoriteFlag());
- r->writeInt32(out[i]->getVideo()->getFormat());
- CTvChannel ch;
- out[i]->getChannel(ch);
- r->writeInt32(ch.getDVBTSID());
- r->writeInt32(out[i]->getServiceId());
- r->writeInt32(out[i]->getVideo()->getPID());
- r->writeInt32(out[i]->getVideo()->getPID());
-
- int audioTrackSize = out[i]->getAudioTrackSize();
- r->writeInt32(audioTrackSize);
- for (int j = 0; j < audioTrackSize; j++) {
- r->writeString16(String16(out[i]->getAudio(j)->getLang()));
- r->writeInt32(out[i]->getAudio(j)->getFormat());
- r->writeInt32(out[i]->getAudio(j)->getPID());
- }
- Vector<CTvProgram::Subtitle *> mvSubtitles = out[i]->getSubtitles();
- int subTitleSize = mvSubtitles.size();
- r->writeInt32(subTitleSize);
- if (subTitleSize > 0) {
- for (int k = 0; k < subTitleSize; k++) {
- r->writeInt32(mvSubtitles[k]->getPID());
- r->writeString16(String16(mvSubtitles[k]->getLang()));
- r->writeInt32(mvSubtitles[k]->getCompositionPageID());
- r->writeInt32(mvSubtitles[k]->getAncillaryPageID());
- }
- }
- r->writeInt32(ch.getFrequency());
- }
- break;
- }
- case DTV_GET_VIDEO_FMT_INFO: {
- int srcWidth = 0;
- int srcHeight = 0;
- int srcFps = 0;
- int srcInterlace = 0;
- int iRet = -1;
-
- iRet == mpTv->getVideoFormatInfo(&srcWidth, &srcHeight, &srcFps, &srcInterlace);
- r->writeInt32(srcWidth);
- r->writeInt32(srcHeight);
- r->writeInt32(srcFps);
- r->writeInt32(srcInterlace);
- r->writeInt32(iRet);
- }
- break;
-
- case DTV_START_RECORD: {
- char buf[256];
- String16 tmpName = p.readString16();
- String8 strName = String8(tmpName);
- sprintf(buf, "%s", strName.string());
- mpTv->SetRecordFileName(buf);
- mpTv->StartToRecord();
- }
- break;
- case DTV_STOP_RECORD:
- mpTv->StopRecording();
- break;
- case DTV_SET_RECORD_ALL_TS: {
- int sel = p.readInt32();
- mpTv->SetRecCurTsOrCurProgram(sel);
- }
- break;
- case TV_PRINT_DEBUG_INFO:
- mpTv->printDebugInfo();
- break;
- case HDMIAV_HOTPLUGDETECT_ONOFF: {
- int flag = mpTv->GetHdmiAvHotplugDetectOnoff();
- r->writeInt32(flag);
- }
- break;
-
- // 2.4G headset
- case START_OPEN_HEADSET_DETECT: {
- int flag = mpTv->StartHeadSetDetect();
- r->writeInt32(flag);
- }
- break;
-
- // EXTAR END
- default:
- LOGD("default");
- break;
- }
-
- LOGD("exit client=%d cmd=%d", getCallingPid(), cmd);
- return 0;
+ int tmp_i_buf[128] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
+ unsigned char tmp_uc_buf[512] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
+ unsigned char tmp_uc_buf2[512] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
+ int8_t tmp_int8_buf[512] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,};
+ static int source_input = 0;
+ int *data_ptr = NULL;
+
+ int cmd = p.readInt32();
+
+ LOGD("enter client=%d cmd=%d", getCallingPid(), cmd);
+ switch (cmd) {
+ // Tv function
+ case OPEN_TV: {
+ break;
+ }
+ case CLOSE_TV: {
+ int ret = mpTv->CloseTv();
+ r->writeInt32(ret);
+ break;
+ }
+ case START_TV: {
+ int mode = p.readInt32();
+ int ret = mpTv->StartTvLock();
+ //mTvService->mpStartTvClient = this;
+ mIsStartTv = true;
+ r->writeInt32(ret);
+ break;
+ }
+ case STOP_TV: {
+ int ret = mpTv->StopTvLock();
+ r->writeInt32(ret);
+ mIsStartTv = false;
+ break;
+ }
+ case GET_TV_STATUS: {
+ int ret = 0;
+ ret = (int)mpTv->GetTvStatus();
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_LAST_SOURCE_INPUT: {
+ int ret = (int)mpTv->GetLastSourceInput();
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CURRENT_SOURCE_INPUT: {
+ int ret = (int)mpTv->GetCurrentSourceInputLock();
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CURRENT_SOURCE_INPUT_TYPE: {
+ int ret = 0;//(int)mpTv->Tvin_GetSrcInputType();
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CURRENT_SIGNAL_INFO: {
+ tvin_info_t siginfo = mpTv->GetCurrentSignalInfo();
+ int frame_rate = mpTv->getHDMIFrameRate();
+ r->writeInt32(siginfo.trans_fmt);
+ r->writeInt32(siginfo.fmt);
+ r->writeInt32(siginfo.status);
+ r->writeInt32(frame_rate);
+ break;
+ }
+ case IS_SOURCE_SWTICH_DONE: {
+ //int ret = mpTv->Tv_IsSourceSwtichDone();
+ r->writeInt32(0);
+ break;
+ }
+ case SET_SOURCE_INPUT: {
+ int sourceinput = p.readInt32();
+ tvin_window_pos_t win_pos;
+ LOGD(" SetSourceInput sourceId= %x", sourceinput);
+ source_input = sourceinput;
+ int ret = mpTv->SetSourceSwitchInput((tv_source_input_t)sourceinput);
+ r->writeInt32(ret);
+ break;
+ }
+ case DO_SUSPEND: {
+ int type = p.readInt32();
+ int ret = mpTv->DoSuspend(type);
+ r->writeInt32(ret);
+ break;
+ }
+ case DO_RESUME: {
+ int type = p.readInt32();
+ int ret = mpTv->DoResume(type);
+ r->writeInt32(ret);
+ break;
+ }
+ case RUN_ADC_AUTO_CALIBRATION: {
+ // int ret = mpTv->Tv_RunADCAutoCalibration();
+ // r->writeInt32(ret);
+ break;
+ }
+ case IS_DVI_SIGNAL: {
+ int ret = mpTv->IsDVISignal();
+ r->writeInt32(ret);
+ break;
+ }
+ case IS_VGA_TIMEING_IN_HDMI: {
+ int ret = mpTv->isVgaFmtInHdmi();
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_VIDEO_PATH_STATUS: {
+ int path_type = p.readInt32();
+ int ret = 0;//(int)mpTv->Tvin_CheckPathActive((tv_path_type_t)path_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_VIDEO_STREAM_STATUS: {
+ // int ret = (int)mpTv->Tvin_CheckVideoStreamStatus();
+ // r->writeInt32(ret);
+ break;
+ }
+ case GET_FIRST_START_SWITCH_TYPE: {
+ //int tmp_val = 0;
+ //int ret = (int)mpTv->Tv_GetFirstStartSwitchType(&tmp_val);
+ //r->writeInt32(ret);
+ r->writeInt32(1);
+ break;
+ }
+ case SET_PREVIEW_WINDOW: {
+ tvin_window_pos_t win_pos;
+ win_pos.x1 = p.readInt32();
+ win_pos.y1 = p.readInt32();
+ win_pos.x2 = p.readInt32();
+ win_pos.y2 = p.readInt32();
+ int ret = (int)mpTv->SetPreviewWindow(win_pos);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case SET_VIDEO_DISABLE: {
+ int value = p.readInt32();
+ int ret = 0;//(int)mpTv->Tv_SetVideoDisable(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case GET_SOURCE_CONNECT_STATUS: {
+ int source_input = p.readInt32();
+ int ret = mpTv->GetSourceConnectStatus((tv_source_input_t)source_input);
+ r->writeInt32(ret);
+ break;
+ }
+ //Tv function END
+
+ //VGA
+ case RUN_VGA_AUTO_ADJUST: {
+ //int ret = mpTv->Tv_RunVGAAutoAdjust();
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_VGA_AUTO_ADJUST_STATUS: {
+ // int fmt = p.readInt32();
+ //int ret = (int) mpTv->Tv_GetVagAutoAdjustStatus();
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case IS_VGA_AUTO_ADJUST_DONE: {
+ int fmt = p.readInt32();
+ int ret = 0;//mpTv->Tv_IsVGAAutoAdjustDone((tvin_sig_fmt_t)fmt);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_VGA_HPOS: {
+ // int value = p.readInt32();
+ // int fmt = p.readInt32();
+ //int ret = mpTv->Tv_SetVGAHPos(value, (tvin_sig_fmt_t)fmt);
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_VGA_HPOS: {
+ // int fmt = p.readInt32();
+ // int ret = mpTv->Tv_GetVGAHPos((tvin_sig_fmt_t)fmt);
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+
+ case SET_VGA_VPOS: {
+ // int value = p.readInt32();
+ // int fmt = p.readInt32();
+ // int ret = mpTv->Tv_SetVGAVPos(value, (tvin_sig_fmt_t)fmt);
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_VGA_VPOS: {
+ // int fmt = p.readInt32();
+ // int ret = mpTv->Tv_GetVGAVPos((tvin_sig_fmt_t)fmt);
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+
+ case SET_VGA_CLOCK: {
+ // int value = p.readInt32();
+ // int fmt = p.readInt32();
+ // int ret = mpTv->Tv_SetVGAClock(value, (tvin_sig_fmt_t)fmt);
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_VGA_CLOCK: {
+ // int fmt = p.readInt32();
+ // int ret = mpTv->Tv_GetVGAClock((tvin_sig_fmt_t)fmt);
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+
+ case SET_VGA_PHASE: {
+ // int value = p.readInt32();
+ // int fmt = p.readInt32();
+ // int ret = mpTv->Tv_SetVGAPhase(value, (tvin_sig_fmt_t)fmt);
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_VGA_PHASE: {
+ // int fmt = p.readInt32();
+ // int ret = mpTv->Tv_GetVGAPhase((tvin_sig_fmt_t)fmt);
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_VGA_AJUST_PARA: {
+ tvafe_vga_parm_t adjparam;
+ adjparam.clk_step = p.readInt32();
+ adjparam.phase = p.readInt32();
+ adjparam.hpos_step = p.readInt32();
+ adjparam.vpos_step = p.readInt32();
+ adjparam.vga_in_clean = p.readInt32();
+ int fmt = p.readInt32();
+ int ret = 0/*SetVGAAjustPara(adjparam, (tvin_sig_fmt_t)fmt)*/;
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_VGA_AJUST_PARA: {
+ tvafe_vga_parm_t adjparam;
+ int fmt = p.readInt32();
+ int ret = 0/*GetVGAAjustPara(&adjparam, (tvin_sig_fmt_t)fmt)*/;
+ r->writeInt32(adjparam.clk_step);
+ r->writeInt32(adjparam.phase);
+ r->writeInt32(adjparam.hpos_step);
+ r->writeInt32(adjparam.vpos_step);
+ r->writeInt32(adjparam.vga_in_clean);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_VGAPARAM_DEFAULT: {
+ // int ret = (int)mpTv->TvinResetVgaAjustParam();
+ // r->writeInt32(ret);
+ break;
+ }
+ // VGA END
+
+ // 3D
+
+ case SET_3D_MODE: {
+ int mode = p.readInt32();
+ int ret = mpTv->Tv_Set3DMode((VIDEO_3D_MODE_T)mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_3D_MODE: {
+ int ret = (int)mpTv->Tv_Get3DMode();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_3D_LR_SWITH: {
+ int on_off = p.readInt32();
+ //int status = p.readInt32();
+ int ret = mpTv->Tv_Set3DLRSwith(on_off);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_3D_LR_SWITH: {
+ int ret = mpTv->Tv_Get3DLRSwith();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_3D_TO_2D_MODE: {
+ int mode = p.readInt32();
+ //int status = p.readInt32();
+ int ret = mpTv->Tv_Set3DTo2DMode(mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_3D_TO_2D_MODE: {
+ int ret = mpTv->Tv_Get3DTo2DMode();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_3D_DEPTH: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_Set3DDepth(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_3D_DEPTH: {
+ int ret = mpTv->GetSave3DDepth();
+ r->writeInt32(ret);
+ break;
+ }
+ // 3D END
+
+ // PQ
+ case SET_BRIGHTNESS: {
+ int brightness = p.readInt32();
+ int source_type = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SetBrightness(brightness, (tv_source_input_type_t)source_type, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_BRIGHTNESS: {
+ int source_type = p.readInt32();
+ LOGD("GET_BRIGHTNESS------------=%d", source_type);
+ int ret = mpTv->Tv_GetBrightness((tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_BRIGHTNESS: {
+ int brightness = p.readInt32();
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_SaveBrightness(brightness, (tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case SET_CONTRAST: {
+ int contrast = p.readInt32();
+ int source_type = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SetContrast(contrast, (tv_source_input_type_t)source_type, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CONTRAST: {
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_GetContrast((tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CONTRAST: {
+ int contrast = p.readInt32();
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_SaveContrast(contrast, (tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_SATUATION: {
+ int satuation = p.readInt32();
+ int source_type = p.readInt32();
+ int fmt = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SetSaturation(satuation, (tv_source_input_type_t)source_type, (tvin_sig_fmt_t)fmt, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_SATUATION: {
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_GetSaturation((tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_SATUATION: {
+ int satuation = p.readInt32();
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_SaveSaturation(satuation, (tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_HUE: {
+ int hue = p.readInt32();
+ int source_type = p.readInt32();
+ int fmt = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SetHue(hue, (tv_source_input_type_t)source_type, (tvin_sig_fmt_t)fmt, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_HUE: {
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_GetHue((tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_HUE: {
+ int hue = p.readInt32();
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_SaveHue(hue, (tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_SCENEMODE: {
+ int mode = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = 0;//mpTv->Tv_SetSceneMode((vpp_scene_mode_t)mode,is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_SCENEMODE: {
+ int ret = 0;//(int)mpTv->Tv_GetSceneMode();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_PQMODE: {
+ int mode = p.readInt32();
+ int source_type = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SetPQMode((vpp_picture_mode_t)mode, (tv_source_input_type_t)source_type, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_PQMODE: {
+ int source_type = p.readInt32();
+ int ret = (int)mpTv->Tv_GetPQMode((tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_PQMODE: {
+ int mode = p.readInt32();
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_SavePQMode((vpp_picture_mode_t)mode, (tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_SHARPNESS: {
+ int value = p.readInt32();
+ int source_type = p.readInt32();
+ int en = p.readInt32();
+ int status_3d = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SetSharpness(value, (tv_source_input_type_t)source_type, en, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_SHARPNESS: {
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_GetSharpness((tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_SHARPNESS: {
+ int value = p.readInt32();
+ int source_type = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SaveSharpness(value, (tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_BACKLIGHT: {
+ int value = p.readInt32();
+ int source_type = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SetBacklight(value, (tv_source_input_type_t)source_type, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_BACKLIGHT: {
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_GetBacklight((tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_BACKLIGHT: {
+ int value = p.readInt32();
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_SaveBacklight ( value, (tv_source_input_type_t)source_type );
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_BACKLIGHT_SWITCH: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_SetBacklight_Switch(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_BACKLIGHT_SWITCH: {
+ int ret = mpTv->Tv_GetBacklight_Switch();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_COLOR_TEMPERATURE: {
+ int mode = p.readInt32();
+ int source_type = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SetColorTemperature((vpp_color_temperature_mode_t)mode, (tv_source_input_type_t)source_type, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_COLOR_TEMPERATURE: {
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_GetColorTemperature((tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_COLOR_TEMPERATURE: {
+ int mode = p.readInt32();
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_SaveColorTemperature ( (vpp_color_temperature_mode_t)mode, (tv_source_input_type_t)source_type );
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_DISPLAY_MODE: {
+ int mode = p.readInt32();
+ int source_type = p.readInt32();
+ int fmt = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SetDisplayMode((vpp_display_mode_t)mode, (tv_source_input_type_t)source_type, (tvin_sig_fmt_t)fmt, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_DISPLAY_MODE: {
+ int source_type = p.readInt32();
+ int ret = (int)mpTv->Tv_GetDisplayMode((tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_DISPLAY_MODE: {
+ int mode = p.readInt32();
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_SaveDisplayMode((vpp_display_mode_t)mode, (tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_NOISE_REDUCTION_MODE: {
+ int mode = p.readInt32();
+ int source_type = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_SetNoiseReductionMode((vpp_noise_reduction_mode_t)mode, (tv_source_input_type_t)source_type, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_NOISE_REDUCTION_MODE: {
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_GetNoiseReductionMode((tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_NOISE_REDUCTION_MODE: {
+ int mode = p.readInt32();
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_SaveNoiseReductionMode((vpp_noise_reduction_mode_t)mode, (tv_source_input_type_t)source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case VPP_SPLIT_SCREEN_EFFECT: {
+ int mode = p.readInt32();
+ int width = p.readInt32();
+ int reverse = p.readInt32();
+ int ret = mpTv->Tv_SplitScreenEffect(mode, width, reverse);
+ r->writeInt32(ret);
+ break;
+ }
+ // PQ END
+
+ // FACTORY
+ case FACTORY_SETPQMODE_BRIGHTNESS: {
+ int source_type = p.readInt32();
+ int pq_mode = p.readInt32();
+ int brightness = p.readInt32();
+ int ret = mpTv->Tv_FactorySetPQMode_Brightness(source_type, pq_mode, brightness);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETPQMODE_BRIGHTNESS: {
+ int source_type = p.readInt32();
+ int pq_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetPQMode_Brightness(source_type, pq_mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETPQMODE_CONTRAST: {
+ int source_type = p.readInt32();
+ int pq_mode = p.readInt32();
+ int contrast = p.readInt32();
+ int ret = mpTv->Tv_FactorySetPQMode_Contrast(source_type, pq_mode, contrast);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETPQMODE_CONTRAST: {
+ int source_type = p.readInt32();
+ int pq_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetPQMode_Contrast(source_type, pq_mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETPQMODE_SATURATION: {
+ int source_type = p.readInt32();
+ int pq_mode = p.readInt32();
+ int saturation = p.readInt32();
+ int ret = mpTv->Tv_FactorySetPQMode_Saturation(source_type, pq_mode, saturation);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETPQMODE_SATURATION: {
+ int source_type = p.readInt32();
+ int pq_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetPQMode_Saturation(source_type, pq_mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETPQMODE_HUE: {
+ int source_type = p.readInt32();
+ int pq_mode = p.readInt32();
+ int hue = p.readInt32();
+ int ret = mpTv->Tv_FactorySetPQMode_Hue(source_type, pq_mode, hue);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETPQMODE_HUE: {
+ int source_type = p.readInt32();
+ int pq_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetPQMode_Hue(source_type, pq_mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETPQMODE_SHARPNESS: {
+ int source_type = p.readInt32();
+ int pq_mode = p.readInt32();
+ int sharpness = p.readInt32();
+ int ret = mpTv->Tv_FactorySetPQMode_Sharpness(source_type, pq_mode, sharpness);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETPQMODE_SHARPNESS: {
+ int source_type = p.readInt32();
+ int pq_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetPQMode_Sharpness(source_type, pq_mode);
+
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETTESTPATTERN: {
+ int pattern = p.readInt32();
+ int ret = mpTv->Tv_FactorySetTestPattern(pattern);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETTESTPATTERN: {
+ int ret = mpTv->Tv_FactoryGetTestPattern();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETPATTERN_YUV: {
+ int blend = p.readInt32();
+ int y = p.readInt32();
+ int u = p.readInt32();
+ int v = p.readInt32();
+ int ret = mpTv->Tv_FactorySetScreenColor(blend, y, u, v);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_RESETPQMODE: {
+ int ret = mpTv->Tv_FactoryResetPQMode();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_RESETCOLORTEMP: {
+ int ret = mpTv->Tv_FactoryResetColorTemp();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_RESETPAMAMSDEFAULT: {
+ int ret = mpTv->Tv_FactorySetParamsDefault();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETDDRSSC: {
+ int setp = p.readInt32();
+ int ret = mpTv->Tv_FactorySetDDRSSC(setp);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETDDRSSC: {
+ int ret = mpTv->Tv_FactoryGetDDRSSC();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETLVDSSSC: {
+ int setp = p.readInt32();
+ int ret = mpTv->Tv_FactorySetLVDSSSC(setp);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETLVDSSSC: {
+ int ret = mpTv->Tv_FactoryGetLVDSSSC();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETNOLINEPARAMS: {
+ noline_params_t params;
+ int noline_params_type = p.readInt32();
+ int source_type = p.readInt32();
+ params.osd0 = p.readInt32();
+ params.osd25 = p.readInt32();
+ params.osd50 = p.readInt32();
+ params.osd75 = p.readInt32();
+ params.osd100 = p.readInt32();
+ int ret = mpTv->Tv_FactorySetNolineParams(noline_params_type, source_type, params);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETNOLINEPARAMS: {
+ int noline_params_type = p.readInt32();
+ int source_type = p.readInt32();
+ noline_params_t params = mpTv->Tv_FactoryGetNolineParams(noline_params_type, source_type);
+ r->writeInt32(params.osd0);
+ r->writeInt32(params.osd25);
+ r->writeInt32(params.osd50);
+ r->writeInt32(params.osd75);
+ r->writeInt32(params.osd100);
+ break;
+ }
+ case FACTORY_SETOVERSCAN: {
+ tvin_cutwin_t cutwin_t;
+ int source_type = p.readInt32();
+ int fmt = p.readInt32();
+ int status_3d = p.readInt32();
+ int trans_fmt = p.readInt32();
+ cutwin_t.hs = p.readInt32();
+ cutwin_t.he = p.readInt32();
+ cutwin_t.vs = p.readInt32();
+ cutwin_t.ve = p.readInt32();
+ int ret = mpTv->Tv_FactorySetOverscan(source_type, fmt, status_3d, trans_fmt, cutwin_t);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETOVERSCAN: {
+ int source_type = p.readInt32();
+ int fmt = p.readInt32();
+ int status_3d = p.readInt32();
+ int trans_fmt = p.readInt32();
+ tvin_cutwin_t cutwin_t = mpTv->Tv_FactoryGetOverscan(source_type, fmt, status_3d, trans_fmt);
+ r->writeInt32(cutwin_t.hs);
+ r->writeInt32(cutwin_t.he);
+ r->writeInt32(cutwin_t.vs);
+ r->writeInt32(cutwin_t.ve);
+ break;
+ }
+ case DELETE_PARAM_PQ_DB: {
+ int tmpRet = mpTv->Tv_ReplacePqDb();
+ r->writeInt32(tmpRet);
+ }
+ case REPLACE_PARAM_PQ_DB: {
+ int tmpRet;
+ String16 tmp_str16;
+ String8 value_str;
+
+ tmp_str16 = p.readString16();
+ value_str = String8(tmp_str16);
+
+ tmpRet = mpTv->Tv_ReplacePqDb(value_str.string());
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case FACTORY_SET_OUT_DEFAULT: {
+ int ret = 0;
+ ret = mpTv->Tv_SSMFacRestoreDefaultSetting();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETGLOBALOGO_RGAIN: {
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETGLOBALOGO_GGAIN: {
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETGLOBALOGO_BGAIN: {
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETGLOBALOGO_ROFFSET: {
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETGLOBALOGO_GOFFSET: {
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETGLOBALOGO_BOFFSET: {
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETGLOBALOGO_RGAIN: {
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETGLOBALOGO_GGAIN: {
+ int p1 = p.readInt32();
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETGLOBALOGO_BGAIN: {
+ int p1 = p.readInt32();
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETGLOBALOGO_ROFFSET: {
+ int p1 = p.readInt32();
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETGLOBALOGO_GOFFSET: {
+ int p1 = p.readInt32();
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETGLOBALOGO_BOFFSET: {
+ int p1 = p.readInt32();
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_CLEAN_ALL_TABLE_FOR_PROGRAM: {
+ int ret = mpTv->ClearAnalogFrontEnd();
+ mpTv->clearDbAllProgramInfoTable();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETBACKLIGHT_PWM_FREQUENCY: {
+ int value = p.readInt32();
+ int ret = 0;//mpTv->GetVpp().Tv_FactorySetBacklightPWM_Frequency(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETBACKLIGHT_PWM_FREQUENCY: {
+ int ret = 0;//mpTv->GetVpp().Tv_FactoryGetBacklightPWM_Frequency();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETBACKLIGHT_SWITCH_STATUS: {
+ int value = p.readInt32();
+ int ret = 0;//mpTv->GetVpp().Tv_FactorySetBacklight_Switch_status(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETBACKLIGHT_SWITCH_STATUS: {
+ int ret = 0;//mpTv->GetVpp().Tv_FactoryGetBacklight_Switch_status();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETBACKLIGHT_PWM_DUTY: {
+ int value = p.readInt32();
+ int ret = 0;//mpTv->GetVpp().Tv_FactorySetBacklightPWM_Duty(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETBACKLIGHT_PWM_DUTY: {
+ int ret = 0;//mpTv->GetVpp().Tv_FactoryGetBacklightPWM_Duty();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_SETLVDS_COLOR_DEPTH: {
+ int value = p.readInt32();
+ int ret = 0;//mpTv->GetVpp().Tv_FactorySetLVDS_ColorDepth(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETLVDS_COLOR_DEPTH: {
+ int ret = 0;//mpTv->GetVpp().Tv_FactoryGetLVDS_ColorDepth();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETLVDS_DITHER_STATUS: {
+ int value = p.readInt32();
+ int ret = 0;//mpTv->GetVpp().Tv_FactorySetLVDS_ColorDither_status(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETLVDS_DITHER_STATUS: {
+ int ret = 0;//mpTv->GetVpp().Tv_FactoryGetLVDS_ColorDither_status();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETLVDS_MAPPING_STATUS: {
+ int value = p.readInt32();
+ int ret = 0;//mpTv->GetVpp().Tv_FactorySetLVDS_Mapping_status(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETLVDS_MAPPING_STATUS: {
+ int ret = 0;//mpTv->GetVpp().Tv_FactoryGetLVDS_Mapping_status();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_SETLVDS_PORT_SWAP_STATUS: {
+ int value = p.readInt32();
+ int ret = 0;//mpTv->GetVpp().Tv_FactorySetLVDS_PortSwap_status(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_GETLVDS_PORT_SWAP_STATUS: {
+ int ret = 0;//mpTv->GetVpp().Tv_FactoryGetLVDS_PortSwap_status();
+ r->writeInt32(ret);
+ break;
+ }
+ // FACTORY END
+
+ // AUDIO
+ // AUDIO MUTE
+ case SET_AUDIO_MUTEKEY_STATUS: {
+ int status = p.readInt32();
+ int ret = mpTv->SetAudioMuteForSystem(status);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_MUTEKEY_STATUS: {
+ int ret = mpTv->GetAudioMuteForSystem();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AUDIO_FORCE_MUTE_STATUS: {
+ int status = p.readInt32();
+ int ret = 0;//pTv->getTvAudio().AudioSetForceMuteStatus(status);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_FORCE_MUTE_STATUS: {
+ int ret = 0;//mpTv->AudioGetForceMuteStatus();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AUDIO_AVOUT_MUTE_STATUS: {
+ int status = p.readInt32();
+ int ret = mpTv->SetAudioAVOutMute(status);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_AVOUT_MUTE_STATUS: {
+ int ret = mpTv->GetAudioAVOutMute();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AUDIO_SPDIF_MUTE_STATUS: {
+ int status = p.readInt32();
+ int ret = mpTv->SetAudioSPDIFMute(status);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_SPDIF_MUTE_STATUS: {
+ int ret = mpTv->GetAudioSPDIFMute();
+ r->writeInt32(ret);
+ break;
+ }
+ // AUDIO MASTER VOLUME
+ case SET_AUDIO_MASTER_VOLUME: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioMasterVolume(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_MASTER_VOLUME: {
+ int ret = mpTv->GetAudioMasterVolume();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_MASTER_VOLUME: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioMasterVolume(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_MASTER_VOLUME: {
+ int ret = mpTv->GetCurAudioMasterVolume();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO BALANCE
+ case SET_AUDIO_BALANCE: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioBalance(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_BALANCE: {
+ int ret = mpTv->GetAudioBalance();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_BALANCE: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioBalance(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_BALANCE: {
+ int ret = mpTv->GetCurAudioBalance();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO SUPPERBASS VOLUME
+ case SET_AUDIO_SUPPER_BASS_VOLUME: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioSupperBassVolume(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_SUPPER_BASS_VOLUME: {
+ int ret = mpTv->GetAudioSupperBassVolume();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_SUPPER_BASS_VOLUME: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioSupperBassVolume(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_SUPPER_BASS_VOLUME: {
+ int ret = mpTv->GetCurAudioSupperBassVolume();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO SUPPERBASS SWITCH
+ case SET_AUDIO_SUPPER_BASS_SWITCH: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioSupperBassSwitch(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_SUPPER_BASS_SWITCH: {
+ int ret = mpTv->GetAudioSupperBassSwitch();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_SUPPER_BASS_SWITCH: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioSupperBassSwitch(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_SUPPER_BASS_SWITCH: {
+ int ret = mpTv->GetCurAudioSupperBassSwitch();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO SRS SURROUND SWITCH
+ case SET_AUDIO_SRS_SURROUND: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioSRSSurround(vol);
+ mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_SRS_SURROUND: {
+ int ret = mpTv->GetAudioSRSSurround();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_SRS_SURROUND: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioSrsSurround(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_SRS_SURROUND: {
+ int ret = mpTv->GetCurAudioSRSSurround();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO SRS DIALOG CLARITY
+ case SET_AUDIO_SRS_DIALOG_CLARITY: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioSrsDialogClarity(vol);
+ mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_SRS_DIALOG_CLARITY: {
+ int ret = mpTv->GetAudioSrsDialogClarity();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_SRS_DIALOG_CLARITY: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioSrsDialogClarity(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_SRS_DIALOG_CLARITY: {
+ int ret = mpTv->GetCurAudioSrsDialogClarity();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO SRS TRUBASS
+ case SET_AUDIO_SRS_TRU_BASS: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioSrsTruBass(vol);
+ mpTv->RefreshAudioMasterVolume(SOURCE_MAX);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_SRS_TRU_BASS: {
+ int ret = mpTv->GetAudioSrsTruBass();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_SRS_TRU_BASS: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioSrsTruBass(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_SRS_TRU_BASS: {
+ int ret = mpTv->GetCurAudioSrsTruBass();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO BASS
+ case SET_AUDIO_BASS_VOLUME: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioBassVolume(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_BASS_VOLUME: {
+ int ret = mpTv->GetAudioBassVolume();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_BASS_VOLUME: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioBassVolume(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_BASS_VOLUME: {
+ int ret = mpTv->GetCurAudioBassVolume();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO TREBLE
+ case SET_AUDIO_TREBLE_VOLUME: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioTrebleVolume(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_TREBLE_VOLUME: {
+ int ret = mpTv->GetAudioTrebleVolume();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_TREBLE_VOLUME: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioTrebleVolume(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_TREBLE_VOLUME: {
+ int ret = mpTv->GetCurAudioTrebleVolume();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO SOUND MODE
+ case SET_AUDIO_SOUND_MODE: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioSoundMode(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_SOUND_MODE: {
+ int ret = mpTv->GetAudioSoundMode();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_SOUND_MODE: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioSoundMode(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_SOUND_MODE: {
+ int ret = mpTv->GetCurAudioSoundMode();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO WALL EFFECT
+ case SET_AUDIO_WALL_EFFECT: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioWallEffect(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_WALL_EFFECT: {
+ int ret = mpTv->GetAudioWallEffect();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_WALL_EFFECT: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioWallEffect(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_WALL_EFFECT: {
+ int ret = mpTv->GetCurAudioWallEffect();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO EQ MODE
+ case SET_AUDIO_EQ_MODE: {
+ int vol = p.readInt32();
+ int ret = mpTv->SetAudioEQMode(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_EQ_MODE: {
+ int ret = mpTv->GetAudioEQMode();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_EQ_MODE: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioEQMode(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_EQ_MODE: {
+ int ret = mpTv->GetCurAudioEQMode();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO EQ GAIN
+ case GET_AUDIO_EQ_RANGE: {
+ int buf[2];
+ int ret = mpTv->GetAudioEQRange(buf);
+ r->writeInt32(2);
+ r->writeInt32(buf[0]);
+ r->writeInt32(buf[1]);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_EQ_BAND_COUNT: {
+ int ret = mpTv->GetAudioEQBandCount();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AUDIO_EQ_GAIN: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ tmp_buf_size = p.readInt32();
+ for (i = 0; i < tmp_buf_size; i++) {
+ tmp_i_buf[i] = p.readInt32();
+ }
+ ret = mpTv->SetAudioEQGain(tmp_i_buf);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_EQ_GAIN: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ ret = mpTv->GetAudioEQGain(tmp_i_buf);
+ tmp_buf_size = mpTv->GetAudioEQBandCount();
+ r->writeInt32(tmp_buf_size);
+ for (i = 0; i < tmp_buf_size; i++) {
+ r->writeInt32(tmp_i_buf[i]);
+ }
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_EQ_GAIN: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ tmp_buf_size = p.readInt32();
+ for (i = 0; i < tmp_buf_size; i++) {
+ tmp_i_buf[i] = p.readInt32();
+ }
+ ret = mpTv->SaveCurAudioEQGain(tmp_i_buf);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_EQ_GAIN: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ ret = mpTv->GetCurAudioEQGain(tmp_i_buf);
+ tmp_buf_size = mpTv->GetAudioEQBandCount();
+ r->writeInt32(tmp_buf_size);
+ for (i = 0; i < tmp_buf_size; i++) {
+ r->writeInt32(tmp_i_buf[i]);
+ }
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AUDIO_EQ_SWITCH: {
+ int tmpVal = p.readInt32();
+ int ret = mpTv->SetAudioEQSwitch(tmpVal);
+ r->writeInt32(ret);
+ break;
+ }
+ // AUDIO SPDIF SWITCH
+ case SET_AUDIO_SPDIF_SWITCH: {
+ int tmp_val = p.readInt32();
+ int ret = mpTv->SetAudioSPDIFSwitch(tmp_val);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_SPDIF_SWITCH: {
+ int ret = 0;//mpTv->GetAudioSPDIFSwitch();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_SPDIF_SWITCH: {
+ int tmp_val = p.readInt32();
+ int ret = mpTv->SaveCurAudioSPDIFSwitch(tmp_val);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_SPDIF_SWITCH: {
+ int ret = mpTv->GetCurAudioSPDIFSwitch();
+ r->writeInt32(ret);
+ break;
+ }
+ //AUDIO SPDIF MODE
+ case SET_AUDIO_SPDIF_MODE: {
+ int vol = p.readInt32();
+ int progId = p.readInt32();
+ int audioTrackId = p.readInt32();
+ int ret = mpTv->SetAudioSPDIFMode(vol);
+ mpTv->ResetAudioDecoderForPCMOutput();
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_SPDIF_MODE: {
+ int ret = 0;//mpTv->GetAudioSPDIFMode();
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_CUR_AUDIO_SPDIF_MODE: {
+ int vol = p.readInt32();
+ int ret = mpTv->SaveCurAudioSPDIFMode(vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_CUR_AUDIO_SPDIF_MODE: {
+ int ret = mpTv->GetCurAudioSPDIFMode();
+ r->writeInt32(ret);
+ break;
+ }
+ case OPEN_AMAUDIO: {
+ int sr = p.readInt32();
+ int output_dev = p.readInt32();
+ int ret = 0;//mpTv->OpenAmAudio(sr, output_dev);
+ r->writeInt32(ret);
+ break;
+ }
+ case CLOSE_AMAUDIO: {
+ int ret = 0;//mpTv->CloseAmAudio();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AMAUDIO_INPUT_SR: {
+ int sr = p.readInt32();
+ int output_dev = p.readInt32();
+ int ret = 0;//mpTv->SetAmAudioInputSr(sr, output_dev);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AMAUDIO_OUTPUT_MODE: {
+ int tmp_val = p.readInt32();
+ int ret = mpTv->SetAmAudioOutputMode(tmp_val);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AMAUDIO_MUSIC_GAIN: {
+ int tmp_val = p.readInt32();
+ int ret = mpTv->SetAmAudioMusicGain(tmp_val);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AMAUDIO_LEFT_GAIN: {
+ int tmp_val = p.readInt32();
+ int ret = mpTv->SetAmAudioLeftGain(tmp_val);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AMAUDIO_RIGHT_GAIN: {
+ int tmp_val = p.readInt32();
+ int ret = mpTv->SetAmAudioRightGain(tmp_val);
+ r->writeInt32(ret);
+ break;
+ }
+ case SELECT_LINE_IN_CHANNEL: {
+ int channel = p.readInt32();
+ int ret = mpTv->AudioLineInSelectChannel(channel);
+ r->writeInt32(ret);
+ LOGD("SELECT_LINE_IN_CHANNEL: channel = %d; ret = %d.\n", channel, ret);
+ break;
+ }
+ case SET_KALAOK_IO_LEVEL: {
+ int level = p.readInt32();
+ int ret = mpTv->SetKalaokIO(level);
+ ret = mpTv->AudioSetAudioInSource(CC_AUDIO_IN_SOURCE_LINEIN);
+ r->writeInt32(ret);
+ LOGD("set line in source CC_AUDIO_IN_SOURCE_LINEIN\n");
+ break;
+ }
+
+ case SET_LINE_IN_CAPTURE_VOL: {
+ int l_vol = p.readInt32();
+ int r_vol = p.readInt32();
+ int ret = mpTv->AudioSetLineInCaptureVolume(l_vol, r_vol);
+ r->writeInt32(ret);
+ break;
+ }
+ case HANDLE_AUDIO_HEADSET_PLUG_IN: {
+ int ret = mpTv->AudioHandleHeadsetPlugIn();
+ r->writeInt32(ret);
+ break;
+ }
+ case HANDLE_AUDIO_HEADSET_PULL_OUT: {
+ int ret = mpTv->AudioHandleHeadsetPullOut();
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AUDIO_VOL_COMP: {
+ int tmpVal = p.readInt32();
+ int ret = mpTv->SetCurProgramAudioVolumeCompensationVal(tmpVal);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUDIO_VOL_COMP: {
+ int ret = mpTv->GetAudioVolumeCompensationVal(-1);
+ r->writeInt32(ret);
+ break;
+ }
+ case SAVE_AUDIO_VOL_COMP: {
+ int tmpVal = p.readInt32();
+ int ret = -1;//mpTv->atvSaveAudioVolumeCompensationVal(tmpVal);
+ LOGD("this cmd is empty!!!!!!!!!!!!!!!!!!!");
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_NOISE_GATE_THRESHOLD: {
+ int ret = 0;
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_AUDIO_SOURCE_FOR_KARAOKE: {
+ int sourceinput = p.readInt32();
+ int ret = mpTv->Tv_SetAudioSourceType((tv_source_input_t)sourceinput);
+ r->writeInt32(ret);
+ break;
+ }
+ case SET_DBX_TV_MODE: {
+ int mode = p.readInt32();
+ int son_value = p.readInt32();
+ int vol_value = p.readInt32();
+ int sur_value = p.readInt32();
+ int ret = mpTv->SetDbxTvMode(mode, son_value, vol_value, sur_value);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_DBX_TV_MODE: {
+ int mode ;
+ int son_value ;
+ int vol_value ;
+ int sur_value ;
+ int ret = mpTv->GetDbxTvMode(&mode, &son_value, &vol_value, &sur_value);
+ r->writeInt32(mode);
+ r->writeInt32(son_value);
+ r->writeInt32(vol_value);
+ r->writeInt32(sur_value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case SET_DRC_ONOFF: {
+ int val = p.readInt32();
+ int ret = mpTv->Tv_SetDRC_OnOff(val);
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_DRC_ONOFF: {
+ int ret = mpTv->Tv_GetDRC_OnOff();
+ r->writeInt32(ret);
+ break;
+ }
+ // AUDIO END
+
+ // SSM
+ case SSM_INIT_DEVICE: {
+ int tmpRet = 0;
+ tmpRet = mpTv->Tv_SSMRestoreDefaultSetting();//mpTv->Tv_SSMInitDevice();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ /*case SSM_SAVE_ONE_BYTE: {
+ int tmpOffset = p.readInt32();
+ int tmpVal = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMWriteOneByte(tmpOffset, tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_ONE_BYTE: {
+ int tmpOffset = p.readInt32();
+ int tmpRet = 0;
+ SSMReadOneByte(tmpOffset, &tmpRet);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_N_BYTES: {
+ int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
+
+ tmp_offset = p.readInt32();
+ tmp_data_len = p.readInt32();
+
+ if (tmp_data_len > 0) {
+ data_ptr = new int[tmp_data_len];
+
+ if (data_ptr != NULL) {
+ for (i = 0; i < tmp_data_len; i++) {
+ data_ptr[i] = p.readInt32();
+ }
+
+ ret = SSMWriteNTypes(tmp_offset, tmp_data_len, data_ptr);
+
+ delete data_ptr;
+ data_ptr = NULL;
+ }
+ }
+
+ r->writeInt32(ret);
+ break;
+ }
+ case SSM_READ_N_BYTES: {
+ int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
+ tmp_offset = p.readInt32();
+ tmp_data_len = p.readInt32();
+
+ if (tmp_data_len > 0) {
+ data_ptr = new int[tmp_data_len];
+ if (data_ptr != NULL) {
+ ret = SSMReadNTypes(tmp_offset, tmp_data_len, data_ptr);
+ if (ret < 0) {
+ tmp_data_len = 0;
+ }
+ r->writeInt32(tmp_data_len);
+ for (i = 0; i < tmp_data_len; i++) {
+ r->writeInt32(data_ptr[i]);
+ }
+ delete data_ptr;
+ data_ptr = NULL;
+ }
+ }
+ r->writeInt32(ret);
+ break;
+ }*/
+ case SSM_SAVE_POWER_ON_OFF_CHANNEL: {
+ int tmpPowerChanNum = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSavePowerOnOffChannel(tmpPowerChanNum);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_POWER_ON_OFF_CHANNEL: {
+ int tmpRet = 0;
+ tmpRet = SSMReadPowerOnOffChannel();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_SOURCE_INPUT: {
+ int tmpSouceInput = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveSourceInput(tmpSouceInput);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_SOURCE_INPUT: {
+ int tmpRet = 0;
+ tmpRet = SSMReadSourceInput();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_LAST_SOURCE_INPUT: {
+ int tmpLastSouceInput = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveLastSelectSourceInput(tmpLastSouceInput);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_LAST_SOURCE_INPUT: {
+ int tmpRet = 0;
+ tmpRet = SSMReadLastSelectSourceInput();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_SYS_LANGUAGE: {
+ int tmpVal = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveSystemLanguage(tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_SYS_LANGUAGE: {
+ int tmpRet = 0;
+ tmpRet = SSMReadSystemLanguage();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_AGING_MODE: {
+ int tmpVal = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveAgingMode(tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_AGING_MODE: {
+ int tmpRet = 0;
+ tmpRet = SSMReadAgingMode();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_PANEL_TYPE: {
+ int tmpVal = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSavePanelType(tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_PANEL_TYPE: {
+ int tmpRet = 0;
+ tmpRet = SSMReadPanelType();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_MAC_ADDR: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ tmp_buf_size = p.readInt32();
+ for (i = 0; i < tmp_buf_size; i++) {
+ tmp_uc_buf[i] = p.readInt32();
+ }
+ ret = KeyData_SaveMacAddress(tmp_uc_buf);
+ r->writeInt32(ret);
+ break;
+ }
+ case SSM_READ_MAC_ADDR: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ ret = KeyData_ReadMacAddress(tmp_uc_buf);
+ tmp_buf_size = KeyData_GetMacAddressDataLen();
+ r->writeInt32(tmp_buf_size);
+ for (i = 0; i < tmp_buf_size; i++) {
+ r->writeInt32(tmp_uc_buf[i]);
+ }
+ r->writeInt32(ret);
+ break;
+ }
+ case SSM_SAVE_BAR_CODE: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ tmp_buf_size = p.readInt32();
+ for (i = 0; i < tmp_buf_size; i++) {
+ tmp_uc_buf[i] = p.readInt32();
+ }
+ ret = KeyData_SaveBarCode(tmp_uc_buf);
+ r->writeInt32(ret);
+ break;
+ }
+ case SSM_READ_BAR_CODE: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ ret = KeyData_ReadBarCode(tmp_uc_buf);
+ tmp_buf_size = KeyData_GetBarCodeDataLen();
+ r->writeInt32(tmp_buf_size);
+ for (i = 0; i < tmp_buf_size; i++) {
+ r->writeInt32(tmp_uc_buf[i]);
+ }
+ r->writeInt32(ret);
+ break;
+ }
+ case SSM_SAVE_PROJECT_ID: {
+ int tmpVal = p.readInt32();
+ int tmpRet;
+ tmpRet = KeyData_SaveProjectID(tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_PROJECT_ID: {
+ int tmpRet = 0;
+ tmpRet = KeyData_ReadProjectID();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_HDCPKEY: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ tmp_buf_size = p.readInt32();
+ for (i = 0; i < tmp_buf_size; i++) {
+ tmp_uc_buf[i] = p.readInt32();
+ }
+ ret = SSMSaveHDCPKey(tmp_uc_buf);
+ r->writeInt32(ret);
+ break;
+ }
+ case SSM_READ_HDCPKEY: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ ret = SSMReadHDCPKey(tmp_uc_buf);
+ tmp_buf_size = SSMGetHDCPKeyDataLen();
+ r->writeInt32(tmp_buf_size);
+ for (i = 0; i < tmp_buf_size; i++) {
+ r->writeInt32(tmp_uc_buf[i]);
+ }
+ r->writeInt32(ret);
+ break;
+ }
+ case SSM_SAVE_POWER_ON_MUSIC_SWITCH: {
+ int tmpVal = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSavePowerOnMusicSwitch(tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_POWER_ON_MUSIC_SWITCH: {
+ int tmpRet = 0;
+ tmpRet = SSMReadPowerOnMusicSwitch();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_POWER_ON_MUSIC_VOL: {
+ int tmpVal = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSavePowerOnMusicVolume(tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_POWER_ON_MUSIC_VOL: {
+ int tmpRet = 0;
+ tmpRet = SSMReadPowerOnMusicVolume();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_SYS_SLEEP_TIMER: {
+ int tmpVal = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveSystemSleepTimer(tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_SYS_SLEEP_TIMER: {
+ int tmpRet = 0;
+ tmpRet = SSMReadSystemSleepTimer();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SET_BUS_STATUS: {
+ int tmpVal = p.readInt32();
+ int tmpRet = 0;
+ //showboz
+ //tmpRet = SSMSetBusStatus(tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_GET_BUS_STATUS: {
+ int tmpRet = 0;
+ //showboz
+ //tmpRet = SSMGetBusStatus();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_INPUT_SRC_PARENTAL_CTL: {
+ int tmpSourceIndex = p.readInt32();
+ int tmpCtlFlag = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveInputSourceParentalControl(tmpSourceIndex, tmpCtlFlag);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_INPUT_SRC_PARENTAL_CTL: {
+ int tmpSourceIndex = p.readInt32();
+ int tmpRet = 0;
+ tmpRet = SSMReadInputSourceParentalControl(tmpSourceIndex);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_PARENTAL_CTL_SWITCH: {
+ int tmpSwitchFlag = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveParentalControlSwitch(tmpSwitchFlag);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_PARENTAL_CTL_SWITCH: {
+ int tmpRet = 0;
+ tmpRet = SSMReadParentalControlSwitch();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_PARENTAL_CTL_PASS_WORD: {
+ String16 pass_wd_str = p.readString16();
+ int tmpRet;
+ tmpRet = SSMSaveParentalControlPassWord((unsigned char *)pass_wd_str.string(), pass_wd_str.size() * sizeof(unsigned short));
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_PARENTAL_CTL_PASS_WORD: {
+ int tmpChanID = p.readInt32();
+ unsigned short tmp_buf [SSM_RW_PARENTAL_CTL_PASSWORD_LEN + 1];
+ String16 pass_wd_str;
+ SSMReadParentalControlPassWord(tmp_buf);
+ tmp_buf[SSM_RW_PARENTAL_CTL_PASSWORD_LEN / sizeof(unsigned short)] = 0;
+ //pass_wd_str.setTo((const unsigned short *) tmp_buf);
+ //r->writeString16(pass_wd_str);
+ break;
+ }
+ case SSM_SAVE_USING_DEF_HDCP_KEY_FLAG: {
+ break;
+ }
+ case SSM_READ_USING_DEF_HDCP_KEY_FLAG: {
+ break;
+ }
+ case SSM_GET_CUSTOMER_DATA_START: {
+ int tmpRet = 0;
+ tmpRet = SSMGetCustomerDataStart();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_GET_CUSTOMER_DATA_LEN: {
+ int tmpRet = 0;
+ tmpRet = SSMGetCustomerDataLen();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_STANDBY_MODE: {
+ int tmp_val = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveStandbyMode(tmp_val);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_STANDBY_MODE: {
+ int tmpRet = 0;
+ tmpRet = SSMReadStandbyMode();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_LOGO_ON_OFF_FLAG: {
+ int tmpSwitchFlag = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveLogoOnOffFlag(tmpSwitchFlag);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_LOGO_ON_OFF_FLAG: {
+ int tmpRet = 0;
+ tmpRet = SSMReadLogoOnOffFlag();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_HDMIEQ_MODE: {
+ int tmpSwitchFlag = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveHDMIEQMode(tmpSwitchFlag);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_HDMIEQ_MODE: {
+ int tmpRet = 0;
+ tmpRet = SSMReadHDMIEQMode();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_HDMIINTERNAL_MODE: {
+ int tmp_val = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveHDMIInternalMode(tmp_val);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_HDMIINTERNAL_MODE: {
+ int tmpRet = 0;
+ tmpRet = SSMReadHDMIInternalMode();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_DISABLE_3D: {
+ int tmp_val = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveDisable3D(tmp_val);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_DISABLE_3D: {
+ int tmpRet = 0;
+ tmpRet = SSMReadDisable3D();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_GLOBAL_OGOENABLE: {
+ int tmp_val = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveGlobalOgoEnable(tmp_val);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_GLOBAL_OGOENABLE: {
+ int tmpRet = 0;
+ tmpRet = SSMReadGlobalOgoEnable();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_NON_STANDARD_STATUS: {
+ int tmp_val = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveNonStandardValue(tmp_val);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_NON_STANDARD_STATUS: {
+ int tmpRet = 0;
+ tmpRet = SSMReadNonStandardValue();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_ADB_SWITCH_STATUS: {
+ int tmp_val = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveAdbSwitchValue(tmp_val);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_ADB_SWITCH_STATUS: {
+ int tmpRet = 0;
+ tmpRet = SSMReadAdbSwitchValue();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_SERIAL_CMD_SWITCH_STATUS: {
+ int tmp_val = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveSerialCMDSwitchValue(tmp_val);
+ tmpRet |= mpTv->SetSerialSwitch(SERIAL_A, tmp_val);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_SERIAL_CMD_SWITCH_STATUS: {
+ int tmpRet = 0;
+ tmpRet = SSMReadSerialCMDSwitchValue();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SET_HDCP_KEY: {
+ int tmpRet = 0;
+ tmpRet = SSMSetHDCPKey();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_REFRESH_HDCPKEY: {
+ int tmpRet = 0;
+ tmpRet = SSMRefreshHDCPKey();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_CHROMA_STATUS: {
+ int tmp_val = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveChromaStatus(tmp_val);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_CA_BUFFER_SIZE: {
+ int tmp_val = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveCABufferSizeValue(tmp_val);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_CA_BUFFER_SIZE: {
+ int tmpRet = 0;
+ tmpRet = SSMReadCABufferSizeValue();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_GET_ATV_DATA_START: {
+ int tmpRet = 0;
+ tmpRet = SSMGetATVDataStart();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_GET_ATV_DATA_LEN: {
+ int tmpRet = 0;
+ tmpRet = SSMGetATVDataLen();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_GET_VPP_DATA_START: {
+ int tmpRet = 0;
+ tmpRet = SSMGetVPPDataStart();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_GET_VPP_DATA_LEN: {
+ int tmpRet = 0;
+ tmpRet = SSMGetVPPDataLen();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_SAVE_NOISE_GATE_THRESHOLD_STATUS: {
+ int tmp_val = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveNoiseGateThresholdValue(tmp_val);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_READ_NOISE_GATE_THRESHOLD_STATUS: {
+ int tmpRet = 0;
+ tmpRet = SSMReadNoiseGateThresholdValue();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_EEPROM_SAVE_ONE_BYTE_N310_N311: {
+ int tmpOffset = p.readInt32();
+ int tmpVal = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveEEP_One_N310_N311(tmpOffset, tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_EEPROM_READ_ONE_BYTE_N310_N311: {
+ int tmpOffset = p.readInt32();
+ int tmpRet = 0;
+ tmpRet = SSMReadEEP_One_N310_N311(tmpOffset);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_EEPROM_SAVE_N_BYTES_N310_N311: {
+ int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
+
+ tmp_offset = p.readInt32();
+ tmp_data_len = p.readInt32();
+
+ if (tmp_data_len > 0) {
+ data_ptr = new int[tmp_data_len];
+
+ if (data_ptr != NULL) {
+ for (i = 0; i < tmp_data_len; i++) {
+ data_ptr[i] = p.readInt32();
+ }
+
+ ret = SSMSaveEEP_N_N310_N311(tmp_offset, tmp_data_len, data_ptr);
+
+ delete data_ptr;
+ data_ptr = NULL;
+ }
+ }
+
+ r->writeInt32(ret);
+ break;
+ }
+ case SSM_EEPROM_READ_N_BYTES_N310_N311: {
+ int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
+ tmp_offset = p.readInt32();
+ tmp_data_len = p.readInt32();
+
+ if (tmp_data_len > 0) {
+ data_ptr = new int[tmp_data_len];
+ if (data_ptr != NULL) {
+ ret = SSMReadEEP_N_N310_N311(tmp_offset, tmp_data_len, data_ptr);
+ if (ret < 0) {
+ tmp_data_len = 0;
+ }
+ r->writeInt32(tmp_data_len);
+ for (i = 0; i < tmp_data_len; i++) {
+ r->writeInt32(data_ptr[i]);
+ }
+ delete data_ptr;
+ data_ptr = NULL;
+ }
+ }
+ r->writeInt32(ret);
+ break;
+ }
+ case SSM_FLASH_SAVE_ONE_BYTE_N310_N311: {
+ int tmpOffset = p.readInt32();
+ int tmpVal = p.readInt32();
+ int tmpRet;
+ tmpRet = SSMSaveFlash_One_N310_N311(tmpOffset, tmpVal);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_FLASH_READ_ONE_BYTE_N310_N311: {
+ int tmpOffset = p.readInt32();
+ int tmpRet = 0;
+ tmpRet = SSMReadFlash_One_N310_N311(tmpOffset);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case SSM_FLASH_SAVE_N_BYTES_N310_N311: {
+ int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
+
+ tmp_offset = p.readInt32();
+ tmp_data_len = p.readInt32();
+
+ if (tmp_data_len > 0) {
+ data_ptr = new int[tmp_data_len];
+
+ if (data_ptr != NULL) {
+ for (i = 0; i < tmp_data_len; i++) {
+ data_ptr[i] = p.readInt32();
+ }
+
+ ret = SSMSaveFlash_N_N310_N311(tmp_offset, tmp_data_len, data_ptr);
+
+ delete data_ptr;
+ data_ptr = NULL;
+ }
+ }
+
+ r->writeInt32(ret);
+ break;
+ }
+ case SSM_FLASH_READ_N_BYTES_N310_N311: {
+ int i = 0, tmp_offset = 0, tmp_data_len = 0, ret = -1;
+ tmp_offset = p.readInt32();
+ tmp_data_len = p.readInt32();
+
+ if (tmp_data_len > 0) {
+ data_ptr = new int[tmp_data_len];
+ if (data_ptr != NULL) {
+ ret = SSMReadFlash_N_N310_N311(tmp_offset, tmp_data_len, data_ptr);
+ if (ret < 0) {
+ tmp_data_len = 0;
+ }
+ r->writeInt32(tmp_data_len);
+ for (i = 0; i < tmp_data_len; i++) {
+ r->writeInt32(data_ptr[i]);
+ }
+ delete data_ptr;
+ data_ptr = NULL;
+ }
+ }
+ r->writeInt32(ret);
+ break;
+ }
+ // SSM END
+
+ //MISC
+ case MISC_PROP_SET: {
+ int tmpRet;
+ String16 tmp_str16;
+ String8 key_str, value_str;
+
+ tmp_str16 = p.readString16();
+ key_str = String8(tmp_str16);
+ tmp_str16 = p.readString16();
+ value_str = String8(tmp_str16);
+
+ tmpRet = property_set(key_str.string(), value_str.string());
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case MISC_PROP_GET: {
+ char prop_value[PROPERTY_VALUE_MAX];
+ String16 tmp_str16;
+ String8 key_str, def_str;
+
+ tmp_str16 = p.readString16();
+ key_str = String8(tmp_str16);
+ tmp_str16 = p.readString16();
+ def_str = String8(tmp_str16);
+
+ memset(prop_value, '\0', PROPERTY_VALUE_MAX);
+ property_get(key_str.string(), prop_value, def_str.string());
+ tmp_str16 = String16(prop_value);
+
+ r->writeString16(tmp_str16);
+ break;
+ }
+ case MISC_CFG_SET: {
+ int tmpRet;
+ String16 tmp_str16;
+ String8 key_str, value_str;
+
+ tmp_str16 = p.readString16();
+ key_str = String8(tmp_str16);
+ tmp_str16 = p.readString16();
+ value_str = String8(tmp_str16);
+
+ tmpRet = config_set_str(CFG_SECTION_TV, key_str.string(), value_str.string());
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case MISC_CFG_GET: {
+ const char *prop_value;
+ String16 tmp_str16;
+ String8 key_str, def_str;
+
+ tmp_str16 = p.readString16();
+ key_str = String8(tmp_str16);
+ tmp_str16 = p.readString16();
+ def_str = String8(tmp_str16);
+
+ prop_value = config_get_str(CFG_SECTION_TV, key_str.string(), def_str.string());
+ tmp_str16 = String16(prop_value);
+
+ r->writeString16(tmp_str16);
+ break;
+ }
+ case MISC_READ_ADC_VAL: {
+ int tmpChanNum = p.readInt32();
+ int tmpRet = 0;
+ tmpRet = ReadADCSpecialChannelValue(tmpChanNum);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case MISC_SET_WDT_USER_PET: {
+ int counter = p.readInt32();
+ int ret = TvMisc_SetUserCounter(counter);
+ r->writeInt32(ret);
+ break;
+ }
+ case MISC_SET_WDT_USER_COUNTER: {
+ int counter_time_out = p.readInt32();
+ int ret = TvMisc_SetUserCounterTimeOut(counter_time_out);
+ r->writeInt32(ret);
+ break;
+ }
+ case MISC_SET_WDT_USER_PET_RESET_ENABLE: {
+ int enable = p.readInt32();
+ int ret = TvMisc_SetUserPetResetEnable(enable);
+ r->writeInt32(ret);
+ break;
+ }
+ case MISC_GET_TV_API_VERSION: {
+ const char *tmp_str8;
+ String16 tmp_str16;
+
+ // write tvapi version info
+ tmp_str8 = tvservice_get_git_branch_info();
+ tmp_str16 = String16(tmp_str8);
+ r->writeString16(tmp_str16);
+
+ tmp_str8 = tvservice_get_git_version_info();
+ tmp_str16 = String16(tmp_str8);
+ r->writeString16(tmp_str16);
+
+ tmp_str8 = tvservice_get_last_chaned_time_info();
+ tmp_str16 = String16(tmp_str8);
+ r->writeString16(tmp_str16);
+
+ tmp_str8 = tvservice_get_build_time_info();
+ tmp_str16 = String16(tmp_str8);
+ r->writeString16(tmp_str16);
+
+ tmp_str8 = tvservice_get_build_name_info();
+ tmp_str16 = String16(tmp_str8);
+ r->writeString16(tmp_str16);
+ break;
+ }
+ case MISC_GET_DVB_API_VERSION: {
+ const char *tmp_str8;
+ String16 tmp_str16;
+
+ // write dvb version info
+ tmp_str8 = dvb_get_git_branch_info();
+ tmp_str16 = String16(tmp_str8);
+ r->writeString16(tmp_str16);
+
+ tmp_str8 = dvb_get_git_version_info();
+ tmp_str16 = String16(tmp_str8);
+ r->writeString16(tmp_str16);
+
+ tmp_str8 = dvb_get_last_chaned_time_info();
+ tmp_str16 = String16(tmp_str8);
+ r->writeString16(tmp_str16);
+
+ tmp_str8 = dvb_get_build_time_info();
+ tmp_str16 = String16(tmp_str8);
+ r->writeString16(tmp_str16);
+
+ tmp_str8 = dvb_get_build_name_info();
+ tmp_str16 = String16(tmp_str8);
+ r->writeString16(tmp_str16);
+
+ break;
+ }
+ case MISC_SERIAL_SWITCH: {
+ int dev_id = p.readInt32();
+ int switch_val = p.readInt32();
+ int ret = mpTv->SetSerialSwitch(dev_id, switch_val);
+ r->writeInt32(ret);
+ break;
+ }
+ case MISC_SERIAL_SEND_DATA: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+
+ int dev_id = p.readInt32();
+
+ tmp_buf_size = p.readInt32();
+ if (tmp_buf_size > sizeof(tmp_uc_buf)) {
+ tmp_buf_size = sizeof(tmp_uc_buf);
+ }
+
+ for (i = 0; i < tmp_buf_size; i++) {
+ tmp_uc_buf[i] = p.readInt32() & 0xFF;
+ }
+
+ ret = mpTv->SendSerialData(dev_id, tmp_buf_size, tmp_uc_buf);
+ r->writeInt32(ret);
+ break;
+ }
+ case MISC_CHANNEL_EXPORT: {
+ LOGD("MISC_CHANNEL_EXPORT");
+ int ret = 0;
+ String16 tmp_str16;
+ String8 tmp_str;
+
+ tmp_str16 = p.readString16();
+ tmp_str = String8(tmp_str16);
+
+ ret = mpTv->ChannelExport(tmp_str.string());
+ r->writeInt32(ret);
+ break;
+ }
+ case MISC_CHANNEL_IMPORT: {
+ LOGD("MISC_CHANNEL_IMPORT");
+ String16 tmp_str16;
+ String8 tmp_str;
+
+ tmp_str16 = p.readString16();
+ tmp_str = String8(tmp_str16);
+ int ret = 0;
+ ret = mpTv->ChannelImport(tmp_str.string());
+ r->writeInt32(ret);
+ break;
+ }
+ case MISC_GET_PROJECT_INFO: {
+ String16 tmp_str16;
+ project_info_t tmpInfo;
+
+ if (mpTv->Tv_GetProjectInfo(&tmpInfo) < 0) {
+ strcpy(tmpInfo.version, "UNKOWN");
+ strcpy(tmpInfo.panel_type, "UNKOWN");
+ strcpy(tmpInfo.panel_outputmode, "UNKOWN");
+ strcpy(tmpInfo.panel_rev, "UNKOWN");
+ strcpy(tmpInfo.panel_name, "UNKOWN");
+ strcpy(tmpInfo.amp_curve_name, "UNKOWN");
+ }
+
+ r->writeString16(String16(tmpInfo.version));
+ r->writeString16(String16(tmpInfo.panel_type));
+ r->writeString16(String16(tmpInfo.panel_outputmode));
+ r->writeString16(String16(tmpInfo.panel_rev));
+ r->writeString16(String16(tmpInfo.panel_name));
+ r->writeString16(String16(tmpInfo.amp_curve_name));
+ break;
+ }
+ case MISC_GET_PLATFORM_TYPE: {
+ int ret = mpTv->Tv_GetPlatformType();
+ r->writeInt32(ret);
+ break;
+ }
+ //MISC END
+
+ // EXTAR
+ case SET_DEBUG_SERIAL_PORT_ONOFF: {
+ int on_off = p.readInt32();
+ int ret = mpTv->SetDebugSerialOnOff(on_off);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case GET_DEBUG_SERIAL_PORT_ONOFF: {
+ int ret = mpTv->GetDebugSerialOnOff();
+ r->writeInt32(ret);
+ break;
+ }
+ case DELETE_DIR_FILES: {
+ String16 strPath = p.readString16();
+ if (strPath.size() <= 0) {
+ r->writeInt32(-1);
+ break;
+ }
+ String8 strP8 = String8(strPath);
+ int tmp_flag = p.readInt32();
+ int ret = TvMisc_DeleteDirFiles(strP8.string(), tmp_flag);
+ r->writeInt32(ret);
+ break;
+ }
+ case DTV_SUBTITLE_INIT: {
+ int bitmapWidth = p.readInt32();
+ int bitmapHeight = p.readInt32();
+ r->writeInt32(mpTv->initSubtitle(bitmapWidth, bitmapHeight));
+ break;
+ }
+ case DTV_SUBTITLE_LOCK: {
+ r->writeInt32(mpTv->lockSubtitle());
+ break;
+ }
+ case DTV_SUBTITLE_UNLOCK: {
+ r->writeInt32(mpTv->unlockSubtitle());
+ break;
+ }
+ case DTV_GET_SUBTITLE_SWITCH: {
+ r->writeInt32(mpTv->getSubSwitchStatus());
+ break;
+ }
+ case DTV_START_SUBTITLE: {
+ int dmx_id = p.readInt32();
+ int pid = p.readInt32();
+ int page_id = p.readInt32();
+ int anc_page_id = p.readInt32();
+ r->writeInt32(mpTv->startSubtitle(dmx_id, pid, page_id, anc_page_id));
+ break;
+ }
+ case DTV_STOP_SUBTITLE: {
+ r->writeInt32(mpTv->stopSubtitle());
+ break;
+ }
+ case DTV_GET_SUBTITLE_INDEX: {
+ int progId = p.readInt32();
+ CTvProgram prog;
+ CTvProgram::selectByID(progId, prog);
+ r->writeInt32(prog.getSubtitleIndex(progId));
+ break;
+ }
+ case DTV_SET_SUBTITLE_INDEX: {
+ int progId = p.readInt32();
+ int index = p.readInt32();
+ CTvProgram prog;
+ CTvProgram::selectByID(progId, prog);
+ r->writeInt32(prog.setSubtitleIndex(progId, index));
+ break;
+ }
+ case ATV_GET_CURRENT_PROGRAM_ID: {
+ int atvLastProgramId = mpTv->getATVProgramID();
+ r->writeInt32(atvLastProgramId);
+ break;
+ }
+ case DTV_GET_CURRENT_PROGRAM_ID: {
+ int dtvLastProgramId = mpTv->getDTVProgramID();
+ r->writeInt32(dtvLastProgramId);
+ break;
+ }
+ case ATV_SAVE_PROGRAM_ID: {
+ int progID = p.readInt32();
+ int retCnt = 0;
+ mpTv->saveATVProgramID(progID);
+ r->writeInt32(retCnt);
+ break;
+ }
+ case ATV_GET_MIN_MAX_FREQ: {
+ int min, max;
+ int tmpRet = mpTv->getATVMinMaxFreq(&min, &max);
+ r->writeInt32(min);
+ r->writeInt32(max);
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case DTV_GET_SCAN_FREQUENCY_LIST: {
+ Vector<sp<CTvChannel> > out;
+ int tmpRet = CTvRegion::getChannelListByName("CHINA,Default DTMB ALL", out);
+ r->writeInt32(out.size());
+ for (int i = 0; i < (int)out.size(); i++) {
+ r->writeInt32(out[i]->getID());
+ r->writeInt32(out[i]->getFrequency());
+ }
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case DTV_GET_CHANNEL_INFO: {
+ int dbID = p.readInt32();
+ channel_info_t chan_info;
+ int ret = mpTv->getChannelInfoBydbID(dbID, chan_info);
+ r->writeInt32(chan_info.freq);
+ r->writeInt32(chan_info.uInfo.dtvChanInfo.strength);
+ r->writeInt32(chan_info.uInfo.dtvChanInfo.quality);
+ r->writeInt32(chan_info.uInfo.dtvChanInfo.ber);
+ r->writeInt32(ret);
+ break;
+ }
+ case ATV_GET_CHANNEL_INFO: {
+ int dbID = p.readInt32();
+ channel_info_t chan_info;
+ int ret = mpTv->getChannelInfoBydbID(dbID, chan_info);
+ r->writeInt32(chan_info.freq);
+ r->writeInt32(chan_info.uInfo.atvChanInfo.finefreq);
+ r->writeInt32(chan_info.uInfo.atvChanInfo.videoStd);
+ r->writeInt32(chan_info.uInfo.atvChanInfo.audioStd);
+ r->writeInt32(chan_info.uInfo.atvChanInfo.isAutoStd);
+ r->writeInt32(ret);
+ break;
+ }
+ case ATV_SCAN_MANUAL: {
+ int tmpRet = 0;
+ int startFreq = p.readInt32();
+ int endFreq = p.readInt32();
+ int videoStd = p.readInt32();
+ int audioStd = p.readInt32();
+ tmpRet = mpTv->atvMunualScan(startFreq, endFreq, videoStd, audioStd);
+ mTvService->mpScannerClient = this;
+ r->writeInt32(tmpRet);
+ break;
+ }
+
+
+ case ATV_SCAN_AUTO: {
+ int tmpRet = 0;
+ LOGD("%s, atv auto scan!!!\n", "TV");
+ int videoStd = p.readInt32();
+ int audioStd = p.readInt32();
+ int searchType = p.readInt32();
+ tmpRet = mpTv->atvAutoScan(videoStd, audioStd, searchType);
+ mTvService->mpScannerClient = this;
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case DTV_SCAN_MANUAL: {
+ int tmpRet = 0;
+ int freq = p.readInt32();
+ tmpRet = mpTv->dtvManualScan(freq, freq);
+ mTvService->mpScannerClient = this;
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case DTV_SCAN_MANUAL_BETWEEN_FREQ: {
+ int tmpRet = 0;
+ int beginFreq = p.readInt32();
+ int endFreq = p.readInt32();
+ int modulation = p.readInt32();
+ tmpRet = mpTv->dtvManualScan(beginFreq, endFreq, modulation);
+ mTvService->mpScannerClient = this;
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case DTV_SCAN_AUTO: {
+ int tmpRet = 0;
+ tmpRet = mpTv->dtvAutoScan();
+ mTvService->mpScannerClient = this;
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case DTV_SCAN_AUTO_ATSC: {
+ int tmpRet = 0;
+ int attenna = p.readInt32();
+ int vstd = p.readInt32();
+ int astd = p.readInt32();
+ tmpRet = mpTv->dtvAutoScanAtscLock(attenna, vstd, astd);
+ mTvService->mpScannerClient = this;
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case TV_SUBTITLE_DRAW_END: {
+ int tmpRet = 0;
+ //if(pSub)pSub->lock.unlock();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case STOP_PROGRAM_PLAY: {
+ int tmpRet = -1;
+ tmpRet = mpTv->stopPlayingLock();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case DTV_TEST_1: {
+ // int progid = p.readInt32();
+ //CTvProgram prog;
+ // int ret = CTvProgram::selectByID(progid, prog);
+ //CTvEvent ev;
+ //ret = ev.getProgPresentEvent(prog.getSrc(), prog.getID(), mpTv->getTvTime(), ev);
+ //r->writeString16(String16(ev.getName()));
+ break;
+ }
+ case DTV_TEST_2: {
+ //int cmd = p.readInt32();
+ //CTvDatabase::GetTvDb()->importXmlToDB("/etc/tv_default.xml");
+ //r->writeString16(String16("xml"));
+ break;
+ }
+
+ case TV_CLEAR_ALL_PROGRAM: {
+ int tmpRet = 0;
+ int arg0 = p.readInt32();
+
+ tmpRet = mpTv->clearAllProgram(arg0);
+ mTvService->mpScannerClient = this;
+ r->writeInt32(tmpRet);
+ break;
+ }
+
+ case GET_DISPLAY_RESOLUTION_CONFIG: {
+ int tmpRet = 0;
+ tmpRet = mpTv->GetDisplayResolutionConfig();
+ r->writeInt32(tmpRet);
+ break;
+ }
+
+ case GET_DISPLAY_RESOLUTION_INFO: {
+ int tmpRet = 0;
+ tmpRet = mpTv->GetDisplayResolutionInfo();
+ r->writeInt32(tmpRet);
+ break;
+ }
+
+ case HDMIRX_CEC_SEND_CUSTOM_MESSAGE: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ tmp_buf_size = p.readInt32();
+ for (i = 0; i < tmp_buf_size; i++) {
+ tmp_uc_buf[i] = p.readInt32();
+ }
+
+ int tmpRet = 0;
+ tmpRet = mpTv->SendHDMIRxCECCustomMessage(tmp_uc_buf);
+ r->writeInt32(tmpRet);
+ break;
+ }
+
+ case HDMIRX_CEC_SEND_CUSTOM_WAIT_REPLY_MESSAGE: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ int WaitCmd = 0, timeout = 0;
+ tmp_buf_size = p.readInt32();
+ for (i = 0; i < tmp_buf_size; i++) {
+ tmp_uc_buf[i] = p.readInt32();
+ }
+
+ WaitCmd = p.readInt32();
+ timeout = p.readInt32();
+
+ int tmpRet = 0;
+ tmpRet = mpTv->SendHDMIRxCECCustomMessageAndWaitReply(tmp_uc_buf, tmp_uc_buf2, WaitCmd, timeout);
+
+ r->writeInt32(tmpRet);
+ if (tmpRet > 0) {
+ for (i = 0; i < tmpRet; i++) {
+ r->writeInt32(tmp_uc_buf2[i]);
+ }
+ }
+
+ r->writeInt32(tmpRet);
+ break;
+ }
+
+ case HDMIRX_CEC_SEND_BROADCAST_STANDBY_MESSAGE: {
+ int tmpRet = 0;
+ tmpRet = mpTv->SendHDMIRxCECBoradcastStandbyMessage();
+ r->writeInt32(tmpRet);
+ break;
+ }
+
+ case HDMIRX_CEC_SEND_GIVE_CEC_VERSION_MESSAGE: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ int sourceinput = p.readInt32();
+ LOGD("HDMIRX_CEC_SEND_GIVE_CEC_VERSION_MESSAGE: sourceinput = %x", sourceinput);
+ tmp_buf_size = mpTv->SendHDMIRxCECGiveCECVersionMessage((tv_source_input_t)sourceinput, tmp_uc_buf);
+ r->writeInt32(tmp_buf_size);
+ for (i = 0; i < tmp_buf_size; i++) {
+ r->writeInt32(tmp_uc_buf[i]);
+ }
+ r->writeInt32(tmp_buf_size);
+ break;
+ }
+
+ case HDMIRX_CEC_SEND_GIVE_DEV_VENDOR_ID_MESSAGE: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ int sourceinput = p.readInt32();
+ LOGD("HDMIRX_CEC_SEND_GIVE_DEV_VENDOR_ID_MESSAGE: sourceinput = %x", sourceinput);
+ tmp_buf_size = mpTv->SendHDMIRxCECGiveDeviceVendorIDMessage((tv_source_input_t)sourceinput, tmp_uc_buf);
+ r->writeInt32(tmp_buf_size);
+ for (i = 0; i < tmp_buf_size; i++) {
+ r->writeInt32(tmp_uc_buf[i]);
+ }
+ r->writeInt32(tmp_buf_size);
+ break;
+ }
+
+ case HDMIRX_CEC_SEND_GIVE_OSD_NAME_MESSAGE: {
+ int i = 0, tmp_buf_size = 0, ret = 0;
+ int sourceinput = p.readInt32();
+ LOGD("HDMIRX_CEC_SEND_GIVE_OSD_NAME_MESSAGE: sourceinput = %x", sourceinput);
+ tmp_buf_size = mpTv->SendHDMIRxCECGiveOSDNameMessage((tv_source_input_t)sourceinput, tmp_uc_buf);
+ r->writeInt32(tmp_buf_size);
+ for (i = 0; i < tmp_buf_size; i++) {
+ r->writeInt32(tmp_uc_buf[i]);
+ }
+ r->writeInt32(tmp_buf_size);
+ break;
+ }
+
+ case GET_HDMI_KSV_INFO: {
+ int tmpRet = 0;
+ int ksv_data[2] = {0, 0};
+ tmpRet = mpTv->GetHdmiHdcpKeyKsvInfo(ksv_data);
+ r->writeInt32(tmpRet);
+ r->writeInt32(ksv_data[0]);
+ r->writeInt32(ksv_data[1]);
+ break;
+ }
+
+ case HDMI_OUT_TOWHAT: {
+ r->writeInt32(mpTv->hdmiOutWithFbc() ? 1 : 0);
+ break;
+ }
+ case FACTORY_FBC_UPGRADE: {
+ String16 tmpName = p.readString16();
+ String8 strName = String8(tmpName);
+ sprintf((char *)tmp_uc_buf, "%s", strName.string());
+ int mode = p.readInt32();
+ int upgrade_blk_size = p.readInt32();
+ int ret = mpTv->StartUpgradeFBC((char *)tmp_uc_buf, mode, upgrade_blk_size);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_BRIGHTNESS: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Brightness(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_BRIGHTNESS: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Brightness();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_CONTRAST: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Contrast(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_CONTRAST: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Contrast();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_SATURATION: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Saturation(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_SATURATION: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Saturation();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_HUE: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_HueColorTint(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_HUE: {
+ int ret = mpTv->Tv_FactoryGet_FBC_HueColorTint();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_BACKLIGHT: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Backlight(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_BACKLIGHT: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Backlight();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTROY_FBC_SET_LIGHT_SENSOR_STATUS_N310: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_LightSensor_Status_N310(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTROY_FBC_GET_LIGHT_SENSOR_STATUS_N310: {
+ int ret = mpTv->Tv_FactoryGet_FBC_LightSensor_Status_N310();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTROY_FBC_SET_DREAM_PANEL_STATUS_N310: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Dream_Panel_Status_N310(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTROY_FBC_GET_DREAM_PANEL_STATUS_N310: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Dream_Panel_Status_N310();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTROY_FBC_SET_MULT_PQ_STATUS_N310: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_MULT_PQ_Status_N310(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTROY_FBC_GET_MULT_PQ_STATUS_N310: {
+ int ret = mpTv->Tv_FactoryGet_FBC_MULT_PQ_Status_N310();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTROY_FBC_SET_MEMC_STATUS_N310: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_MEMC_Status_N310(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTROY_FBC_GET_MEMC_STATUS_N310: {
+ int ret = mpTv->Tv_FactoryGet_FBC_MEMC_Status_N310();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case MISC_SET_2K_TO_4K_SCALE_UP_MODE : {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_Set2k4k_ScalerUp_Mode(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case MISC_GET_2K_TO_4K_SCALE_UP_MODE: {
+ int ret = mpTv->Tv_Get2k4k_ScalerUp_Mode();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_FBC_SET_BACKLIGHT_EN : {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_backlight_onoff(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_BACKLIGHT_EN: {
+ int ret = mpTv->Tv_FactoryGet_FBC_backlight_onoff();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_FBC_TEST_PATTERN: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_SetTestPattern(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_FBC_SET_LVDS_SSG: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_LVDS_SSG_Set(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_ELEC_MODE: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_ELEC_MODE(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_ELEC_MODE: {
+ int ret = mpTv->Tv_FactoryGet_FBC_ELEC_MODE();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_BACKLIGHT_N360: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_BACKLIGHT_N360(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_BACKLIGHT_N360: {
+ int ret = mpTv->Tv_FactoryGet_FBC_BACKLIGHT_N360();
+ r->writeInt32(ret);
+ break;
+ }
+
+
+ case FACTORY_FBC_SET_PIC_MODE: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Picture_Mode(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_PIC_MODE: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Picture_Mode();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_TEST_PATTERN: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Set_Test_Pattern(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_TEST_PATTERN: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Get_Test_Pattern();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_GAIN_RED: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Gain_Red(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_GAIN_RED: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Gain_Red();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_GAIN_GREEN: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Gain_Green(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_GAIN_GREEN: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Gain_Green();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_GAIN_BLUE: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Gain_Blue(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_GAIN_BLUE: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Gain_Blue();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_OFFSET_RED: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Offset_Red(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_OFFSET_RED: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Offset_Red();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_OFFSET_GREEN: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Offset_Green(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_OFFSET_GREEN: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Offset_Green();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_OFFSET_BLUE: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_Offset_Blue(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_OFFSET_BLUE: {
+ int ret = mpTv->Tv_FactoryGet_FBC_Offset_Blue();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_COLORTEMP_MODE: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_ColorTemp_Mode(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_COLORTEMP_MODE: {
+ int ret = mpTv->Tv_FactoryGet_FBC_ColorTemp_Mode();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_COLORTEMP_MODE_N360: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_ColorTemp_Mode_N360(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_COLORTEMP_MODE_N360: {
+ int ret = mpTv->Tv_FactoryGet_FBC_ColorTemp_Mode_N360();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_SET_WB_INIT: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySet_FBC_WB_Initial(value);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_WB_INIT: {
+ int ret = mpTv->Tv_FactoryGet_FBC_WB_Initial();
+ r->writeInt32(ret);
+ break;
+ }
+
+ case FACTORY_FBC_GET_MAINCODE_VERSION: {
+ char sw_version[64];
+ char build_time[64];
+ char git_version[64];
+ char git_branch[64];
+ char build_name[64];
+ CFbcCommunication *fbcIns = GetSingletonFBC();
+ if (fbcIns != NULL) {
+ fbcIns->cfbc_Get_FBC_MAINCODE_Version(COMM_DEV_SERIAL, sw_version, build_time, git_version, git_branch, build_name);
+ r->writeString16(String16(sw_version));
+ r->writeString16(String16(build_time));
+ r->writeString16(String16(git_version));
+ r->writeString16(String16(git_branch));
+ r->writeString16(String16(build_name));
+ } else {
+ r->writeString16(String16("No FBC"));
+ r->writeString16(String16("No FBC"));
+ r->writeString16(String16("No FBC"));
+ r->writeString16(String16("No FBC"));
+ r->writeString16(String16("No FBC"));
+ }
+ break;
+ }
+ case FACTORY_SET_SN: {
+ char StrFactSN[256] = {0};
+ String16 strTemFactorySn = p.readString16();
+ String8 strFactorySn = String8(strTemFactorySn);
+ sprintf((char *)StrFactSN, "%s", strFactorySn.string());
+ CFbcCommunication *fbcIns = GetSingletonFBC();
+ if (fbcIns != NULL) {
+ int iRet = fbcIns->cfbc_Set_FBC_Factory_SN(COMM_DEV_SERIAL, (const char *)StrFactSN);
+ r->writeInt32(iRet);
+ } else {
+ r->writeInt32(-1);
+ }
+ break;
+ }
+ case FACTORY_GET_SN: {
+ char factorySerialNumber[256] = {0};
+ memset((void *)factorySerialNumber, 0, 256);
+ CFbcCommunication *fbcIns = GetSingletonFBC();
+ if (fbcIns != NULL) {
+ fbcIns->cfbc_Get_FBC_Factory_SN(COMM_DEV_SERIAL, factorySerialNumber);
+ r->writeString16(String16(factorySerialNumber));
+ } else {
+ r->writeString16(String16("No FBC"));
+ }
+ break;
+ }
+ case FACTORY_FBC_PANEL_GET_INFO: {
+ char panel_model[64];
+ CFbcCommunication *fbcIns = GetSingletonFBC();
+ if (fbcIns != NULL) {
+ fbcIns->cfbc_Get_FBC_Get_PANel_INFO(COMM_DEV_SERIAL, panel_model);
+ r->writeString16(String16(panel_model));
+ } else {
+ r->writeString16(String16(""));
+ }
+ break;
+ }
+ case FACTORY_FBC_PANEL_POWER_SWITCH: {
+ int value = p.readInt32();
+ CFbcCommunication *fbcIns = GetSingletonFBC();
+ if (fbcIns != NULL) {
+ int ret = fbcIns->cfbc_Set_FBC_panel_power_switch(COMM_DEV_SERIAL, value);
+ r->writeInt32(ret);
+ } else {
+ r->writeInt32(-1);
+ }
+ break;
+ }
+ case FACTORY_FBC_PANEL_SUSPEND: {
+ int value = p.readInt32();
+ CFbcCommunication *fbcIns = GetSingletonFBC();
+ if (fbcIns != NULL) {
+ int ret = fbcIns->cfbc_Set_FBC_suspend(COMM_DEV_SERIAL, value);
+ r->writeInt32(ret);
+ } else {
+ r->writeInt32(-1);
+ }
+ break;
+ }
+ case FACTORY_FBC_PANEL_USER_SETTING_DEFAULT: {
+ int value = p.readInt32();
+ CFbcCommunication *fbcIns = GetSingletonFBC();
+ if (fbcIns != NULL) {
+ int ret = fbcIns->cfbc_Set_FBC_User_Setting_Default(COMM_DEV_SERIAL, value);
+ r->writeInt32(ret);
+ } else {
+ r->writeInt32(-1);
+ }
+ break;
+ }
+ case FACTORY_FBC_VIDEO_MUTE: {
+ CFbcCommunication *fbcIns = GetSingletonFBC();
+ if (fbcIns != NULL) {
+ int ret = fbcIns->cfbc_Set_VMute(COMM_DEV_SERIAL, 1);
+ r->writeInt32(ret);
+ } else {
+ r->writeInt32(-1);
+ }
+ break;
+ }
+ case FACTORY_FBC_POWER_REBOOT: {
+ int value = p.readInt32();
+ CFbcCommunication *fbcIns = GetSingletonFBC();
+ if (fbcIns != NULL) {
+ int ret = fbcIns->cfbc_SendRebootToUpgradeCmd(COMM_DEV_SERIAL, value);
+ r->writeInt32(ret);
+ } else {
+ r->writeInt32(-1);
+ }
+ break;
+ }
+ case FACTORY_FBC_SEND_KEY_TO_FBC: {
+ int keyCode = p.readInt32();
+ int param = p.readInt32();
+ CFbcCommunication *fbcIns = GetSingletonFBC();
+ if (fbcIns != NULL) {
+ int ret = fbcIns->cfbc_FBC_Send_Key_To_Fbc(COMM_DEV_SERIAL, keyCode, param);
+ r->writeInt32(ret);
+ } else {
+ r->writeInt32(-1);
+ }
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_SET_GAIN_RED: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySetWhiteBalanceRedGain(source_type, colortemp_mode, value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_GET_GAIN_RED: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetWhiteBalanceRedGain(source_type, colortemp_mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_SET_GAIN_GREEN: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySetWhiteBalanceGreenGain(source_type, colortemp_mode, value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_GET_GAIN_GREEN: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetWhiteBalanceGreenGain(source_type, colortemp_mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_SET_GAIN_BLUE: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySetWhiteBalanceBlueGain(source_type, colortemp_mode, value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_GET_GAIN_BLUE: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetWhiteBalanceBlueGain(source_type, colortemp_mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_SET_OFFSET_RED: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySetWhiteBalanceRedOffset(source_type, colortemp_mode, value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_GET_OFFSET_RED: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetWhiteBalanceRedOffset(source_type, colortemp_mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_SET_OFFSET_GREEN: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySetWhiteBalanceGreenOffset(source_type, colortemp_mode, value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_GET_OFFSET_GREEN: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetWhiteBalanceGreenOffset(source_type, colortemp_mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_SET_OFFSET_BLUE: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySetWhiteBalanceBlueOffset(source_type, colortemp_mode, value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_GET_OFFSET_BLUE: {
+ int source_type = p.readInt32();
+ int colortemp_mode = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetWhiteBalanceBlueOffset(source_type, colortemp_mode);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_GET_COLOR_TMP: {
+ int source_type = p.readInt32();
+ int ret = mpTv->Tv_FactoryGetWhiteBalanceColorTempMode(source_type);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_SET_COLOR_TMP: {
+ int source_type = p.readInt32();
+ int Tempmode = p.readInt32();
+ int is_save = p.readInt32();
+ int ret = mpTv->Tv_FactorySetWhiteBalanceColorTempMode(source_type, Tempmode, is_save);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_SAVE_PRAMAS: {
+ int source_type = p.readInt32();
+ int mode = p.readInt32();
+ int r_gain = p.readInt32();
+ int g_gain = p.readInt32();
+ int b_gain = p.readInt32();
+ int r_offset = p.readInt32();
+ int g_offset = p.readInt32();
+ int b_offset = p.readInt32();
+ int ret = mpTv->Tv_FactorySaveWhiteBalancePramas(source_type, mode, r_gain, g_gain, b_gain, r_offset, g_offset, b_offset);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_OPEN_GRAY_PATTERN: {
+ int ret = mpTv->Tv_FactoryOpenWhiteBalanceGrayPattern();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_CLOSE_GRAY_PATTERN: {
+ int ret = mpTv->Tv_FactoryCloseWhiteBalanceGrayPattern();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_SET_GRAY_PATTERN: {
+ int value = p.readInt32();
+ int ret = mpTv->Tv_FactorySetWhiteBalanceGrayPattern(value);
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_GET_GRAY_PATTERN: {
+ int ret = mpTv->Tv_FactoryGetWhiteBalanceGrayPattern();
+ r->writeInt32(ret);
+ break;
+ }
+ case FACTORY_WHITE_BALANCE_GET_ALL_PRAMAS: {
+ int Tempmode = p.readInt32();
+ tcon_rgb_ogo_t params;
+ int ret = mpTv->GetColorTemperatureParams((vpp_color_temperature_mode_t)Tempmode, &params);
+ r->writeInt32(ret);
+ r->writeInt32(params.r_gain);
+ r->writeInt32(params.g_gain);
+ r->writeInt32(params.b_gain);
+ r->writeInt32(params.r_post_offset);
+ r->writeInt32(params.g_post_offset);
+ r->writeInt32(params.b_post_offset);
+ }
+ case STOP_SCAN: {
+ mpTv->stopScanLock();
+ break;
+ }
+ case DTV_GET_SNR: {
+ int tmpRet = 0;
+ tmpRet = mpTv->getFrontendSNR();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case DTV_GET_BER: {
+ int tmpRet = 0;
+ tmpRet = mpTv->getFrontendBER();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case DTV_GET_STRENGTH: {
+ int tmpRet = 0;
+ tmpRet = mpTv->getFrontendSignalStrength();
+ r->writeInt32(tmpRet);
+ break;
+ }
+ case DTV_GET_AUDIO_TRACK_NUM: {
+ int programId = p.readInt32();
+ int retCnt = 0;
+ retCnt = mpTv->getAudioTrackNum(programId);
+ r->writeInt32(retCnt);
+ break;
+ }
+ case DTV_GET_AUDIO_TRACK_INFO: {
+ int progId = p.readInt32();
+ int aIdx = p.readInt32();
+ int aFmt = -1;
+ int iRet = -1;
+ String8 lang;
+ iRet = mpTv->getAudioInfoByIndex(progId, aIdx, &aFmt, lang);
+ r->writeInt32(aFmt);
+ r->writeString16(String16(lang));
+ break;
+ }
+ case DTV_SWITCH_AUDIO_TRACK: {
+ int aPid = p.readInt32();
+ int aFmt = p.readInt32();
+ int aParam = p.readInt32();
+ int ret = -1;
+ ret = mpTv->switchAudioTrack(aPid, aFmt, aParam);
+ r->writeInt32(ret);
+ break;
+ }
+ case DTV_GET_CURR_AUDIO_TRACK_INDEX: {
+ int currAduIdx = -1;
+ int progId = p.readInt32();
+ CTvProgram prog;
+ CTvProgram::selectByID(progId, prog);
+ currAduIdx = prog.getCurrAudioTrackIndex();
+ r->writeInt32(currAduIdx);
+ break;
+ }
+ case DTV_SET_AUDIO_CHANNEL_MOD: {
+ int audioChannelIdx = p.readInt32();
+ mpTv->setAudioChannel(audioChannelIdx);
+ break;
+ }
+ case DTV_GET_AUDIO_CHANNEL_MOD: {
+ int currChannelMod;
+ currChannelMod = mpTv->getAudioChannel();
+ r->writeInt32(currChannelMod);
+ break;
+ }
+ case DTV_GET_CUR_FREQ: {
+ int progId = p.readInt32();
+ int freq = 0;
+ int iRet = -1;
+ CTvProgram prog;
+ CTvChannel channel;
+
+ iRet = CTvProgram::selectByID(progId, prog);
+ if (0 != iRet) return -1;
+ prog.getChannel(channel);
+ freq = channel.getFrequency();
+ r->writeInt32(freq);
+ break;
+ }
+ case DTV_GET_EPG_UTC_TIME: {
+ int iRet = -1;
+ int utcTime = 0;
+
+ utcTime = mpTv->getTvTime();
+
+ r->writeInt32(utcTime);
+ break;
+ }
+ case DTV_GET_EPG_INFO_POINT_IN_TIME: {
+ int progid = p.readInt32();
+ int utcTime = p.readInt32();
+ CTvProgram prog;
+ int ret = CTvProgram::selectByID(progid, prog);
+ CTvEvent ev;
+ ret = ev.getProgPresentEvent(prog.getSrc(), prog.getID(), utcTime, ev);
+ r->writeString16(String16(ev.getName()));
+ r->writeString16(String16(ev.getDescription()));
+ r->writeString16(String16(ev.getExtDescription()));
+ r->writeInt32(ev.getStartTime());
+ r->writeInt32(ev.getEndTime());
+ r->writeInt32(ev.getSubFlag());
+ r->writeInt32(ev.getEventId());
+ break;
+ }
+ case DTV_GET_EPG_INFO_DURATION: {
+ int iRet = -1;
+ int iObOutSize = 0;
+ Vector<sp<CTvEvent> > epgOut;
+ int progid = p.readInt32();
+ int iUtcStartTime = p.readInt32();
+ int iDurationTime = p.readInt32();
+ CTvProgram prog;
+ CTvEvent ev;
+ iRet = CTvProgram::selectByID(progid, prog);
+ if (0 != iRet) {
+ break;
+ }
+ iRet = ev.getProgScheduleEvents(prog.getSrc(), prog.getID(), iUtcStartTime, iDurationTime, epgOut);
+ if (0 != iRet) {
+ break;
+ }
+ iObOutSize = epgOut.size();
+ if (0 == iObOutSize) {
+ break;
+ }
+
+ r->writeInt32(iObOutSize);
+ for (int i = 0; i < iObOutSize; i ++) {
+ r->writeString16(String16(epgOut[i]->getName()));
+ r->writeString16(String16(epgOut[i]->getDescription()));
+ r->writeString16(String16(ev.getExtDescription()));
+ r->writeInt32(epgOut[i]->getStartTime());
+ r->writeInt32(epgOut[i]->getEndTime());
+ r->writeInt32(epgOut[i]->getSubFlag());
+ r->writeInt32(epgOut[i]->getEventId());
+ }
+ break;
+ }
+ case DTV_SET_PROGRAM_NAME: {
+ CTvProgram prog;
+ int progid = p.readInt32();
+ String16 tmpName = p.readString16();
+ String8 strName = String8(tmpName);
+ prog.updateProgramName(progid, strName);
+ break;
+ }
+ case DTV_SET_PROGRAM_SKIPPED: {
+ CTvProgram prog;
+ int progid = p.readInt32();
+ bool bSkipFlag = p.readInt32();
+ prog.setSkipFlag(progid, bSkipFlag);
+ break;
+ }
+ case DTV_SET_PROGRAM_FAVORITE: {
+ CTvProgram prog;
+ int progid = p.readInt32();
+ bool bFavorite = p.readInt32();
+ prog.setFavoriteFlag(progid, bFavorite);
+ break;
+ }
+ case DTV_DETELE_PROGRAM: {
+ CTvProgram prog;
+ int progid = p.readInt32();
+ prog.deleteProgram(progid);
+ break;
+ }
+ case SET_BLACKOUT_ENABLE: {
+ int enable = p.readInt32();
+ mpTv->setBlackoutEnable(enable);
+ break;
+ }
+ case START_AUTO_BACKLIGHT: {
+ mpTv->startAutoBackLight();
+ break;
+ }
+ case STOP_AUTO_BACKLIGHT: {
+ mpTv->stopAutoBackLight();
+ break;
+ }
+ case IS_AUTO_BACKLIGHTING: {
+ int on = mpTv->getAutoBackLight_on_off();
+ r->writeInt32(on);
+ break;
+ }
+ case GET_AVERAGE_LUMA: {
+ int ret = mpTv->getAverageLuma();
+ r->writeInt32(ret);
+ break;
+ }
+ case GET_AUTO_BACKLIGHT_DATA: {
+ int i;
+ int size = mpTv->getAutoBacklightData(tmp_i_buf);
+ r->writeInt32(size);
+ for (i = 0; i < size; i++) {
+ r->writeInt32(tmp_i_buf[i]);
+ }
+ break;
+ }
+ case SET_AUTO_BACKLIGHT_DATA: {
+ String16 tmp_str16;
+ String8 value_str;
+
+ tmp_str16 = p.readString16();
+ value_str = String8(tmp_str16);
+
+ int ret = mpTv->setAutobacklightData(value_str);
+ r->writeInt32(ret);
+ break;
+ }
+
+ case SSM_READ_BLACKOUT_ENABLE: {
+ int enable = mpTv->getSaveBlackoutEnable();
+ r->writeInt32(enable);
+ break;
+ }
+ case DTV_SWAP_PROGRAM: {
+ CTvProgram prog;
+ int firstProgId = p.readInt32();
+ int secondProgId = p.readInt32();
+ CTvProgram::selectByID(firstProgId, prog);
+ int firstChanOrderNum = prog.getChanOrderNum();
+ CTvProgram::selectByID(secondProgId, prog);
+ int secondChanOrderNum = prog.getChanOrderNum();
+ prog.swapChanOrder(firstProgId, firstChanOrderNum, secondProgId, secondChanOrderNum);
+ break;
+ }
+ case DTV_SET_PROGRAM_LOCKED: {
+ CTvProgram prog;
+ int progid = p.readInt32();
+ bool bLocked = p.readInt32();
+ prog.setLockFlag(progid, bLocked);
+ break;
+ }
+ case DTV_SET_BOOKING_FLAG: {
+ CTvEvent ev;
+ int iEvtId = p.readInt32();
+ bool iBookFlag = (bool)p.readInt32();
+ ev.bookEvent(iEvtId, iBookFlag);
+ break;
+ }
+ case DTV_GET_FREQ_BY_PROG_ID: {
+ int freq = 0;
+ int progid = p.readInt32();
+ CTvProgram prog;
+ int ret = CTvProgram::selectByID(progid, prog);
+ if (ret != 0) return -1;
+ CTvChannel channel;
+ prog.getChannel(channel);
+ freq = channel.getFrequency();
+ r->writeInt32(freq);
+ break;
+ }
+ case DTV_GET_BOOKED_EVENT: {
+ CTvBooking tvBook;
+ Vector<sp<CTvBooking> > vTvBookOut;
+ tvBook.getBookedEventList(vTvBookOut);
+ int iObOutSize = vTvBookOut.size();
+ if (0 == iObOutSize) {
+ break;
+ }
+ r->writeInt32(iObOutSize);
+ for (int i = 0; i < iObOutSize; i ++) {
+ r->writeString16(String16(vTvBookOut[i]->getProgName()));
+ r->writeString16(String16(vTvBookOut[i]->getEvtName()));
+ r->writeInt32(vTvBookOut[i]->getStartTime());
+ r->writeInt32(vTvBookOut[i]->getDurationTime());
+ r->writeInt32(vTvBookOut[i]->getBookId());
+ r->writeInt32(vTvBookOut[i]->getProgramId());
+ r->writeInt32(vTvBookOut[i]->getEventId());
+ }
+ break;
+ }
+ case SET_FRONTEND_PARA: {
+ int ret = -1;
+ frontend_para_set_t feParms;
+ feParms.mode = (fe_type_t)p.readInt32();
+ feParms.freq = p.readInt32();
+ feParms.videoStd = (atv_video_std_t)p.readInt32();
+ feParms.audioStd = (atv_audio_std_t)p.readInt32();
+ feParms.para1 = p.readInt32();
+ feParms.para2 = p.readInt32();
+ mpTv->resetFrontEndPara(feParms);
+ r->writeInt32(ret);
+ break;
+ }
+ case PLAY_PROGRAM: {
+ int mode = p.readInt32();
+ int freq = p.readInt32();
+ if (mode == FE_ANALOG) {
+ int videoStd = p.readInt32();
+ int audioStd = p.readInt32();
+ int fineTune = p.readInt32();
+ int audioCompetation = p.readInt32();
+ mpTv->playAtvProgram(freq, videoStd, audioStd, fineTune, audioCompetation);
+ } else {
+ int para1 = p.readInt32();
+ int para2 = p.readInt32();
+ int vid = p.readInt32();
+ int vfmt = p.readInt32();
+ int aid = p.readInt32();
+ int afmt = p.readInt32();
+ int pcr = p.readInt32();
+ int audioCompetation = p.readInt32();
+ mpTv->playDtvProgram(mode, freq, para1, para2, vid, vfmt, aid, afmt, pcr, audioCompetation);
+ }
+ break;
+ }
+ case GET_PROGRAM_LIST: {
+ Vector<sp<CTvProgram> > out;
+ int type = p.readInt32();
+ int skip = p.readInt32();
+ CTvProgram::selectByType(type, skip, out);
+ r->writeInt32(out.size());
+ for (int i = 0; i < (int)out.size(); i++) {
+ r->writeInt32(out[i]->getID());
+ r->writeInt32(out[i]->getChanOrderNum());
+ r->writeInt32(out[i]->getMajor());
+ r->writeInt32(out[i]->getMinor());
+ r->writeInt32(out[i]->getProgType());
+ r->writeString16(String16(out[i]->getName()));
+ r->writeInt32(out[i]->getProgSkipFlag());
+ r->writeInt32(out[i]->getFavoriteFlag());
+ r->writeInt32(out[i]->getVideo()->getFormat());
+ CTvChannel ch;
+ out[i]->getChannel(ch);
+ r->writeInt32(ch.getDVBTSID());
+ r->writeInt32(out[i]->getServiceId());
+ r->writeInt32(out[i]->getVideo()->getPID());
+ r->writeInt32(out[i]->getVideo()->getPID());
+
+ int audioTrackSize = out[i]->getAudioTrackSize();
+ r->writeInt32(audioTrackSize);
+ for (int j = 0; j < audioTrackSize; j++) {
+ r->writeString16(String16(out[i]->getAudio(j)->getLang()));
+ r->writeInt32(out[i]->getAudio(j)->getFormat());
+ r->writeInt32(out[i]->getAudio(j)->getPID());
+ }
+ Vector<CTvProgram::Subtitle *> mvSubtitles = out[i]->getSubtitles();
+ int subTitleSize = mvSubtitles.size();
+ r->writeInt32(subTitleSize);
+ if (subTitleSize > 0) {
+ for (int k = 0; k < subTitleSize; k++) {
+ r->writeInt32(mvSubtitles[k]->getPID());
+ r->writeString16(String16(mvSubtitles[k]->getLang()));
+ r->writeInt32(mvSubtitles[k]->getCompositionPageID());
+ r->writeInt32(mvSubtitles[k]->getAncillaryPageID());
+ }
+ }
+ r->writeInt32(ch.getFrequency());
+ }
+ break;
+ }
+ case DTV_GET_VIDEO_FMT_INFO: {
+ int srcWidth = 0;
+ int srcHeight = 0;
+ int srcFps = 0;
+ int srcInterlace = 0;
+ int iRet = -1;
+
+ iRet == mpTv->getVideoFormatInfo(&srcWidth, &srcHeight, &srcFps, &srcInterlace);
+ r->writeInt32(srcWidth);
+ r->writeInt32(srcHeight);
+ r->writeInt32(srcFps);
+ r->writeInt32(srcInterlace);
+ r->writeInt32(iRet);
+ }
+ break;
+
+ case DTV_START_RECORD: {
+ char buf[256];
+ String16 tmpName = p.readString16();
+ String8 strName = String8(tmpName);
+ sprintf(buf, "%s", strName.string());
+ mpTv->SetRecordFileName(buf);
+ mpTv->StartToRecord();
+ }
+ break;
+ case DTV_STOP_RECORD:
+ mpTv->StopRecording();
+ break;
+ case DTV_SET_RECORD_ALL_TS: {
+ int sel = p.readInt32();
+ mpTv->SetRecCurTsOrCurProgram(sel);
+ }
+ break;
+ case TV_PRINT_DEBUG_INFO:
+ mpTv->printDebugInfo();
+ break;
+ case HDMIAV_HOTPLUGDETECT_ONOFF: {
+ int flag = mpTv->GetHdmiAvHotplugDetectOnoff();
+ r->writeInt32(flag);
+ }
+ break;
+
+ // 2.4G headset
+ case START_OPEN_HEADSET_DETECT: {
+ int flag = mpTv->StartHeadSetDetect();
+ r->writeInt32(flag);
+ }
+ break;
+
+ // EXTAR END
+ default:
+ LOGD("default");
+ break;
+ }
+
+ LOGD("exit client=%d cmd=%d", getCallingPid(), cmd);
+ return 0;
}
sp<TvService::Client> TvService::Client::getClientFromCookie(void *user)
{
- sp<Client> client = 0;
- /*
- TvService *service = static_cast<TvService*> (user);
- if (service != NULL) {
- Mutex::Autolock ourLock(service->mServiceLock);
- if (service->mClient != 0) {
- client = service->mClient.promote();
- if (client == 0) {
- LOGE("getClientFromCookie: client appears to have died");
- service->mClient.clear();
- }
- } else {
- LOGE("getClientFromCookie: got callback but client was NULL");
- }
- }*/
- return client;
+ sp<Client> client = 0;
+ /*
+ TvService *service = static_cast<TvService*> (user);
+ if (service != NULL) {
+ Mutex::Autolock ourLock(service->mServiceLock);
+ if (service->mClient != 0) {
+ client = service->mClient.promote();
+ if (client == 0) {
+ LOGE("getClientFromCookie: client appears to have died");
+ service->mClient.clear();
+ }
+ } else {
+ LOGE("getClientFromCookie: got callback but client was NULL");
+ }
+ }*/
+ return client;
}
void TvService::Client::notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2, void *user)
{
- LOGD("notifyCallback(%d)", msgType);
-
- sp<Client> client = getClientFromCookie(user);
- if (client == 0) {
- return;
- }
-
- switch (msgType) {
- //case TV_MSG_SHUTTER:
- // ext1 is the dimension of the yuv picture.
- // client->handleShutter((image_rect_type *)ext1);
- // break;
- default:
- sp<ITvClient> c = client->mTvClient;
- if (c != NULL) {
- //c->notifyCallback(msgType, ext1, ext2);
- }
- break;
- }
+ LOGD("notifyCallback(%d)", msgType);
+
+ sp<Client> client = getClientFromCookie(user);
+ if (client == 0) {
+ return;
+ }
+
+ switch (msgType) {
+ //case TV_MSG_SHUTTER:
+ // ext1 is the dimension of the yuv picture.
+ // client->handleShutter((image_rect_type *)ext1);
+ // break;
+ default:
+ sp<ITvClient> c = client->mTvClient;
+ if (c != NULL) {
+ //c->notifyCallback(msgType, ext1, ext2);
+ }
+ break;
+ }
#if DEBUG_CLIENT_REFERENCES
- if (client->getStrongCount() == 1) {
- LOGE("++++++++++++++++ (NOTIFY CALLBACK) THIS WILL CAUSE A LOCKUP!");
- client->printRefs();
- }
+ if (client->getStrongCount() == 1) {
+ LOGE("++++++++++++++++ (NOTIFY CALLBACK) THIS WILL CAUSE A LOCKUP!");
+ client->printRefs();
+ }
#endif
}
int TvService::Client::notifyCallback(const int &msgtype, const Parcel &p)
{
- mTvClient->notifyCallback(msgtype, p);
- return 0;
+ mTvClient->notifyCallback(msgtype, p);
+ return 0;
}
status_t TvService::onTransact(uint32_t code, const Parcel &data, Parcel *reply, uint32_t flags)
{
- // permission checks...
- switch (code) {
- case BnTvService::CONNECT:
- IPCThreadState *ipc = IPCThreadState::self();
- const int pid = ipc->getCallingPid();
- const int self_pid = getpid();
- if (pid != self_pid) {
- // we're called from a different process, do the real check
- /*if (!checkCallingPermission(
- String16("android.permission.TV")))
- {
- const int uid = ipc->getCallingUid();
- LOGE("Permission Denial: "
- "can't use the tv pid=%d, uid=%d", pid, uid);
- return PERMISSION_DENIED;
- }*/
- }
- break;
- }
-
- status_t err = BnTvService::onTransact(code, data, reply, flags);
+ // permission checks...
+ switch (code) {
+ case BnTvService::CONNECT:
+ IPCThreadState *ipc = IPCThreadState::self();
+ const int pid = ipc->getCallingPid();
+ const int self_pid = getpid();
+ if (pid != self_pid) {
+ // we're called from a different process, do the real check
+ /*if (!checkCallingPermission(
+ String16("android.permission.TV")))
+ {
+ const int uid = ipc->getCallingUid();
+ LOGE("Permission Denial: "
+ "can't use the tv pid=%d, uid=%d", pid, uid);
+ return PERMISSION_DENIED;
+ }*/
+ }
+ break;
+ }
+
+ status_t err = BnTvService::onTransact(code, data, reply, flags);
#if DEBUG_HEAP_LEAKS
- LOGE("+++ onTransact err %d code %d", err, code);
-
- if (err == UNKNOWN_TRANSACTION || err == PERMISSION_DENIED) {
- LOGE("+++ onTransact code %d", code);
-
- CHECK_INTERFACE(ITvService, data, reply);
-
- switch (code) {
- case 1000: {
- if (gWeakHeap != 0) {
- sp<IMemoryHeap> h = gWeakHeap.promote();
- IMemoryHeap *p = gWeakHeap.unsafe_get();
- LOGE("CHECKING WEAK REFERENCE %p (%p)", h.get(), p);
- if (h != 0)
- h->printRefs();
- bool attempt_to_delete = data.readInt32() == 1;
- if (attempt_to_delete) {
- // NOT SAFE!
- LOGE("DELETING WEAK REFERENCE %p (%p)", h.get(), p);
- if (p) delete p;
- }
- return NO_ERROR;
- }
- }
- break;
- default:
- break;
- }
- }
+ LOGE("+++ onTransact err %d code %d", err, code);
+
+ if (err == UNKNOWN_TRANSACTION || err == PERMISSION_DENIED) {
+ LOGE("+++ onTransact code %d", code);
+
+ CHECK_INTERFACE(ITvService, data, reply);
+
+ switch (code) {
+ case 1000: {
+ if (gWeakHeap != 0) {
+ sp<IMemoryHeap> h = gWeakHeap.promote();
+ IMemoryHeap *p = gWeakHeap.unsafe_get();
+ LOGE("CHECKING WEAK REFERENCE %p (%p)", h.get(), p);
+ if (h != 0)
+ h->printRefs();
+ bool attempt_to_delete = data.readInt32() == 1;
+ if (attempt_to_delete) {
+ // NOT SAFE!
+ LOGE("DELETING WEAK REFERENCE %p (%p)", h.get(), p);
+ if (p) delete p;
+ }
+ return NO_ERROR;
+ }
+ }
+ break;
+ default:
+ break;
+ }
+ }
#endif // DEBUG_HEAP_LEAKS
- return err;
+ return err;
}