• Quick Start
  • Booting
  • Platform
  • Portals
  • References
    • API Reference TOI3
    • IIP Reference
  • Resources
ARRIS Enterprises, Inc. Confidential Information

HDMI Service

The HDMI Service provides functionality to get information about existing HDMI settings on the STB and supports some HDMI CEC functionalities.

HDMI CEC Functionalities

HDMI CEC (Consumer Electronics Control) is a protocol that provides high-level control functions between HDMI CEC compliant devices in the home environment.

Supported CEC Features

The following CEC features are supported:

  • One Touch Play
  • Routing Control
  • Power Status
  • Feature Abort
  • Standby Initiator
  • Standby Follower
  • System Information
  • Device OSD Transfer
  • Remote Control Pass Through Initiator
  • Remote Control Pass Through Follower

HDMI Service Functionalities

HDMI Sink Information

ToiHdmiService provides an interface ToiHdmiService::getHdmiSinkInfo() for users to read the current HDMI sink information.
It provides you with the information about HDMI sinks that may be connected to hdmi[0] including the HDMI connection status, HDCP status and HDMI sink's manufacturer information.
ToiHdmiService::getHdmiSinkInfo() also gives you a list of audio formats and video modes that a connected HDMI sink claims to support through its EDID.

Standby Control

  • Entering Standby Mode:
  • When the STB enters standby mode its Standby Control automatically sends Standby and Give Device Power Status to the TV (HDMI sink) to power it off.

  • Leaving Standby Mode:
  • When the STB leaves standby mode, Standby Control automatically powers on the TV (HDMI sink) and tells it to switch to the correct HDMI input.
    To do this, it sends Image View On, Active Source, and Give Device Power to the TV.

    Standby Control responds to the user pressing the STB's Power button. If you would like to wake up the TV (HDMI sink) programatically, the One Touch Play interface ToiHdmiService::sendCecWakeup() can be called to wake up the TV from its standby and tell it to select the HDMI input for the STB.

    To enable standby control, call ToiHdmiService::setCecFeatures() with the parameter ToiHdmiService::CEC_FEATURE_SYSTEM_STANDBY.
    This feature can also be enabled by adding kreatv-option-hdmicec:system_standby=true to the boot image configuration.

    Standby Following Control

    When the TV (HDMI sink) is turned off, the STB uses Standby Following Control to automatically enter its standby mode too.

    To enable standby following control, call ToiHdmiService::setCecFeatures() with the parameter ToiHdmiService::CEC_FEATURE_SYSTEM_STANDBY_FOLLOWER
    This feature can also be enabled by adding kreatv-option-hdmicec:system_standby_follower=true to the boot image configuration.

    Wake Up

    Wake Up as a One Touch Play feature when calling HDMI TOI interface ToiHdmiService::sendCecWakeup() the following is sent to the TV (HDMI sink) by the platform: Image View On, Active Source and Give Device Power Status.

    Remote Control Pass Through Initiator

    The Remote control pass through initiator feature can be used to pass remote control commands from the STB to the TV.
    There is no automatic pass through of commands on the platform level, all commands need to be sent/forwarded by the application.
    At present, only the volume up/down and mute commands an HDMI connected TV are supported.

  • Mute/Unmute
  • To mute/unmute the TV, call ToiHdmiService::sendCecUserControlPressed() with the parameter ToiHdmiService::CEC_UICOMMAND_MUTE and call ToiHdmiService::sendCecUserControlReleased() a few seconds later to the simulate the key release event.
    UI Command code(HDMI spec CEC table 30) 0x43 will be sent to the connected TV.

  • Volume Up/Down
  • To change the volume up/down on the TV, call ToiHdmiService::sendCecUserControlPressed() with the parameter ToiHdmiService::CEC_UICOMMAND_VOLUME_UP or ToiHdmiService::CEC_UICOMMAND_VOLUME_DOWN and call ToiHdmiService::sendCecUserControlReleased() a few seconds later to simulate the key release event.
    UI Command code(HDMI spec CEC table 30) 0x41 (Volume Up) and 0x42 (Volume Down) will be sent to the connected TV.

    To enable Remote control pass through initiator, call ToiHdmiService::setCecFeatures() to enable CEC_FEATURE_REMOTE_CONTROL_PASSTHROUGH.
    This feature can also be enabled by adding kreatv-option-hdmicec:remote_control_passthrough=true to the boot image configuration.

    According to CEC requirement, the RCU repetition time should be no less than 200ms and no more than 500ms, the RCU repetition time can be configured by adding kreatv-option-rcu-config:repeat_rate=250 to the boot image configuration.

    Remote Control Pass Through Follower

    The Remote control pass through follower feature can be used to pass remote control commands from the connected devices to the STB.
    The KreaTV platform does not perform any automatic command handling. It is up to the application to handle this task.

    The portal needs to subscribe to the ON_CEC_USER_CONTROL_PRESSED and ON_CEC_USER_CONTROL_RELEASED events, and take appropriate action when they occur.

    To enable the generation of these events, call ToiHdmiService.setCecFeatures() to enable CEC_FEATURE_REMOTE_CONTROL_PASSTHROUGH_FOLLOWER.
    This feature can also be enabled by adding kreatv-option-hdmicec:remote_control_passthrough_follower=true to the boot image configuration.

    HDMI Service Methods

    The HDMI service provides the following HDMI CEC related methods:

    • setCecFeatures()
    • getCecFeatures()
    • getCecDevices()
    • sendCecUserControlPressed()
    • sendCecUserControlReleased()
    • sendCecWakeup()
    For more information about HDMI CEC-related functionality provided by KreaTV, see: TOI HDMI Service Interface

    HDMI Service Event Subscriptions

    Event subscriptions are used by the applications to get events when the CEC information of the devices on the CEC bus, any CEC feature status or the HDMI sink connection of hdmi[0] changes. Event subscriptions are done using event listener registration.

    See also: TOI HDMI Service Interface

    5.1.p5

    Copyright (c) 2017 ARRIS Enterprises, LLC. All Rights Reserved. ARRIS Enterprises, LLC. Confidential Information.