Home | History | Annotate | Download | only in tv

Lines Matching full:cec

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
40 can?t safely assume that two products that claim CEC support are completely
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
59 in the technology. The CEC service is designed to keep a healthy balance
70 <p>See the following diagram for a depiction of the switch from a custom CEC
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">
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
123 <li> A device manufacturer-provided proprietary CEC controller cannot coexist with <code>HdmiControlService</code>. It must be disabled or removed. Common requirements for this come from the need to handle manufacturer-specific commands. The manufacturer-specific
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
194 * HAL may use it to configure the hardware so that the CEC commands addressed
207 * It is used when the system doesn't need to process CEC command any more,
208 * hence to tell HAL to stop receiving commands from the CEC bus, and change
214 * (*get_physical_address)() returns the CEC physical address. The
227 * (*send_message)() transmits HDMI-CEC message to other HDMI device.
230 * hanging forever, which can happen if CEC signal line is pulled low for
242 * (*register_event_callback)() registers a callback that HDMI-CEC HAL
243 * can later use for incoming CEC messages or internal HDMI events.
252 * (*get_version)() returns the CEC version supported by underlying hardware.
272 * (*set_option)() passes flags controlling the way HDMI-CEC service works down
303 HDMI-CEC commands, configure necessary settings, and (optionally) communicate
304 with the microprocessor in the underlying platform that will take over the CEC
310 <p>Device manufacturers must test the APIs of the HDMI-CEC HAL with their own