| /** |
| * Copyright (c) 2021, 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.media.tv.tuner; |
| |
| import android.hardware.tv.tuner.DemuxCapabilities; |
| import android.hardware.tv.tuner.FrontendInfo; |
| import android.media.tv.tuner.ITunerDemux; |
| import android.media.tv.tuner.ITunerDescrambler; |
| import android.media.tv.tuner.ITunerFrontend; |
| import android.media.tv.tuner.ITunerLnb; |
| |
| /** |
| * TunerService interface handles tuner related operations. |
| * |
| * {@hide} |
| */ |
| //@VintfStability |
| @SuppressWarnings(value={"out-array"}) |
| interface ITunerService { |
| /** |
| * Gets frontend IDs. |
| */ |
| void getFrontendIds(out int[] ids); |
| |
| /** |
| * Retrieve the frontend's information. |
| * |
| * @param frontendId the ID of the frontend. |
| * @return the information of the frontend. |
| */ |
| FrontendInfo getFrontendInfo(in int frontendId); |
| |
| /** |
| * Open a Tuner Frontend interface. |
| * |
| * @param frontendHandle the handle of the frontend granted by TRM. |
| * @return the aidl interface of the frontend. |
| */ |
| ITunerFrontend openFrontend(in int frontendHandle); |
| |
| /** |
| * Open a new interface of ITunerLnb given a lnbHandle. |
| * |
| * @param lnbHandle the handle of the LNB granted by TRM. |
| * @return a newly created ITunerLnb interface. |
| */ |
| ITunerLnb openLnb(in int lnbHandle); |
| |
| /** |
| * Open a new interface of ITunerLnb given a LNB name. |
| * |
| * @param lnbName the name for an external LNB to be opened. |
| * @return a newly created ITunerLnb interface. |
| */ |
| ITunerLnb openLnbByName(in String lnbName); |
| |
| /** |
| * Create a new instance of Demux. |
| */ |
| ITunerDemux openDemux(in int demuxHandle); |
| |
| /** |
| * Retrieve the Tuner Demux capabilities. |
| * |
| * @return the demux’s capabilities. |
| */ |
| DemuxCapabilities getDemuxCaps(); |
| |
| /* Open a new interface of ITunerDescrambler given a descramblerHandle. |
| * |
| * @param descramblerHandle the handle of the descrambler granted by TRM. |
| * @return a newly created ITunerDescrambler interface. |
| */ |
| ITunerDescrambler openDescrambler(in int descramblerHandle); |
| |
| /** |
| * Get an integer that carries the Tuner HIDL version. The high 16 bits are the |
| * major version number while the low 16 bits are the minor version. Default |
| * value is unknown version 0. |
| */ |
| int getTunerHalVersion(); |
| } |