summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--tv_input.cpp45
-rw-r--r--tvapi/android/Android.mk2
-rw-r--r--tvapi/android/include/ITv.h100
-rw-r--r--tvapi/android/include/ITvClient.h58
-rw-r--r--tvapi/android/include/ITvService.h68
-rw-r--r--tvapi/android/include/Tv.h161
-rw-r--r--tvapi/android/include/tvcmd.h1188
-rw-r--r--tvapi/android/jni/Android.mk132
-rw-r--r--tvapi/android/jni/android_amlogic_tv.cpp911
-rw-r--r--tvapi/android/jni/cfbc_jni.cpp214
-rw-r--r--tvapi/android/jni/cfbc_test.cpp86
-rw-r--r--tvapi/android/libtvbinder/Android.mk48
-rw-r--r--tvapi/android/libtvbinder/ITv.cpp289
-rw-r--r--tvapi/android/libtvbinder/ITvClient.cpp117
-rw-r--r--tvapi/android/libtvbinder/ITvService.cpp101
-rw-r--r--tvapi/android/libtvbinder/Tv.cpp378
-rw-r--r--tvapi/android/tvserver/Android.mk162
-rw-r--r--tvapi/android/tvserver/TvService.cpp8755
-rw-r--r--tvapi/android/tvserver/TvService.h164
-rw-r--r--tvapi/android/tvserver/main.cpp46
-rwxr-xr-x[-rw-r--r--]tvapi/build/include/.gitignore0
-rw-r--r--tvapi/docs/tv.uml12156
-rw-r--r--tvapi/libtv/Android.mk3
-rw-r--r--tvapi/libtv/audio/audio_alsa.cpp2426
-rw-r--r--tvapi/libtv/audio/audio_alsa.h261
-rw-r--r--tvapi/libtv/audio/audio_android.cpp2070
-rw-r--r--tvapi/libtv/audio/audio_android.h157
-rw-r--r--tvapi/libtv/audio/audio_android_effect.cpp1182
-rw-r--r--tvapi/libtv/audio/audio_android_effect.h131
-rw-r--r--tvapi/libtv/audio/audio_api.cpp4940
-rw-r--r--tvapi/libtv/audio/audio_api.h647
-rw-r--r--tvapi/libtv/audio/audio_effect.cpp456
-rw-r--r--tvapi/libtv/audio/audio_effect.h63
-rw-r--r--tvapi/libtv/include/amstream.h526
-rw-r--r--tvapi/libtv/include/amvecm.h136
-rw-r--r--tvapi/libtv/include/cm.h306
-rw-r--r--tvapi/libtv/include/hdmirx_cec.h508
-rw-r--r--tvapi/libtv/include/ve.h438
-rw-r--r--tvapi/libtv/tv/AutoBackLight.cpp426
-rw-r--r--tvapi/libtv/tv/AutoBackLight.h47
-rw-r--r--tvapi/libtv/tv/CAv.cpp484
-rw-r--r--tvapi/libtv/tv/CAv.h194
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.cpp2326
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.h680
-rw-r--r--tvapi/libtv/tv/CFrontEnd.cpp838
-rw-r--r--tvapi/libtv/tv/CFrontEnd.h227
-rw-r--r--tvapi/libtv/tv/CTv.cpp10755
-rw-r--r--tvapi/libtv/tv/CTv.h1269
-rw-r--r--tvapi/libtv/tv/CTvBooking.cpp324
-rw-r--r--tvapi/libtv/tv/CTvBooking.h167
-rw-r--r--tvapi/libtv/tv/CTvDmx.cpp8
-rw-r--r--tvapi/libtv/tv/CTvDmx.h15
-rw-r--r--tvapi/libtv/tv/CTvEpg.cpp260
-rw-r--r--tvapi/libtv/tv/CTvEpg.h280
-rw-r--r--tvapi/libtv/tv/CTvEv.cpp2
-rw-r--r--tvapi/libtv/tv/CTvEv.h314
-rw-r--r--tvapi/libtv/tv/CTvLog.h8
-rw-r--r--tvapi/libtv/tv/CTvRecord.cpp552
-rw-r--r--tvapi/libtv/tv/CTvRecord.h93
-rw-r--r--tvapi/libtv/tv/CTvSatellite.h43
-rw-r--r--tvapi/libtv/tv/CTvScanner.cpp1417
-rw-r--r--tvapi/libtv/tv/CTvScanner.h319
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.cpp1060
-rw-r--r--tvapi/libtv/tv/CTvScreenCapture.h351
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.cpp272
-rw-r--r--tvapi/libtv/tv/CTvSubtitle.h469
-rw-r--r--tvapi/libtv/tv/CTvTime.h137
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.cpp250
-rw-r--r--tvapi/libtv/tv/CTvVchipCheck.h43
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.cpp974
-rw-r--r--tvapi/libtv/tv/CUpgradeFBC.h284
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.cpp706
-rw-r--r--tvapi/libtv/tvconfig/CIniFile.h79
-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.h575
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.cpp300
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.h190
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.cpp714
-rw-r--r--tvapi/libtv/tvdb/CTvDimension.h196
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.cpp482
-rw-r--r--tvapi/libtv/tvdb/CTvEvent.h171
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.cpp88
-rw-r--r--tvapi/libtv/tvdb/CTvGroup.h61
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.cpp1766
-rw-r--r--tvapi/libtv/tvdb/CTvProgram.h1065
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.cpp366
-rw-r--r--tvapi/libtv/tvdb/CTvRegion.h85
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.cpp830
-rw-r--r--tvapi/libtv/tvin/CSourceConnectDetect.cpp448
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp4240
-rw-r--r--tvapi/libtv/tvin/CTvin.h2222
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.cpp54
-rw-r--r--tvapi/libtv/tvsetting/CBlobDevice.h101
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.cpp706
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceE2prom.h153
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.cpp160
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.h53
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.cpp258
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceRam.h75
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.cpp4424
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingCfg.h742
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.cpp38
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.h11
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.cpp2784
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.cpp3706
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.h338
-rw-r--r--tvapi/libtv/tvutils/CCondition.h87
-rw-r--r--tvapi/libtv/tvutils/CFile.cpp250
-rw-r--r--tvapi/libtv/tvutils/CFile.h53
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.cpp6
-rw-r--r--tvapi/libtv/tvutils/CHdmiCecCmd.h9
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.cpp144
-rw-r--r--tvapi/libtv/tvutils/CMsgQueue.h44
-rw-r--r--tvapi/libtv/tvutils/CMutex.h116
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.cpp118
-rw-r--r--tvapi/libtv/tvutils/CSerialCommunication.h98
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.cpp568
-rw-r--r--tvapi/libtv/tvutils/CSerialPort.h45
-rw-r--r--tvapi/libtv/tvutils/CSqlite.cpp126
-rw-r--r--tvapi/libtv/tvutils/CSqlite.h292
-rw-r--r--tvapi/libtv/tvutils/CThread.cpp212
-rw-r--r--tvapi/libtv/tvutils/CThread.h79
-rw-r--r--tvapi/libtv/tvutils/CTvInput.cpp196
-rw-r--r--tvapi/libtv/tvutils/CTvInput.h49
-rw-r--r--tvapi/libtv/tvutils/serial_base.cpp560
-rw-r--r--tvapi/libtv/tvutils/serial_base.h34
-rw-r--r--tvapi/libtv/tvutils/serial_operate.cpp336
-rw-r--r--tvapi/libtv/tvutils/serial_operate.h72
-rw-r--r--tvapi/libtv/tvutils/tvutils.cpp3822
-rw-r--r--tvapi/libtv/tvutils/tvutils.h238
-rw-r--r--tvapi/libtv/tvutils/zepoll.cpp66
-rw-r--r--tvapi/libtv/tvutils/zepoll.h57
-rw-r--r--tvapi/libtv/version/version.cpp188
-rw-r--r--tvapi/libtv/version/version.h22
-rw-r--r--tvapi/libtv/vpp/CPQdb.cpp3183
-rw-r--r--tvapi/libtv/vpp/CPQdb.h321
-rw-r--r--tvapi/libtv/vpp/CVpp.cpp4772
-rw-r--r--tvapi/libtv/vpp/CVpp.h683
-rw-r--r--tvapi/libtv/vpp/pqdata.cpp216
-rw-r--r--tvapi/tvtests/Android.mk98
-rw-r--r--tvapi/tvtests/android_tvtest.cpp30
-rw-r--r--tvapi/tvtests/comm_test.cpp42
-rw-r--r--tvapi/tvtests/ssm_test.cpp420
-rw-r--r--tvapi/tvtests/tvconfig_test.cpp854
147 files changed, 55964 insertions, 55946 deletions
diff --git a/tvapi/android/libtvbinder/Tv.cpp b/tvapi/android/libtvbinder/Tv.cpp
index 29935d1..c3348c9 100644
--- a/tvapi/android/libtvbinder/Tv.cpp
+++ b/tvapi/android/libtvbinder/Tv.cpp
@@ -1,189 +1,189 @@
-#define LOG_TAG "Tv"
-#include <utils/Log.h>
-#include <utils/threads.h>
-#include <signal.h>
-#include <binder/IServiceManager.h>
-#include <binder/IMemory.h>
-
-#include <include/Tv.h>
-#include <include/ITvService.h>
-
-// client singleton for tv service binder interface
-Mutex Tv::mLock;
-sp<ITvService> Tv::mTvService;
-sp<Tv::DeathNotifier> Tv::mDeathNotifier;
-
-// establish binder interface to tv service
-const sp<ITvService> &Tv::getTvService()
-{
- Mutex::Autolock _l(mLock);
- if (mTvService.get() == 0) {
- sp<IServiceManager> sm = defaultServiceManager();
- sp<IBinder> binder;
- do {
- binder = sm->getService(String16("aml.tvserver"));
- if (binder != 0)
- break;
- ALOGW("TvService not published, waiting...");
- usleep(500000); // 0.5 s
- } while (true);
- if (mDeathNotifier == NULL) {
- mDeathNotifier = new DeathNotifier();
- }
- binder->linkToDeath(mDeathNotifier);
- mTvService = interface_cast<ITvService>(binder);
- }
- ALOGE_IF(mTvService == 0, "no TvService!?");
- return mTvService;
-}
-
-Tv::Tv()
-{
- init();
-}
-
-// construct a tv client from an existing tv remote
-sp<Tv> Tv::create(const sp<ITv> &tv)
-{
- ALOGD("create");
- if (tv == 0) {
- ALOGE("tv remote is a NULL pointer");
- return 0;
- }
-
- sp<Tv> c = new Tv();
- if (tv->connect(c) == NO_ERROR) {
- c->mStatus = NO_ERROR;
- c->mTv = tv;
- tv->asBinder()->linkToDeath(c);
- }
- return c;
-}
-
-void Tv::init()
-{
- mStatus = UNKNOWN_ERROR;
-}
-
-Tv::~Tv()
-{
- disconnect();
-}
-
-sp<Tv> Tv::connect()
-{
- ALOGD("Tv::connect------------------------------------------");
- sp<Tv> c = new Tv();
- const sp<ITvService> &cs = getTvService();
- if (cs != 0) {
- c->mTv = cs->connect(c);
- }
- if (c->mTv != 0) {
- c->mTv->asBinder()->linkToDeath(c);
- c->mStatus = NO_ERROR;
- } else {
- c.clear();
- }
- return c;
-}
-
-void Tv::disconnect()
-{
- ALOGD("disconnect");
- if (mTv != 0) {
- mTv->disconnect();
- mTv->asBinder()->unlinkToDeath(this);
- mTv = 0;
- }
-}
-
-status_t Tv::reconnect()
-{
- ALOGD("reconnect");
- sp <ITv> c = mTv;
- if (c == 0) return NO_INIT;
- return c->connect(this);
-}
-
-sp<ITv> Tv::remote()
-{
- return mTv;
-}
-
-status_t Tv::lock()
-{
- sp <ITv> c = mTv;
- if (c == 0) return NO_INIT;
- return c->lock();
-}
-
-status_t Tv::unlock()
-{
- sp <ITv> c = mTv;
- if (c == 0) return NO_INIT;
- return c->unlock();
-}
-
-status_t Tv::processCmd(const Parcel &p, Parcel *r)
-{
- sp <ITv> c = mTv;
- if (c == 0) return NO_INIT;
- return c->processCmd(p, r);
-}
-
-//
-status_t Tv::createSubtitle(const sp<IMemory> &share_mem)
-{
- sp <ITv> c = mTv;
- if (c == 0) return NO_INIT;
- return c->createSubtitle(share_mem);
-}
-
-status_t Tv::createVideoFrame(const sp<IMemory> &share_mem)
-{
- sp <ITv> c = mTv;
- if (c == 0) return NO_INIT;
- return c->createVideoFrame(share_mem);
-}
-
-
-void Tv::setListener(const sp<TvListener> &listener)
-{
- ALOGD("tv------------Tv::setListener");
- Mutex::Autolock _l(mLock);
- mListener = listener;
-}
-
-
-// callback from tv service
-void Tv::notifyCallback(int32_t msgType, const Parcel &p)
-{
- int size = p.dataSize();
- int pos = p.dataPosition();
- p.setDataPosition(0);
- sp<TvListener> listener;
- {
- Mutex::Autolock _l(mLock);
- listener = mListener;
- }
- if (listener != NULL) {
- listener->notify(msgType, p);
- }
-}
-
-void Tv::binderDied(const wp<IBinder> &who)
-{
- ALOGW("ITv died");
- //notifyCallback(1, 2, 0);
-}
-
-void Tv::DeathNotifier::binderDied(const wp<IBinder> &who)
-{
- ALOGW("-----------------binderDied");
- Mutex::Autolock _l(Tv::mLock);
- Tv::mTvService.clear();
- ALOGW("kill myself");
- kill(getpid(), SIGKILL);
- ALOGW("----------------Tv server died!");
-}
-
+#define LOG_TAG "Tv"
+#include <utils/Log.h>
+#include <utils/threads.h>
+#include <signal.h>
+#include <binder/IServiceManager.h>
+#include <binder/IMemory.h>
+
+#include <include/Tv.h>
+#include <include/ITvService.h>
+
+// client singleton for tv service binder interface
+Mutex Tv::mLock;
+sp<ITvService> Tv::mTvService;
+sp<Tv::DeathNotifier> Tv::mDeathNotifier;
+
+// establish binder interface to tv service
+const sp<ITvService> &Tv::getTvService()
+{
+ Mutex::Autolock _l(mLock);
+ if (mTvService.get() == 0) {
+ sp<IServiceManager> sm = defaultServiceManager();
+ sp<IBinder> binder;
+ do {
+ binder = sm->getService(String16("aml.tvserver"));
+ if (binder != 0)
+ break;
+ ALOGW("TvService not published, waiting...");
+ usleep(500000); // 0.5 s
+ } while(true);
+ if (mDeathNotifier == NULL) {
+ mDeathNotifier = new DeathNotifier();
+ }
+ binder->linkToDeath(mDeathNotifier);
+ mTvService = interface_cast<ITvService>(binder);
+ }
+ ALOGE_IF(mTvService == 0, "no TvService!?");
+ return mTvService;
+}
+
+Tv::Tv()
+{
+ init();
+}
+
+// construct a tv client from an existing tv remote
+sp<Tv> Tv::create(const sp<ITv> &tv)
+{
+ ALOGD("create");
+ if (tv == 0) {
+ ALOGE("tv remote is a NULL pointer");
+ return 0;
+ }
+
+ sp<Tv> c = new Tv();
+ if (tv->connect(c) == NO_ERROR) {
+ c->mStatus = NO_ERROR;
+ c->mTv = tv;
+ tv->asBinder()->linkToDeath(c);
+ }
+ return c;
+}
+
+void Tv::init()
+{
+ mStatus = UNKNOWN_ERROR;
+}
+
+Tv::~Tv()
+{
+ disconnect();
+}
+
+sp<Tv> Tv::connect()
+{
+ ALOGD("Tv::connect------------------------------------------");
+ sp<Tv> c = new Tv();
+ const sp<ITvService> &cs = getTvService();
+ if (cs != 0) {
+ c->mTv = cs->connect(c);
+ }
+ if (c->mTv != 0) {
+ c->mTv->asBinder()->linkToDeath(c);
+ c->mStatus = NO_ERROR;
+ } else {
+ c.clear();
+ }
+ return c;
+}
+
+void Tv::disconnect()
+{
+ ALOGD("disconnect");
+ if (mTv != 0) {
+ mTv->disconnect();
+ mTv->asBinder()->unlinkToDeath(this);
+ mTv = 0;
+ }
+}
+
+status_t Tv::reconnect()
+{
+ ALOGD("reconnect");
+ sp <ITv> c = mTv;
+ if (c == 0) return NO_INIT;
+ return c->connect(this);
+}
+
+sp<ITv> Tv::remote()
+{
+ return mTv;
+}
+
+status_t Tv::lock()
+{
+ sp <ITv> c = mTv;
+ if (c == 0) return NO_INIT;
+ return c->lock();
+}
+
+status_t Tv::unlock()
+{
+ sp <ITv> c = mTv;
+ if (c == 0) return NO_INIT;
+ return c->unlock();
+}
+
+status_t Tv::processCmd(const Parcel &p, Parcel *r)
+{
+ sp <ITv> c = mTv;
+ if (c == 0) return NO_INIT;
+ return c->processCmd(p, r);
+}
+
+//
+status_t Tv::createSubtitle(const sp<IMemory> &share_mem)
+{
+ sp <ITv> c = mTv;
+ if (c == 0) return NO_INIT;
+ return c->createSubtitle(share_mem);
+}
+
+status_t Tv::createVideoFrame(const sp<IMemory> &share_mem)
+{
+ sp <ITv> c = mTv;
+ if (c == 0) return NO_INIT;
+ return c->createVideoFrame(share_mem);
+}
+
+
+void Tv::setListener(const sp<TvListener> &listener)
+{
+ ALOGD("tv------------Tv::setListener");
+ Mutex::Autolock _l(mLock);
+ mListener = listener;
+}
+
+
+// callback from tv service
+void Tv::notifyCallback(int32_t msgType, const Parcel &p)
+{
+ int size = p.dataSize();
+ int pos = p.dataPosition();
+ p.setDataPosition(0);
+ sp<TvListener> listener;
+ {
+ Mutex::Autolock _l(mLock);
+ listener = mListener;
+ }
+ if (listener != NULL) {
+ listener->notify(msgType, p);
+ }
+}
+
+void Tv::binderDied(const wp<IBinder> &who)
+{
+ ALOGW("ITv died");
+ //notifyCallback(1, 2, 0);
+}
+
+void Tv::DeathNotifier::binderDied(const wp<IBinder> &who)
+{
+ ALOGW("-----------------binderDied");
+ Mutex::Autolock _l(Tv::mLock);
+ Tv::mTvService.clear();
+ ALOGW("kill myself");
+ kill(getpid(), SIGKILL);
+ ALOGW("----------------Tv server died!");
+}
+