- 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>
...
}