Loading media/jni/android_media_tv_Tuner.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -461,6 +461,7 @@ MediaEvent::MediaEvent(sp<FilterClient> filterClient, native_handle_t *avHandle, } MediaEvent::~MediaEvent() { android::Mutex::Autolock autoLock(mLock); JNIEnv *env = AndroidRuntime::getJNIEnv(); env->DeleteWeakGlobalRef(mMediaEventObj); mMediaEventObj = nullptr; Loading media/jni/tuner/FilterClient.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ FilterClient::FilterClient(DemuxFilterType type, shared_ptr<ITunerFilter> tunerF } FilterClient::~FilterClient() { Mutex::Autolock _l(mLock); mTunerFilter = nullptr; mAvSharedHandle = nullptr; mAvSharedMemSize = 0; Loading Loading @@ -74,6 +75,7 @@ Result FilterClient::configure(DemuxFilterSettings configure) { Result res; checkIsPassthroughFilter(configure); Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->configure(configure); res = ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -87,6 +89,7 @@ Result FilterClient::configure(DemuxFilterSettings configure) { } Result FilterClient::configureMonitorEvent(int32_t monitorEventType) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->configureMonitorEvent(monitorEventType); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -96,6 +99,7 @@ Result FilterClient::configureMonitorEvent(int32_t monitorEventType) { } Result FilterClient::configureIpFilterContextId(int32_t cid) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->configureIpFilterContextId(cid); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -105,6 +109,7 @@ Result FilterClient::configureIpFilterContextId(int32_t cid) { } Result FilterClient::configureAvStreamType(AvStreamType avStreamType) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->configureAvStreamType(avStreamType); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -114,6 +119,7 @@ Result FilterClient::configureAvStreamType(AvStreamType avStreamType) { } Result FilterClient::start() { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->start(); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -123,6 +129,7 @@ Result FilterClient::start() { } Result FilterClient::stop() { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->stop(); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -132,6 +139,7 @@ Result FilterClient::stop() { } Result FilterClient::flush() { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->flush(); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -141,6 +149,7 @@ Result FilterClient::flush() { } Result FilterClient::getId(int32_t& id) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->getId(&id); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -150,6 +159,7 @@ Result FilterClient::getId(int32_t& id) { } Result FilterClient::getId64Bit(int64_t& id) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->getId64Bit(&id); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -159,6 +169,7 @@ Result FilterClient::getId64Bit(int64_t& id) { } Result FilterClient::releaseAvHandle(native_handle_t* handle, uint64_t avDataId) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->releaseAvHandle(dupToAidl(handle), avDataId); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -168,6 +179,7 @@ Result FilterClient::releaseAvHandle(native_handle_t* handle, uint64_t avDataId) } Result FilterClient::setDataSource(sp<FilterClient> filterClient){ Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->setDataSource(filterClient->getAidlFilter()); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -177,6 +189,7 @@ Result FilterClient::setDataSource(sp<FilterClient> filterClient){ } Result FilterClient::close() { Mutex::Autolock _l(mLock); if (mFilterMQEventFlag != nullptr) { EventFlag::deleteEventFlag(&mFilterMQEventFlag); mFilterMQEventFlag = nullptr; Loading @@ -197,6 +210,7 @@ Result FilterClient::close() { } string FilterClient::acquireSharedFilterToken() { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { string filterToken; if (mTunerFilter->acquireSharedFilterToken(&filterToken).isOk()) { Loading @@ -208,6 +222,7 @@ string FilterClient::acquireSharedFilterToken() { } Result FilterClient::freeSharedFilterToken(const string& filterToken) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->freeSharedFilterToken(filterToken); return ClientHelper::getServiceSpecificErrorCode(s); Loading Loading @@ -237,6 +252,7 @@ Status TunerFilterCallback::onFilterEvent(const vector<DemuxFilterEvent>& filter } Result FilterClient::getFilterMq() { Mutex::Autolock _l(mLock); if (mFilterMQ != nullptr) { return Result::SUCCESS; } Loading media/jni/tuner/FilterClient.h +3 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <aidl/android/media/tv/tuner/BnTunerFilterCallback.h> #include <aidl/android/media/tv/tuner/ITunerFilter.h> #include <fmq/AidlMessageQueue.h> #include <utils/Mutex.h> #include "ClientHelper.h" #include "FilterClientCallback.h" Loading @@ -37,6 +38,7 @@ using ::aidl::android::hardware::tv::tuner::FilterDelayHint; using ::aidl::android::media::tv::tuner::BnTunerFilterCallback; using ::aidl::android::media::tv::tuner::ITunerFilter; using ::android::hardware::EventFlag; using ::android::Mutex; using namespace std; Loading Loading @@ -179,6 +181,7 @@ private: uint64_t mAvSharedMemSize; bool mIsMediaFilter; bool mIsPassthroughFilter; Mutex mLock; }; } // namespace android Loading Loading
media/jni/android_media_tv_Tuner.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -461,6 +461,7 @@ MediaEvent::MediaEvent(sp<FilterClient> filterClient, native_handle_t *avHandle, } MediaEvent::~MediaEvent() { android::Mutex::Autolock autoLock(mLock); JNIEnv *env = AndroidRuntime::getJNIEnv(); env->DeleteWeakGlobalRef(mMediaEventObj); mMediaEventObj = nullptr; Loading
media/jni/tuner/FilterClient.cpp +16 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ FilterClient::FilterClient(DemuxFilterType type, shared_ptr<ITunerFilter> tunerF } FilterClient::~FilterClient() { Mutex::Autolock _l(mLock); mTunerFilter = nullptr; mAvSharedHandle = nullptr; mAvSharedMemSize = 0; Loading Loading @@ -74,6 +75,7 @@ Result FilterClient::configure(DemuxFilterSettings configure) { Result res; checkIsPassthroughFilter(configure); Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->configure(configure); res = ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -87,6 +89,7 @@ Result FilterClient::configure(DemuxFilterSettings configure) { } Result FilterClient::configureMonitorEvent(int32_t monitorEventType) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->configureMonitorEvent(monitorEventType); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -96,6 +99,7 @@ Result FilterClient::configureMonitorEvent(int32_t monitorEventType) { } Result FilterClient::configureIpFilterContextId(int32_t cid) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->configureIpFilterContextId(cid); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -105,6 +109,7 @@ Result FilterClient::configureIpFilterContextId(int32_t cid) { } Result FilterClient::configureAvStreamType(AvStreamType avStreamType) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->configureAvStreamType(avStreamType); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -114,6 +119,7 @@ Result FilterClient::configureAvStreamType(AvStreamType avStreamType) { } Result FilterClient::start() { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->start(); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -123,6 +129,7 @@ Result FilterClient::start() { } Result FilterClient::stop() { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->stop(); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -132,6 +139,7 @@ Result FilterClient::stop() { } Result FilterClient::flush() { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->flush(); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -141,6 +149,7 @@ Result FilterClient::flush() { } Result FilterClient::getId(int32_t& id) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->getId(&id); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -150,6 +159,7 @@ Result FilterClient::getId(int32_t& id) { } Result FilterClient::getId64Bit(int64_t& id) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->getId64Bit(&id); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -159,6 +169,7 @@ Result FilterClient::getId64Bit(int64_t& id) { } Result FilterClient::releaseAvHandle(native_handle_t* handle, uint64_t avDataId) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->releaseAvHandle(dupToAidl(handle), avDataId); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -168,6 +179,7 @@ Result FilterClient::releaseAvHandle(native_handle_t* handle, uint64_t avDataId) } Result FilterClient::setDataSource(sp<FilterClient> filterClient){ Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->setDataSource(filterClient->getAidlFilter()); return ClientHelper::getServiceSpecificErrorCode(s); Loading @@ -177,6 +189,7 @@ Result FilterClient::setDataSource(sp<FilterClient> filterClient){ } Result FilterClient::close() { Mutex::Autolock _l(mLock); if (mFilterMQEventFlag != nullptr) { EventFlag::deleteEventFlag(&mFilterMQEventFlag); mFilterMQEventFlag = nullptr; Loading @@ -197,6 +210,7 @@ Result FilterClient::close() { } string FilterClient::acquireSharedFilterToken() { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { string filterToken; if (mTunerFilter->acquireSharedFilterToken(&filterToken).isOk()) { Loading @@ -208,6 +222,7 @@ string FilterClient::acquireSharedFilterToken() { } Result FilterClient::freeSharedFilterToken(const string& filterToken) { Mutex::Autolock _l(mLock); if (mTunerFilter != nullptr) { Status s = mTunerFilter->freeSharedFilterToken(filterToken); return ClientHelper::getServiceSpecificErrorCode(s); Loading Loading @@ -237,6 +252,7 @@ Status TunerFilterCallback::onFilterEvent(const vector<DemuxFilterEvent>& filter } Result FilterClient::getFilterMq() { Mutex::Autolock _l(mLock); if (mFilterMQ != nullptr) { return Result::SUCCESS; } Loading
media/jni/tuner/FilterClient.h +3 −0 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <aidl/android/media/tv/tuner/BnTunerFilterCallback.h> #include <aidl/android/media/tv/tuner/ITunerFilter.h> #include <fmq/AidlMessageQueue.h> #include <utils/Mutex.h> #include "ClientHelper.h" #include "FilterClientCallback.h" Loading @@ -37,6 +38,7 @@ using ::aidl::android::hardware::tv::tuner::FilterDelayHint; using ::aidl::android::media::tv::tuner::BnTunerFilterCallback; using ::aidl::android::media::tv::tuner::ITunerFilter; using ::android::hardware::EventFlag; using ::android::Mutex; using namespace std; Loading Loading @@ -179,6 +181,7 @@ private: uint64_t mAvSharedMemSize; bool mIsMediaFilter; bool mIsPassthroughFilter; Mutex mLock; }; } // namespace android Loading