RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
https://etwiki.sys.comcast.net/display/CE/%5bShared%5d+HDMI-CEC
https://rdkwiki.com/rdk/display/RDK/HDMI+Input
https://www.teamccp.com/confluence/display/CPE/RDK+HDMI+Input+Architecture
The HDMI_CEC API defines the ability to get connected HDMI devices, send messages to those devices, and to be notified when messages are received from HDMI devices
HDMI-CEC is a protocol that provides high-level control functions between audio-visual devices connected over HDMI. CEC is a one-wire bidirectional serial bus based on industry-standard AV.Link protocol to perform control functions. All audio-visual sources are connected directly or indirectly to a display device as the ‘root’ in a tree-like structure.
Hardware support for HDMI-CEC as specified in HDMI 1.4a
This feature applies to the following devices:
SoC CEC Driver
Send EDID to HDMI source
Provide HDMI input connect notification
Provide HDMI input connect notification via State Observer API.
Select select video source
Provide HDMI event notification
Read/Modify/Write EDID
Add dsRegisterHdmiListener
Add dsSelectVideoSource
Add dsScaleVideoSource
SoC Video Pipeline
Source video from HDMI input
Name | Parameters | Description |
---|---|---|
setEnabled | enabled : boolean | Enables or disables CEC |
getEnabled | none | Returns true if CEC is enabled |
setName | name : string | Sets the name of the STB device. The default name is "STB". It is recommended that the name of the device is set prior to enabling CEC. |
getName | none | Returns the name of the STB device |
sendMessage | message : String | The message is a base64 encoded byte array of the raw CEC bytes. The CEC message includes the device ID for the intended destination. |
getCECAddresses | none | return the JSON object <CECAddresses> that is assigned to the local device. It does not contain the <CECAddresses> of other devices on the connected CEC network. |
"CECAddresses" : { "CECLogicalAddress" : { The deviceType returned is part or all of devices types optionally set by XRE. A CEC device can have multiple deviceTypes, if so an array of <CECLogicalAddress> with size more than one is returned. Default deviceType is Tuner, and its logical Address is either 3, 6, 7, or 10. In messages sent by XRE, XRE can only use the logicalAddress returned from CECAddresses. Accepted deviceType are: "Tuner", "Record", "Playback", "AudioSystem", "VideoProcessor", "Switch" |
Name | Content | Description |
---|---|---|
onMessage | message : String | Fired when a message is sent from an HDMI device. Message is a base64 encoded byte array of the raw CEC bytes. |
cecAddressesChanged | JSON object <CECAddresses> | Notify that address of the host CEC device has changed |