Extension to application/oipfRecordingScheduler for control of recordings

Support in HbbTV

Available since: HbbTV 1.0 (ETSI TS 102 796 V1.1.1, OIPF DAE V1.1)

The recordings property shall be supported and shall return recordings that are in-progress as well as ones that are scheduled or completed. Other properties, methods and events are not included.

Comment

Security: Trusted
Mandatory only if PVR feature is supported.

The OITF SHALL support the following extensions to the application/oipfRecordingScheduler object defined in section 7.10.1.

This subsection SHALL apply for OITFs that have indicated support for the extended PVR management functionality by adding the attribute ‘manageRecordings = true’ to the <recording> element in the client capability description as defined in section 9.3.3.

The functionality as described in this section is subject to the security model of section 10.

Properties

readonly ScheduledRecordingCollection recordings
Provides a list of scheduled and recorded programmes in the system. This property may only provide access to a subset of the full list of recordings, as determined by the value of the manageRecordings attribute of the <recording> element in the client capability description (see section 9.3.3).
readonly DiscInfo discInfo
Get information about the status of the local storage device. The DiscInfo class is defined in section 7.16.4.

function onPVREvent( Integer state, ScheduledRecording recording )

This function is the DOM 0 event handler for notification of changes in the state of recordings. The specified function is called with the following arguments:

· Integer state – The current state of the recording. One of:

Value

Description

1

The recording has started.

2

The recording has stopped, having completed.

3

The recording sub-system is unable to record due to resource limitations.

4

There is insufficient storage space available. (Some of the recording may be available).

6

The recording has stopped before completion due to unknown (probably hardware) failure.

7

The recording has been newly scheduled.

8

The recording has been deleted (for complete or in-progress recordings) or removed from the schedule (for scheduled recordings).

9

The recording is due to start in a short time.

10

The recording has been updated. For performance reasons, OITFs SHOULD NOT dispatch events with the state when only the duration of an in-progress recording has changed.

· ScheduledRecording recording – The recording to which this event refers.

Methods

Recording getRecording( String id )

Description

Returns the Recording object for which the value of the Recording.id property corresponds to the given id parameter. If such a Recording does not exist, the method returns null.

Arguments

id

Identifier corresponding to the id property of a Recording object.

void stop( Recording recording )

Description

Stop an in-progress recording. The recording SHALL NOT be deleted.

Arguments

recording

The recording to be stopped.

void refresh()

Description

Update the recordings property to show the current status of all recordings.

Boolean update( String id, Integer startTime, Integer duration, Integer repeatDays )

Description

Requests the scheduler to update a scheduled or ongoing recording.

For scheduled recordings the properties startTime, duration and repeatDays can be modified.

For ongoing recordings only the duration property may be modified.

This method SHALL return true if the operation succeeded, or false if for any reason it rescheduling is not possible (e.g. the updated recording overlaps with another scheduled recording and there are insufficient system resources to do both. ).

If the method returns false then no changes SHALL be made to the recording.

Arguments

id

The id of the recording to update

startTime

The new start time of the recording, or undefined if the start time is not to be updated.

duration

The new duration of the recording, or undefined if the duration is not to be updated.

repeatDays

The new set of days on which the recording is to be repeated, or undefined if this is not to be updated.

Events

For the intrinsic events listed in the table below, a corresponding DOM event SHALL be generated in the following manner:

Intrinsic eventCorresponding DOM eventDOM Event properties
onPVREventPVREventBubbles: No Cancellable: No Context Info: state, recording

Note: the DOM events are directly dispatched to the event target, and will not bubble nor capture. Remote UIs SHOULD NOT rely on receiving these events during the bubbling or the capturing phase. Remote UIs that use DOM event handlers SHALL call the addEventListener() method on the application/oipfScheduledRecording object itself. The third parameter of addEventListener, i.e. “useCapture”, will be ignored.