Allow Descrambler.add/removePid to pass a nullable optional filter
Test: make
Bug: 184851519
Change-Id: Icf7d9526fa15dc11b23e9f73dbfceee748640772
diff --git a/media/jni/tuner/DescramblerClient.cpp b/media/jni/tuner/DescramblerClient.cpp
index 07be5cf..3e4ed82 100644
--- a/media/jni/tuner/DescramblerClient.cpp
+++ b/media/jni/tuner/DescramblerClient.cpp
@@ -73,26 +73,33 @@
Result DescramblerClient::addPid(DemuxPid pid, sp<FilterClient> optionalSourceFilter) {
if (mTunerDescrambler != NULL) {
- Status s = mTunerDescrambler->addPid(
- getAidlDemuxPid(pid), optionalSourceFilter->getAidlFilter());
+ shared_ptr<ITunerFilter> aidlFilter = (optionalSourceFilter == NULL)
+ ? NULL : optionalSourceFilter->getAidlFilter();
+ Status s = mTunerDescrambler->addPid(getAidlDemuxPid(pid), aidlFilter);
return ClientHelper::getServiceSpecificErrorCode(s);
}
if (mDescrambler != NULL) {
- return mDescrambler->addPid(pid, optionalSourceFilter->getHalFilter());
+ sp<IFilter> halFilter = (optionalSourceFilter == NULL)
+ ? NULL : optionalSourceFilter->getHalFilter();
+ return mDescrambler->addPid(pid, halFilter);
}
- return Result::INVALID_STATE;}
+ return Result::INVALID_STATE;
+}
Result DescramblerClient::removePid(DemuxPid pid, sp<FilterClient> optionalSourceFilter) {
if (mTunerDescrambler != NULL) {
- Status s = mTunerDescrambler->removePid(
- getAidlDemuxPid(pid), optionalSourceFilter->getAidlFilter());
+ shared_ptr<ITunerFilter> aidlFilter = (optionalSourceFilter == NULL)
+ ? NULL : optionalSourceFilter->getAidlFilter();
+ Status s = mTunerDescrambler->removePid(getAidlDemuxPid(pid), aidlFilter);
return ClientHelper::getServiceSpecificErrorCode(s);
}
if (mDescrambler != NULL) {
- return mDescrambler->removePid(pid, optionalSourceFilter->getHalFilter());
+ sp<IFilter> halFilter = (optionalSourceFilter == NULL)
+ ? NULL : optionalSourceFilter->getHalFilter();
+ return mDescrambler->removePid(pid, halFilter);
}
return Result::INVALID_STATE;