Add SharedFilter to tuner service.
Bug: 196124225
Test: atest android.media.tv.tuner.cts on both AIDL and HIDL HAL.
Change-Id: I91b1f9ef09b0bda868b7817be4d946d11629b16c
diff --git a/services/tuner/hidl/TunerHidlDemux.cpp b/services/tuner/hidl/TunerHidlDemux.cpp
index 5a921b9..a8151d2 100644
--- a/services/tuner/hidl/TunerHidlDemux.cpp
+++ b/services/tuner/hidl/TunerHidlDemux.cpp
@@ -121,8 +121,8 @@
}
HidlResult status;
sp<HidlIFilter> filterSp;
- sp<::android::hardware::tv::tuner::V1_0::IFilterCallback> cbSp =
- new TunerHidlFilter::FilterCallback(in_cb);
+ sp<TunerHidlFilter::FilterCallback> filterCb = new TunerHidlFilter::FilterCallback(in_cb);
+ sp<::android::hardware::tv::tuner::V1_0::IFilterCallback> cbSp = filterCb;
mDemux->openFilter(filterType, static_cast<uint32_t>(in_bufferSize), cbSp,
[&](HidlResult r, const sp<HidlIFilter>& filter) {
filterSp = filter;
@@ -132,7 +132,7 @@
return ::ndk::ScopedAStatus::fromServiceSpecificError(static_cast<int32_t>(status));
}
- *_aidl_return = ::ndk::SharedRefBase::make<TunerHidlFilter>(filterSp, in_type);
+ *_aidl_return = ::ndk::SharedRefBase::make<TunerHidlFilter>(filterSp, filterCb, in_type);
return ::ndk::ScopedAStatus::ok();
}