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

Commit 900574b2 authored by Amy Zhang's avatar Amy Zhang Committed by android-build-merger
Browse files

Merge "Add Demux and Descrambler interface to Tuner HAL Test: Manual bug: 135709729" am: 7048f252

am: f01ab481

Change-Id: I83fdf816c698b5e50a4aafe2e5931a6c093d655c
parents e59fc676 f01ab481
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -8,6 +8,9 @@ hidl_interface {
    },
    srcs: [
        "types.hal",
        "IDemux.hal",
        "IDemuxCallback.hal",
        "IDescrambler.hal",
        "IFrontend.hal",
        "IFrontendCallback.hal",
        "ITuner.hal",
+37 −0
Original line number Diff line number Diff line
package android.hardware.tv.tuner@1.0;

import IDemuxCallback;

/**
 * Demultiplexer(Demux) takes a single multiplexed input and splits it into
 * one or more output.
 *
 */
interface IDemux {

    /**
     * Set a frontend resource as data input of the demux
     *
     * It is used by the client to specify a hardware frontend as data source of
     * this demux instance. A demux instance can have only one data source.
     *
     * @return result Result status of the operation.
     *         SUCCESS if successful,
     *         INVALID_STATE if failed for wrong state.
     *         UNKNOWN_ERROR if failed for other reasons.
     */
    setFrontendDataSource(FrontendId frontendId) generates (Result result);

    /**
     * Close the Demux instance
     *
     * It is used by the client to release the demux instance. HAL clear
     * underneath resource. client mustn't access the instance any more.
     *
     * @return result Result status of the operation.
     *         SUCCESS if successful,
     *         UNKNOWN_ERROR if failed for other reasons.
     */
    close() generates (Result result);
};
+11 −0
Original line number Diff line number Diff line
package android.hardware.tv.tuner@1.0;

interface IDemuxCallback {
    /**
     * Notify the client that a new filter event happened.
     *
     * @param filterEvent a demux filter event.
     */
     oneway onFilterEvent(DemuxFilterEvent filterEvent);
};
+35 −0
Original line number Diff line number Diff line
package android.hardware.tv.tuner@1.0;

/**
 * Descrambler is used to descramble input data.
 *
 */
interface IDescrambler {

    /**
     * Set a demux as source of the descrambler
     *
     * It is used by the client to specify a demux as source of this
     * descrambler. A descrambler instance can have only one source, and
     * this method can be only called once.
     *
     * @return result Result status of the operation.
     *         SUCCESS if successful,
     *         INVALID_STATE if failed for wrong state.
     *         UNKNOWN_ERROR if failed for other reasons.
     */
    setDemuxSource(DemuxId demuxId) generates (Result result);

    /**
     * Release the descrambler instance
     *
     * It is used by the client to release the descrambler instance. HAL clear
     * underneath resource. client mustn't access the instance any more.
     *
     * @return result Result status of the operation.
     *         SUCCESS if successful,
     *         UNKNOWN_ERROR if failed for other reasons.
     */
     close() generates (Result result);
};
+28 −1
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@

package android.hardware.tv.tuner@1.0;

import IDemux;
import IDescrambler;
import IFrontend;

/**
@@ -48,5 +50,30 @@ interface ITuner {
    openFrontendById(FrontendId frontendId)
        generates (Result result, IFrontend frontend);

};
    /**
     * Create a new instance of Demux.
     *
     * It is used by the client to create a Demux instance.
     *
     * @return result Result status of the operation.
     *         SUCCESS if successful,
     *         UNKNOWN_ERROR if creation failed for other reasons.
     * @return demuxId newly created demux id.
     * @return demux the newly created demux interface.
     */
     openDemux()
         generates (Result result, DemuxId demuxId, IDemux demux);

    /**
     * Create a new instance of Descrambler.
     *
     * It is used by the client to create a Descrambler instance.
     *
     * @return result Result status of the operation.
     *         SUCCESS if successful,
     *         UNKNOWN_ERROR if creation failed for other reasons.
     * @return descrambler the newly created descrambler interface.
     */
     openDescrambler()
         generates (Result result, IDescrambler descrambler);
};
Loading