summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--Android.mk14
-rw-r--r--screen_source/Android.mk31
-rw-r--r--screen_source/aml_screen.cpp296
-rw-r--r--screen_source/v4l2_vdin.cpp676
-rw-r--r--screen_source/v4l2_vdin.h144
-rw-r--r--tv_callback.h18
-rw-r--r--tv_input.cpp263
-rw-r--r--tvapi/android/Android.mk2
-rw-r--r--tvapi/android/include/ITv.h98
-rw-r--r--tvapi/android/include/ITvClient.h56
-rw-r--r--tvapi/android/include/ITvService.h66
-rw-r--r--tvapi/android/include/Tv.h158
-rw-r--r--tvapi/android/include/tvcmd.h1212
-rw-r--r--tvapi/android/jni/Android.mk135
-rw-r--r--tvapi/android/jni/cfbc_jni.cpp18
-rw-r--r--tvapi/android/jni/cfbc_test.cpp86
-rw-r--r--tvapi/android/jni/com_droidlogic_app_tv_TvControlManager.cpp (renamed from tvapi/android/jni/android_amlogic_tv.cpp)929
-rw-r--r--tvapi/android/libtvbinder/Android.mk48
-rw-r--r--tvapi/android/libtvbinder/ITv.cpp292
-rw-r--r--tvapi/android/libtvbinder/ITvClient.cpp116
-rw-r--r--tvapi/android/libtvbinder/ITvService.cpp100
-rw-r--r--tvapi/android/libtvbinder/Tv.cpp378
-rw-r--r--tvapi/android/tv/Android.mk23
-rw-r--r--tvapi/android/tv/CTv.cpp104
-rw-r--r--tvapi/android/tv/CTv.h54
-rw-r--r--tvapi/android/tvserver/Android.mk164
-rw-r--r--tvapi/android/tvserver/TvService.cpp8911
-rw-r--r--tvapi/android/tvserver/TvService.h170
-rw-r--r--tvapi/android/tvserver/main.cpp46
-rw-r--r--tvapi/android/tvserver/tv_callback.h18
-rw-r--r--[-rwxr-xr-x]tvapi/build/include/.gitignore0
-rw-r--r--tvapi/build/include/xxxconfig.h1
-rw-r--r--tvapi/docs/tv.uml12156
-rw-r--r--tvapi/libtv/Android.mk12
-rw-r--r--tvapi/libtv/audio/CAudioCustomerCtrl.cpp126
-rw-r--r--tvapi/libtv/audio/CAudioCustomerCtrl.h31
-rw-r--r--tvapi/libtv/audio/CTvAudio.cpp30
-rw-r--r--tvapi/libtv/audio/CTvAudio.h76
-rw-r--r--tvapi/libtv/audio/audio_alsa.cpp2073
-rw-r--r--tvapi/libtv/audio/audio_alsa.h257
-rw-r--r--tvapi/libtv/audio/audio_android.cpp1035
-rw-r--r--tvapi/libtv/audio/audio_android.h78
-rw-r--r--tvapi/libtv/audio/audio_android_effect.cpp591
-rw-r--r--tvapi/libtv/audio/audio_android_effect.h65
-rw-r--r--tvapi/libtv/audio/audio_api.cpp2470
-rw-r--r--tvapi/libtv/audio/audio_api.h323
-rw-r--r--tvapi/libtv/audio/audio_effect.cpp356
-rw-r--r--tvapi/libtv/audio/audio_effect.h58
-rw-r--r--tvapi/libtv/include/amstream.h526
-rw-r--r--tvapi/libtv/include/amvecm.h136
-rw-r--r--tvapi/libtv/include/cm.h308
-rw-r--r--tvapi/libtv/include/hdmirx_cec.h316
-rw-r--r--tvapi/libtv/include/ve.h461
-rw-r--r--tvapi/libtv/tv/AutoBackLight.cpp425
-rw-r--r--tvapi/libtv/tv/CAutoPQparam.cpp150
-rw-r--r--tvapi/libtv/tv/CAutoPQparam.h41
-rw-r--r--tvapi/libtv/tv/CAv.cpp116
-rw-r--r--tvapi/libtv/tv/CAv.h24
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.cpp443
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.h25
-rw-r--r--tvapi/libtv/tv/CFrontEnd.cpp198
-rw-r--r--tvapi/libtv/tv/CFrontEnd.h19
-rw-r--r--tvapi/libtv/tv/CTv.cpp13003
-rw-r--r--tvapi/libtv/tv/CTv.h1453
-rw-r--r--tvapi/libtv/tv/CTvBooking.cpp324
-rw-r--r--tvapi/libtv/tv/CTvBooking.h166
-rw-r--r--tvapi/libtv/tv/CTvEpg.cpp24
-rw-r--r--tvapi/libtv/tv/CTvEv.h12
-rw-r--r--tvapi/libtv/tv/CTvLog.h8
-rw-r--r--tvapi/libtv/tv/CTvRecord.cpp552
-rw-r--r--tvapi/libtv/tv/CTvRecord.h92
-rw-r--r--tvapi/libtv/tv/CTvSatellite.h42
-rw-r--r--tvapi/libtv/tv/CTvScanner.cpp335
-rw-r--r--tvapi/libtv/tv/CTvScanner.h26
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.cpp1279
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.h351
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.cpp361
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.h484
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.cpp6
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.cpp4
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.h282
-rw-r--r--tvapi/libtv/tv/ScreenCatch.cpp379
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.cpp706
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.conf58
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.cpp106
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.h40
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.cpp694
-rw-r--r--tvapi/libtv/tvdb/CTvChannel.h574
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.cpp25
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.h188
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.cpp86
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.h194
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.cpp483
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.h170
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.cpp88
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.h60
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.cpp1806
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.h1066
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.cpp366
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.h84
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.cpp38
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.cpp478
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.h73
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp203
-rw-r--r--tvapi/libtv/tvin/CTvin.h191
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.cpp54
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.h100
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.cpp403
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.h152
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.cpp160
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.h52
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.cpp258
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.h74
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.cpp4658
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.h30
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingCfg.h782
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.cpp10
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.cpp2726
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.h64
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.cpp2575
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.h239
-rw-r--r--tvapi/libtv/tvutils/CCondition.h2
-rw-r--r--tvapi/libtv/tvutils/CFile.cpp65
-rw-r--r--tvapi/libtv/tvutils/CFile.h3
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.cpp2
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.cpp31
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.h3
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.h96
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.cpp18
-rw-r--r--tvapi/libtv/tvutils/CSqlite.cpp8
-rw-r--r--tvapi/libtv/tvutils/CSqlite.h12
-rw-r--r--tvapi/libtv/tvutils/CThread.cpp2
-rw-r--r--tvapi/libtv/tvutils/CTvInput.cpp25
-rw-r--r--tvapi/libtv/tvutils/CTvInput.h4
-rw-r--r--tvapi/libtv/tvutils/serial_base.h34
-rw-r--r--tvapi/libtv/tvutils/serial_operate.cpp66
-rw-r--r--tvapi/libtv/tvutils/serial_operate.h70
-rw-r--r--tvapi/libtv/tvutils/tvutils.cpp3931
-rw-r--r--tvapi/libtv/tvutils/tvutils.h222
-rw-r--r--tvapi/libtv/tvutils/zepoll.cpp2
-rw-r--r--tvapi/libtv/version/version.cpp188
-rw-r--r--tvapi/libtv/version/version.h22
-rw-r--r--tvapi/libtv/vpp/CPQdb.cpp3509
-rw-r--r--tvapi/libtv/vpp/CPQdb.h340
-rw-r--r--tvapi/libtv/vpp/CVpp.cpp5602
-rw-r--r--tvapi/libtv/vpp/CVpp.h230
-rw-r--r--tvapi/tvtests/Android.mk98
-rw-r--r--tvapi/tvtests/android_tvtest.cpp2
-rw-r--r--tvapi/tvtests/comm_test.cpp4
-rw-r--r--tvapi/tvtests/ssm_test.cpp420
-rw-r--r--tvapi/tvtests/tvconfig_test.cpp854
151 files changed, 45277 insertions, 47437 deletions
diff --git a/tvapi/libtv/tv/CAv.cpp b/tvapi/libtv/tv/CAv.cpp
index 20e1c31..655b281 100644
--- a/tvapi/libtv/tv/CAv.cpp
+++ b/tvapi/libtv/tv/CAv.cpp
@@ -1,6 +1,7 @@
#include "CAv.h"
#define LOG_TAG "CAv"
#include "../tvutils/tvutils.h"
+#include "../tvconfig/tvconfig.h"
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
@@ -64,7 +65,7 @@ int CAv::Close()
int iRet;
iRet = AM_AV_Close ( mTvPlayDevId );
iRet = AM_AOUT_Close ( mTvPlayDevId );
- if(mFdAmVideo > 0) {
+ if (mFdAmVideo > 0) {
close(mFdAmVideo);
mFdAmVideo = -1;
}
@@ -125,7 +126,7 @@ int CAv::DisableVideoBlackout()
int CAv::DisableVideoWithBlueColor()
{
LOGD("DisableVideoWithBlueColor");
- if(mCurVideoLayerMuteState == 1 && mCurDisableVideoColor == DISABLE_VIDEO_COLOR_BLUE) {
+ if (mCurVideoLayerMuteState == 1 && mCurDisableVideoColor == DISABLE_VIDEO_COLOR_BLUE) {
LOGD("video is disable with blue, return");
return 0;
}
@@ -138,7 +139,7 @@ int CAv::DisableVideoWithBlueColor()
int CAv::DisableVideoWithBlackColor()
{
LOGD("DisableVideoWithBlackColor");
- if(mCurVideoLayerMuteState == 1 && mCurDisableVideoColor == DISABLE_VIDEO_COLOR_BLACK) {
+ if (mCurVideoLayerMuteState == 1 && mCurDisableVideoColor == DISABLE_VIDEO_COLOR_BLACK) {
LOGD("video is disable with black, return");
return 0;
}
@@ -151,28 +152,106 @@ int CAv::DisableVideoWithBlackColor()
int CAv::EnableVideoAuto()
{
LOGD("EnableVideo");
- if(mCurVideoLayerMuteState == 0) {
+ if (mCurVideoLayerMuteState == 0) {
LOGD("video is enable, return");
return 0;
}
mCurVideoLayerMuteState = 0;
SetVideoScreenColor ( 0, 16, 128, 128 ); // Show black with vdin0, postblending disabled
- return ClearVideoBuffer();//disable video 2
+ ClearVideoBuffer();//disable video 2
+ return 0;
}
//just enable video
int CAv::EnableVideoNow()
{
LOGD("EnableVideoNow");
- if(mCurVideoLayerMuteState == 0) {
+ const char *config_value = NULL;
+ if (mCurVideoLayerMuteState == 0) {
LOGD("video is enable, return");
return 0;
}
mCurVideoLayerMuteState = 0;
- SetVideoScreenColor ( 3, 16, 128, 128 ); // Show blue with vdin0, postblending disabled
+ config_value = config_get_str ( "TV", "tvin.bluescreen.color", "null" );
+ if ( strcmp ( config_value, "black" ) == 0 ) {
+ } else {
+ SetVideoScreenColor ( 0, 16, 128, 128 ); // Show blue with vdin0, postblending disabled
+ }
return AM_AV_EnableVideo(mTvPlayDevId);
}
+int CAv::WaittingVideoPlaying(int minFrameCount , int waitTime )
+{
+ //EnableVideoNow();
+ static const int COUNT_FOR_TIME = 20;
+ int times = waitTime / COUNT_FOR_TIME;
+ int ret = -1;
+ int i = 0;
+ for (i = 0; i < times; i++) {
+ if (videoIsPlaying(minFrameCount)) {
+ ret = 0;
+ break;
+ }
+ }
+ if (i == times) {
+ LOGD("EnableVideoWhenVideoPlaying time out!!!!!!!!!!!!!");
+ ret = -2;
+ }
+ return ret;
+}
+
+int CAv::EnableVideoWhenVideoPlaying(int minFrameCount, int waitTime)
+{
+ int ret = WaittingVideoPlaying(minFrameCount, waitTime);
+ if (ret == 0) { //ok to playing
+ EnableVideoNow();
+ }
+ return ret;
+}
+
+bool CAv::videoIsPlaying(int minFrameCount)
+{
+ int value[3];
+ value[0] = getVideoFrameCount();
+ usleep(20 * 1000);
+ value[1] = getVideoFrameCount();
+ //usleep(20*1000);
+ //value[2] = getVideoFrameCount();
+ LOGD("---videoIsPlaying framecount =%d = %d = %d", value[0], value[1], value[2]);
+ if (value[1] >= minFrameCount && (value[1] > value[0])) return true;
+ else return false;
+}
+
+int CAv::getVideoFrameCount()
+{
+ char buf[32];
+ int fd = -1;
+ fd = open(PATH_FRAME_COUNT, O_RDWR);
+ if (fd < 0) {
+ LOGW("Open %s error(%s)!\n", PATH_FRAME_COUNT, strerror(errno));
+ return -1;
+ }
+ read(fd, buf, sizeof(buf));
+ int value = 0;
+ sscanf ( buf, "%d", &value );
+ close ( fd );
+ return value;
+}
+
+tvin_sig_fmt_t CAv::getVideoResolutionToFmt()
+{
+ tvin_sig_fmt_e sig_fmt = TVIN_SIG_FMT_HDMI_1920X1080P_60HZ;
+ int height = CFile::getFileAttrValue(PATH_VIDEO_HEIGHT);
+ LOGD("---------getVideoResolutionToFmt -------- height = %d", height);
+ if (height <= 576) {
+ sig_fmt = TVIN_SIG_FMT_HDMI_720X480P_60HZ;
+ } else if (height >576 && height <= 1088) {
+ sig_fmt = TVIN_SIG_FMT_HDMI_1920X1080P_60HZ;
+ } else {
+ sig_fmt = TVIN_SIG_FMT_HDMI_3840_2160_00HZ;
+ }
+ return sig_fmt;
+}
//call disable video 2
int CAv::ClearVideoBuffer()
{
@@ -337,7 +416,7 @@ void CAv::av_evt_callback ( long dev_no, int event_type, void *param, void *user
int CAv::set3DMode(VIDEO_3D_MODE_T mode, int LR_switch, int mode_3D_TO_2D)
{
unsigned int cmd = MODE_3D_DISABLE;
- switch(mode) {
+ switch (mode) {
case VIDEO_3D_MODE_DISABLE:
cmd = MODE_3D_DISABLE;
break;
@@ -361,21 +440,34 @@ int CAv::set3DMode(VIDEO_3D_MODE_T mode, int LR_switch, int mode_3D_TO_2D)
break;
}
- if(LR_switch == 1) {
+ if (LR_switch == 1) {
cmd = cmd | MODE_3D_LR_SWITCH;
}
- if(mode_3D_TO_2D == 1) {
+ if (mode_3D_TO_2D == 1) {
cmd = cmd | MODE_3D_TO_2D_L;
}
- if(mode_3D_TO_2D == 2) {
+ if (mode_3D_TO_2D == 2) {
cmd = cmd | MODE_3D_TO_2D_R;
}
LOGD("set 3d mode fd = %d cmd = 0x%x", mFdAmVideo, cmd);
int ret = ioctl(mFdAmVideo, AMSTREAM_IOC_SET_3D_TYPE , cmd);
- if(ret < 0) {
+ if (ret < 0) {
LOGE("set3DMode error ( %s )", strerror ( errno ));
}
return 0;
}
+
+int CAv::setLookupPtsForDtmb(int enable)
+{
+ FILE *fp = fopen ( PATH_MEPG_DTMB_LOOKUP_PTS_FLAG, "w" );
+ LOGD ( "setLookupPtsForDtmb %d ##" , enable);
+ if ( fp == NULL ) {
+ LOGE ( "Open %s error(%s)!\n", PATH_MEPG_DTMB_LOOKUP_PTS_FLAG, strerror ( errno ) );
+ return -1;
+ }
+ fprintf ( fp, "%d", enable );
+ fclose ( fp );
+ return 0;
+}