Merge "Fix TunerService/TunerClient implementation issues" into sc-dev
This commit is contained in:
@@ -3029,7 +3029,8 @@ static FrontendSettings getFrontendSettings(JNIEnv *env, int type, jobject setti
|
||||
}
|
||||
}
|
||||
|
||||
static FrontendSettingsExt1_1 getFrontendSettingsExt1_1(JNIEnv *env, int type, jobject settings) {
|
||||
static FrontendSettingsExt1_1 getFrontendSettingsExt1_1(
|
||||
JNIEnv *env, int type, jobject settings, int tunerVersion) {
|
||||
ALOGD("getFrontendSettingsExt1_1 %d", type);
|
||||
|
||||
FrontendSettingsExt1_1 settingsExt1_1 {
|
||||
@@ -3038,6 +3039,10 @@ static FrontendSettingsExt1_1 getFrontendSettingsExt1_1(JNIEnv *env, int type, j
|
||||
};
|
||||
settingsExt1_1.settingExt.noinit();
|
||||
|
||||
if (tunerVersion < TUNER_VERSION_1_1) {
|
||||
return settingsExt1_1;
|
||||
}
|
||||
|
||||
if (type == static_cast<int>(::android::hardware::tv::tuner::V1_1::FrontendType::DTMB)) {
|
||||
getDtmbFrontendSettings(env, settings, settingsExt1_1);
|
||||
} else {
|
||||
@@ -3220,7 +3225,8 @@ static jobject android_media_tv_Tuner_open_frontend_by_handle(
|
||||
static int android_media_tv_Tuner_tune(JNIEnv *env, jobject thiz, jint type, jobject settings) {
|
||||
sp<JTuner> tuner = getTuner(env, thiz);
|
||||
FrontendSettings setting = getFrontendSettings(env, type, settings);
|
||||
FrontendSettingsExt1_1 settingExt = getFrontendSettingsExt1_1(env, type, settings);
|
||||
FrontendSettingsExt1_1 settingExt = getFrontendSettingsExt1_1(
|
||||
env, type, settings, tuner->getTunerVersion());
|
||||
return tuner->tune(setting, settingExt);
|
||||
}
|
||||
|
||||
@@ -3233,7 +3239,8 @@ static int android_media_tv_Tuner_scan(
|
||||
JNIEnv *env, jobject thiz, jint settingsType, jobject settings, jint scanType) {
|
||||
sp<JTuner> tuner = getTuner(env, thiz);
|
||||
FrontendSettings setting = getFrontendSettings(env, settingsType, settings);
|
||||
FrontendSettingsExt1_1 settingExt = getFrontendSettingsExt1_1(env, settingsType, settings);
|
||||
FrontendSettingsExt1_1 settingExt = getFrontendSettingsExt1_1(
|
||||
env, settingsType, settings, tuner->getTunerVersion());
|
||||
return tuner->scan(setting, static_cast<FrontendScanType>(scanType), settingExt);
|
||||
}
|
||||
|
||||
|
||||
@@ -73,6 +73,8 @@ using ::android::hardware::tv::tuner::V1_1::FrontendScanMessageTypeExt1_1;
|
||||
|
||||
using MQ = MessageQueue<uint8_t, kSynchronizedReadWrite>;
|
||||
|
||||
const static int TUNER_VERSION_1_1 = ((1 << 16) | 1);
|
||||
|
||||
namespace android {
|
||||
|
||||
struct LnbClientCallbackImpl : public LnbClientCallback {
|
||||
|
||||
@@ -596,11 +596,11 @@ TunerFilterSectionSettings FilterClient::getAidlSectionSettings(
|
||||
sectionBits.mask.resize(hidlSectionBits.mask.size());
|
||||
sectionBits.mode.resize(hidlSectionBits.mode.size());
|
||||
copy(hidlSectionBits.filter.begin(), hidlSectionBits.filter.end(),
|
||||
hidlSectionBits.filter.begin());
|
||||
sectionBits.filter.begin());
|
||||
copy(hidlSectionBits.mask.begin(), hidlSectionBits.mask.end(),
|
||||
hidlSectionBits.mask.begin());
|
||||
sectionBits.mask.begin());
|
||||
copy(hidlSectionBits.mode.begin(), hidlSectionBits.mode.end(),
|
||||
hidlSectionBits.mode.begin());
|
||||
sectionBits.mode.begin());
|
||||
aidlSection.condition.set<TunerFilterSectionCondition::sectionBits>(sectionBits);
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user