Lines Matching full:hdmi
1 page.title=HDMI-CEC Control Service
29 <p>The High-Definition Multimedia Interface Consumer Electronics Control (HDMI-CEC) standard allows mulitmedia consumer products to communicate and
30 exchange information with each other. HDMI-CEC supports many features, like
36 <p>Most manufacturers have adopted HDMI-CEC so their devices work with other
37 companies? devices. But because each manufacturer implements the HDMI-CEC
46 <p>With the introduction of the Android TV Input Framework (TIF), HDMI-CEC brings
53 <li>A standard implementation of HDMI-CEC for all manufacturers, which will reduce
55 implementations of HDMI-CEC or use third-party solutions.</li>
56 <li>A service that is well-tested against numerous HDMI-CEC devices already in the
71 controller to an implementation of the simpler HDMI-CEC hardware abstraction
74 <img src="images/HDMI_Control_Service.png" alt="Diagram that shows how HDMI-CEC was implemented before and after Android 5.0">
76 <p class="img-caption"><strong>Figure 1.</strong> HDMI Control Service replacement</p>
81 <p>See the following diagram for a detailed view of the HDMI control service.</p>
83 <img src="images/HDMI_Control_Service_Flow.png" alt="Image that shows how HDMI Control service details">
85 <p class="img-caption"><strong>Figure 2.</strong> HDMI Control Service details</p>
87 <p>Here are the key ingredients to a proper Android HDMI-CEC implementation:</p>
92 <li> HDMI-CEC is connected with the hardware via a hardware abstraction layer (HAL)
102 frameworks/native/data/etc/android.hardware.hdmi.cec.xml:system/etc/permissions/android.hardware.hdmi.cec.xml
106 <p>Depending on whether your device is a HDMI sink device or a HDMI source device,
107 device manufacturers need to set <code>ro.hdmi.device_type</code> in <code>device.mk</code> for <code>HdmiControlService</code> to work correctly.</p>
109 <p>For HDMI source devices, like Over the Top (OTT) boxes, set:</p>
112 PRODUCT_PROPERTY_OVERRIDES += ro.hdmi.device_type=<strong>4</strong>
115 <p>For HDMI sink devices, like panel TVs, set:</p>
118 PRODUCT_PROPERTY_OVERRIDES += ro.hdmi.device_type=<strong>0</strong></pre>
129 <li> Access to the HDMI-CEC service is guarded with the protection level <code>SignatureOrSystem</code>. Only system components or the apps placed in <code>/system/priv-app</code> can access the service. This is to protect the service from abuse by apps with malicious intent.</li>
135 <h2 id=hdmi-cec_hal_definition>HDMI-CEC HAL definition</h2>
138 <p>In order to have the service in action, the HDMI-CEC HAL needs to be
171 <p>Here is an excerpt of the HDMI-CEC HAL definition regarding APIs:</p>
180 * HDMI-CEC HAL interface definition.
184 * Common methods of the HDMI-CEC device. This *must* be the first member of
218 * by connected HDMI devices. It is therefore likely to change if the cable
227 * (*send_message)() transmits HDMI-CEC message to other HDMI device.
242 * (*register_event_callback)() registers a callback that HDMI-CEC HAL
243 * can later use for incoming CEC messages or internal HDMI events.
264 * (*get_port_info)() returns the hdmi port information of underlying hardware.
265 * info is the list of HDMI port information, and 'total' is the number of
266 * HDMI ports in the system.
272 * (*set_option)() passes flags controlling the way HDMI-CEC service works down
303 HDMI-CEC commands, configure necessary settings, and (optionally) communicate
310 <p>Device manufacturers must test the APIs of the HDMI-CEC HAL with their own