Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ab6e1fb authored by Amy Zhang's avatar Amy Zhang
Browse files

Enable Tuner HAL 1.1 interface

The first feature to support in this new Tuner HAL is the 64-bit id.
In the current CL, we support Demux and Filter ids in 64-bit format.
More component ids will be suppored in 64-bit in the following CLs.

Test: atest VtsHalTvTunerV1_1TargetTest
Bug: b/159058358
Change-Id: If05eb9f0cd76935064b2e51ff3ff1a3a477e3bd1
parent 69143cc4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -482,7 +482,7 @@
    </hal>
    <hal format="hidl" optional="true">
        <name>android.hardware.tv.tuner</name>
        <version>1.0</version>
        <version>1.0-1</version>
        <interface>
            <name>ITuner</name>
            <instance>default</instance>
+16 −0
Original line number Diff line number Diff line
// This file is autogenerated by hidl-gen -Landroidbp.

hidl_interface {
    name: "android.hardware.tv.tuner@1.1",
    root: "android.hardware",
    srcs: [
        "IFilter.hal",
        "ITuner.hal",
    ],
    interfaces: [
        "android.hidl.base@1.0",
        "android.hidl.safe_union@1.0",
        "android.hardware.tv.tuner@1.0",
    ],
    gen_java: false,
}
+43 −0
Original line number Diff line number Diff line
/*
 * Copyright 2020 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.hardware.tv.tuner@1.1;

import @1.0::IFilter;
import @1.0::Result;

/**
 * The Filter is used to filter wanted data according to the filter's
 * configuration.
 *
 * To access the v1.1 IFilter APIs, the implementation can cast the IFilter
 * interface returned from the @1.0::IDemux openFilter into a v1.1 IFiler
 * using V1_1::IFilter::castFrom(V1_0::IFilter).
 */
interface IFilter extends @1.0::IFilter {
    /**
     * Get the 64-bit filter Id. This id is 32-bit in Tuner HAL 1.0.
     *
     * It is used by the client to ask the hardware resource id for the filter.
     *
     * @return result Result status of the operation.
     *         SUCCESS if successful,
     *         INVALID_STATE if failed for wrong state.
     *         UNKNOWN_ERROR if failed for other reasons.
     * @return filterId the hardware resource Id for the filter.
     */
    getId64Bit() generates (Result result, uint64_t filterId);
};
+26 −0
Original line number Diff line number Diff line
/*
 * Copyright 2020 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.hardware.tv.tuner@1.1;

import @1.0::ITuner;
import @1.0::Result;

/**
 * Top level interface to manage Frontend, Demux and Decrambler hardware
 * resources which are needed for Android TV.
 */
interface ITuner extends @1.0::ITuner {};