RDK Documentation (Open Sourced RDK Components)

Description

Tuner States
State Meaning
Free The Tuner is available for allocation.
Live Currently tuned to a service and in use for viewing the live TV channel.
Record Currently tuned to a service and recording a program.
Hybrid Live view of recording in progress.
EAS Emergency Alert Service.


The Client device can take one tuner in case there is a Free tuner, or in case the client device requests a tuner for channel that currently is recording by some of the tuners (in this case this tuner becomes to Hybrid mode).

Tuner State Diagram
  • User makes a request from the tuner in a Free state which is not allocated.
  • If the user wants to view the live video, the tuner Live state is accessed.
  • If the user wants to record a program, the tuner Recording state is accessed.
  • If the user wants to record a program as well as view the live, the Hybrid state is accessed.
  • If the user wishes to view a recorded program, the Hybrid state is allowed to this as well.
  • If there is any alert, the tuner will use the Emergency Alert State.
Tuner Conflict States
  • Live playback in conflict
    When a client device currently uses Hybrid tuner and requests a channel that is not recording presently and there is Free tuner at that moment. Let's say tuner states are
    Live(Xi3) - Hybrid(recording and Xi3) - Record - Record
    In this case user gets an overlay posting to tune to requested channel and cancel one of the recordings. Or to leave current channel and keep the recording.
  • Hot recording conflict
    When there is no Free tuners and user schedules a hot recording, lets say tuner states are
    Live(Xi3) - Live (Xi3) - Live(Xi3) - Record - Record @user tries to schedule a recording on a channel that is not currently streamed. So since there is no Free tuner user will get an overlay proposing to switch the channel and record the program. Or to cancel the Hot recording and stay watching current channel.
  • Future recording conflict
    It is almost same as Hot recording conflict, the difference is that the recording is a future recording and is about to start STB sends a conflict in a minute before the recording starts.
Tuner State Messages format
Tuner State object represents state of the tuner.
State :=
{
"state" : [String] state,
}

The state field indicates the activity state of a tuner:
  • Live: the tuner is reserved for Live activity (Streaming or Playback).
  • Record: the tuner is reserved for Record activity.
  • Hybrid: the tuner is reserved for Live and Record activity.
  • EAS: the tuner is reserved for EAS.
  • Free: the Tuner is not reserved.
Message format for DetailedTunerState

DetailedTunerState :=
{
"state" : <State>
"serviceLocator" : [String] sourceLocator
"owners" :
{
<Activity> : {
"device" : [String] device
}
...
}
"reservedDeviceId" : [String]
}

  • reservedDeviceId: If this value is present in the detailedStates, the corresponding tuner can only be used for the following usages.
  • LIVE streaming for the device represented by the reservedDeviceId.
  • RECORD for any recording request, regardless of the recording.s originating device.
Message format for AllTunerState

AllTunerStates :=
{
<tunerId> : <State>
...
}

Modules

 Tuner State Classes