Add new features to tuner service.
*) Add AAC formats backward compatibility.
*) Support dumping frontend hardware information.
*) Add DemuxFilterMediaEvent ScIndexMask backward compatibility.
*) Move setLna to TunerService and add Hidl backward compatibility.
Bug: 205265630
Bug: 184017033
Bug: 202978951
Bug: 203623028
Test: atest android.media.tv.tuner.cts on AIDL and HIDL HALs
Change-Id: I491da4e21649b61b25734fc1f9bf64bb77f52a87
diff --git a/services/tuner/hidl/TunerHidlService.h b/services/tuner/hidl/TunerHidlService.h
index 2b8750e..4cff7cf 100644
--- a/services/tuner/hidl/TunerHidlService.h
+++ b/services/tuner/hidl/TunerHidlService.h
@@ -24,8 +24,11 @@
#include <android/hardware/tv/tuner/1.1/ITuner.h>
#include <utils/Mutex.h>
+#include <unordered_set>
+
#include "TunerHelper.h"
#include "TunerHidlFilter.h"
+#include "TunerHidlFrontend.h"
using ::aidl::android::hardware::tv::tuner::DemuxCapabilities;
using ::aidl::android::hardware::tv::tuner::DemuxFilterEvent;
@@ -85,9 +88,11 @@
::ndk::ScopedAStatus openSharedFilter(const string& in_filterToken,
const shared_ptr<ITunerFilterCallback>& in_cb,
shared_ptr<ITunerFilter>* _aidl_return) override;
+ ::ndk::ScopedAStatus setLna(bool in_bEnable) override;
string addFilterToShared(const shared_ptr<TunerHidlFilter>& sharedFilter);
void removeSharedFilter(const shared_ptr<TunerHidlFilter>& sharedFilter);
+ void removeFrontend(const shared_ptr<TunerHidlFrontend>& frontend);
static shared_ptr<TunerHidlService> getTunerService();
@@ -108,6 +113,9 @@
int mTunerVersion = TUNER_HAL_VERSION_UNKNOWN;
Mutex mSharedFiltersLock;
map<string, shared_ptr<TunerHidlFilter>> mSharedFilters;
+ Mutex mOpenedFrontendsLock;
+ unordered_set<shared_ptr<TunerHidlFrontend>> mOpenedFrontends;
+ int mLnaStatus = -1;
static shared_ptr<TunerHidlService> sTunerService;
};