*
* Version History:
*
- * TV_INPUT_DEVICE_API_VERSION_0_1:
- * Initial TV input hardware device API.
- *
- * TV_INPUT_DEVICE_API_VERSION_0_2:
- * Minor revision --- add video detection flag in stream configs.
+ * TV_INPUT_MODULE_API_VERSION_0_1:
+ * Initial TV input hardware module API.
*
*/
#define TV_INPUT_MODULE_API_VERSION_0_1 HARDWARE_MODULE_API_VERSION(0, 1)
#define TV_INPUT_DEVICE_API_VERSION_0_1 HARDWARE_DEVICE_API_VERSION(0, 1)
-#define TV_INPUT_DEVICE_API_VERSION_0_2 HARDWARE_DEVICE_API_VERSION(0, 2)
/*
* The id of this module
* port. the framework regards input devices with no available streams as
* disconnected, so the implementation can generate this event with no
* available streams to indicate that this device is disconnected, and vice
- * versa. In addition, streams have signal detection flag to denote if
- * signal is detected for sure.
+ * versa.
*/
TV_INPUT_EVENT_STREAM_CONFIGURATIONS_CHANGED = 3,
/*
uint32_t max_video_height;
} tv_stream_config_t;
-enum {
- /*
- * Set if signal is detected on this stream. Note that even if this mask is
- * unset it does not necessarily mean no signal --- it denotes that HAL is
- * unsure of the signal status.
- */
- TV_STREAM_FLAG_MASK_SIGNAL_DETECTION = 0x1,
-};
-
-/*
- * >= TV_INPUT_DEVICE_API_VERSION_0_2
- *
- * tv_stream_config_t extended in a way that allows extension without breaking
- * binary compatibility
- */
-typedef struct tv_stream_config_ext {
- tv_stream_config_t config;
-
- /*
- * Flags to show the status of this stream. See TV_STREAM_FLAG_* for
- * details.
- */
- uint32_t flags;
-
- int32_t reserved[16 - 1];
-} tv_stream_config_ext_t;
-
typedef struct buffer_producer_stream {
/*
* IN/OUT: Width / height of the stream. Client may request for specific
int (*cancel_capture)(struct tv_input_device* dev, int device_id,
int stream_id, uint32_t seq);
- /*
- * get_stream_configurations_ext:
- *
- * Get stream configurations for a specific device. An input device may have
- * multiple configurations.
- *
- * The configs object is guaranteed to be valid only until the next call to
- * get_stream_configurations_ext() or STREAM_CONFIGURATIONS_CHANGED event.
- *
- * Return 0 on success.
- */
- int (*get_stream_configurations_ext)(const struct tv_input_device* dev,
- int device_id, int* num_configurations,
- const tv_stream_config_ext_t** configs);
-
- void* reserved[16 - 1];
+ void* reserved[16];
} tv_input_device_t;
__END_DECLS
const char* name, struct hw_device_t** device);
static struct hw_module_methods_t tv_input_module_methods = {
- .open = tv_input_device_open
+ open: tv_input_device_open
};
tv_input_module_t HAL_MODULE_INFO_SYM = {
- .common = {
- .tag = HARDWARE_MODULE_TAG,
- .version_major = 0,
- .version_minor = 1,
- .id = TV_INPUT_HARDWARE_MODULE_ID,
- .name = "Sample TV input module",
- .author = "The Android Open Source Project",
- .methods = &tv_input_module_methods,
+ common: {
+ tag: HARDWARE_MODULE_TAG,
+ version_major: 0,
+ version_minor: 1,
+ id: TV_INPUT_HARDWARE_MODULE_ID,
+ name: "Sample TV input module",
+ author: "The Android Open Source Project",
+ methods: &tv_input_module_methods,
}
};
}
static int tv_input_get_stream_configurations(
- const struct tv_input_device*, int, int*,
- const tv_stream_config_t**)
+ const struct tv_input_device*, int, int*, const tv_stream_config_t**)
{
return -EINVAL;
}
return -EINVAL;
}
-static int tv_input_get_stream_configurations_ext(
- const struct tv_input_device*, int, int*,
- const tv_stream_config_ext_t**)
-{
- return -EINVAL;
-}
-
/*****************************************************************************/
static int tv_input_device_close(struct hw_device_t *dev)
dev->device.close_stream = tv_input_close_stream;
dev->device.request_capture = tv_input_request_capture;
dev->device.cancel_capture = tv_input_cancel_capture;
- dev->device.get_stream_configurations_ext =
- tv_input_get_stream_configurations_ext;
*device = &dev->device.common;
status = 0;