You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
3.1 KiB
79 lines
3.1 KiB
/* |
|
* Copyright (C) 2016 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.input@1.0; |
|
|
|
import ITvInputCallback; |
|
|
|
interface ITvInput { |
|
/** |
|
* Sets a callback for events. |
|
* |
|
* Note that initially no device is available in the client side, so the |
|
* implementation must notify all the currently available devices including |
|
* static devices via callback once callback is set. |
|
* |
|
* @param callback Callback object to pass events. |
|
*/ |
|
@entry |
|
@exit |
|
@callflow(next={"getStreamConfigurations"}) |
|
setCallback(ITvInputCallback callback); |
|
|
|
/** |
|
* Gets stream configurations for a specific device. |
|
* |
|
* The configs object is valid only until the next |
|
* STREAM_CONFIGURATIONS_CHANGED event. |
|
* |
|
* @param deviceId Device ID for the configurations. |
|
* @return result OK upon success. Otherwise, |
|
* INVALID_ARGUMENTS if the given device ID is not valid. |
|
* @return configurations An array of available configurations. |
|
*/ |
|
@callflow(next={"openStream", "getStreamConfigurations", "closeStream"}) |
|
getStreamConfigurations(int32_t deviceId) |
|
generates (Result result, vec<TvStreamConfig> configurations); |
|
|
|
/** |
|
* Opens a specific stream in a device. |
|
* |
|
* @param deviceId Device ID for the steam to open. |
|
* @param streamId Steam ID for the steam to open. Must be one of the |
|
* stream IDs returned from getStreamConfigurations(). |
|
* @return result OK upon success. Otherwise, |
|
* INVALID_ARGUMENTS if any of given IDs are not valid; |
|
* INVALID_STATE if the stream with the given ID is already open; |
|
* NO_RESOURCE if the client must close other streams to open the |
|
* stream. |
|
* @return sidebandStream handle for sideband stream. |
|
*/ |
|
@callflow(next={"closeStream", "getStreamConfigurations", "openStream"}) |
|
openStream(int32_t deviceId, int32_t streamId) |
|
generates (Result result, handle sidebandStream); |
|
|
|
/** |
|
* Closes a specific stream in a device. |
|
* |
|
* @param deviceId Device ID for the steam to open. |
|
* @param streamId Steam ID for the steam to open. |
|
* @return result OK upon success. Otherwise, |
|
* INVALID_ARGUMENTS if any of given IDs are not valid; |
|
* INVALID_STATE if the stream with the given ID is not open. |
|
*/ |
|
@callflow(next={"getStreamConfigurations", "openStream", "closeStream"}) |
|
closeStream(int32_t deviceId, int32_t streamId) generates (Result result); |
|
};
|
|
|