summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--tv_callback.h24
-rw-r--r--tv_input.cpp762
-rw-r--r--tvapi/android/include/ITv.h2
-rw-r--r--tvapi/android/include/Tv.h79
-rw-r--r--tvapi/android/include/TvClient.h75
-rw-r--r--tvapi/android/jni/com_droidlogic_app_tv_TvControlManager.cpp30
-rw-r--r--tvapi/android/libtvbinder/Android.mk2
-rw-r--r--tvapi/android/libtvbinder/Tv.cpp189
-rw-r--r--tvapi/android/libtvbinder/TvClient.cpp168
-rw-r--r--tvapi/android/tv/Android.mk2
-rw-r--r--tvapi/android/tv/CTv.cpp104
-rw-r--r--tvapi/android/tv/CTv.h54
-rw-r--r--tvapi/android/tv/TvPlay.cpp85
-rw-r--r--tvapi/android/tv/TvPlay.h62
-rw-r--r--tvapi/android/tvserver/TvService.cpp11
-rw-r--r--tvapi/android/tvserver/TvService.h2
-rw-r--r--tvapi/libtv/tv/CAv.cpp2
-rw-r--r--tvapi/libtv/tv/CFbcCommunication.cpp2
-rw-r--r--tvapi/libtv/tv/CTv.cpp12798
-rw-r--r--tvapi/libtv/tv/CTv.h4
-rw-r--r--tvapi/libtv/tvconfig/tvconfig.h8
-rw-r--r--tvapi/libtv/tvdb/CTvDatabase.cpp4
-rw-r--r--tvapi/libtv/tvin/CHDMIRxCEC.cpp2
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp115
-rw-r--r--tvapi/libtv/tvsetting/CBlobDeviceFile.cpp4
-rw-r--r--tvapi/libtv/tvsetting/CTvSetting.cpp104
-rw-r--r--tvapi/libtv/tvsetting/CTvSettingDeviceFactory.cpp6
-rw-r--r--tvapi/libtv/tvsetting/TvKeyData.cpp54
-rw-r--r--tvapi/libtv/tvsetting/audio_cfg.cpp122
-rw-r--r--tvapi/libtv/tvutils/tvutils.cpp126
-rw-r--r--tvapi/libtv/tvutils/tvutils.h2
-rw-r--r--tvapi/libtv/vpp/CVpp.cpp34
-rw-r--r--tvapi/tvtests/android_tvtest.cpp33
33 files changed, 7184 insertions, 7887 deletions
diff --git a/tvapi/android/include/TvClient.h b/tvapi/android/include/TvClient.h
new file mode 100644
index 0000000..a3f2a3f
--- a/dev/null
+++ b/tvapi/android/include/TvClient.h
@@ -0,0 +1,75 @@
+#ifndef _ANDROID_TV_CLIENT_H_
+#define _ANDROID_TV_CLIENT_H_
+
+#include <utils/Timers.h>
+#include <include/ITvClient.h>
+#include <binder/MemoryHeapBase.h>
+#include <binder/MemoryBase.h>
+#include <utils/threads.h>
+
+using namespace android;
+
+class ITvService;
+class ITv;
+
+// ref-counted object for callbacks
+class TvListener: virtual public RefBase {
+public:
+ virtual void notify(int32_t msgType, const Parcel &ext) = 0;
+};
+
+class TvClient : public BnTvClient, public IBinder::DeathRecipient {
+public:
+ // construct a tv client from an existing remote
+ static sp<TvClient> create(const sp<ITv> &tv);
+ static sp<TvClient> connect();
+ ~TvClient();
+ void init();
+ status_t reconnect();
+ void disconnect();
+ status_t lock();
+ status_t unlock();
+
+ status_t getStatus() { return mStatus; }
+ status_t processCmd(const Parcel &p, Parcel *r);
+ status_t createSubtitle(const sp<IMemory> &share_mem);
+ status_t createVideoFrame(const sp<IMemory> &share_mem, int iSourceMode, int iCapVideoLayerOnly);
+ void setListener(const sp<TvListener> &listener);
+
+ // ITvClient interface
+ virtual void notifyCallback(int32_t msgType, const Parcel &p);
+
+ sp<ITv> remote();
+
+private:
+ TvClient();
+ TvClient(const TvClient &);
+ TvClient &operator = (const TvClient);
+ virtual void binderDied(const wp<IBinder> &who);
+
+ class DeathNotifier: public IBinder::DeathRecipient {
+ public:
+ DeathNotifier() {}
+ virtual void binderDied(const wp<IBinder> &who);
+ };
+
+ static sp<DeathNotifier> mDeathNotifier;
+
+ // helper function to obtain tv service handle
+ static const sp<ITvService> &getTvService();
+
+ sp<ITv> mTv;
+ status_t mStatus;
+
+ sp<TvListener> mListener;
+
+ friend class DeathNotifier;
+
+ static Mutex mLock;
+ static sp<ITvService> mTvService;
+
+ sp<MemoryHeapBase> mBmpMemHeap;
+ sp<MemoryBase> mBmpMemBase;
+};
+#endif/*_ANDROID_TV_CLIENT_H_*/
+