BS ISO/IEC 29341-20-14:2017
$215.11
Information technology. UPnP Device Architecture – Audio video device control protocol. Level 4. Scheduled recording service
Published By | Publication Date | Number of Pages |
BSI | 2017 | 292 |
This service definition is compliant with the UPnP Device Architecture version 1.0 [14]. It defines a service type referred to herein as ScheduledRecording service.
The ScheduledRecording service is a UPnP service that allows control points to schedule the recording of content. Generally, this content is broadcast content, but this specification does not limit itself to broadcast content. This service type enables the following functions:
-
Create a recordSchedule so that it is added to the list of recordSchedule instances. Each recordSchedule describes user-level recording instructions for the ScheduledRecording service.
-
Browse a list of recordSchedule instances stored by the ScheduledRecording service.
-
Delete a recordSchedule so that it is removed from the list of recordSchedule instances.
-
Browse a list of recordTask instances, stored by the ScheduledRecording service. The ScheduledRecording service may create zero or more recordTask instances for each recordSchedule. A recordTask represents a discrete recording operation of a recordSchedule.
-
Enable or disable individual recordTask instances.
-
Enable or disable a recordSchedule.
-
Receive notifications indicating change of recordSchedule or recordTask list.
The ScheduledRecording service does not require a dependency on any UPnP services other than a co-located ContentDirectory service, which provides the following functions:
-
A ContentDirectory service provides channel line-up to allow users to find recordable channels. A control point may use this metadata when creating a recordSchedule on a ScheduledRecording service.
-
A ContentDirectory service may provide Electronic Program Guide (EPG) features to allow users to find recordable content. A control point may use this metadata when creating a recordSchedule on a ScheduledRecording service.
-
Contents recorded by the ScheduledRecording service may be exposed by a ContentDirectory service.
The architectural relationship among the different concepts, defined by the ScheduledRecording service can be summarized as follows: A ScheduledRecording service owns a flat (that is: non-nested) list of recordSchedule instances, meaning that the ScheduledRecording service may create, destroy, or change recordSchedule instances. A recordSchedule represents user-level instructions to perform recording operations. Generally, a user constructs his instructions to a ScheduledRecording service via a control point that invokes UPnP actions that affect the list of recordSchedule instances. In all cases, the ScheduledRecording service shall be able to describe discrete recording operations for a recordSchedule through a list of associated recordTask instances. A recordTask can only exist with a recordSchedule (that is: never orphaned). Thus when a recordTask is created by the ScheduledRecording service, its lifetime depends on its parent recordSchedule. An individual recordTask can be selectively enabled or disabled. This service template does not address:
-
Implementations where the ScheduledRecording service and its associated ContentDirectory service are not co-located in the same device.
PDF Catalog
PDF Pages | PDF Title |
---|---|
2 | National foreword |
13 | Foreword |
20 | 1 Scope |
21 | 2 Normative references |
24 | 3 Terms, definitions, symbols and abbreviations 3.1 Provisioning terms 3.2 Terms specific to ScheduledRecording service 3.2.1 CDS |
25 | 3.2.2 EPG 3.2.3 SRS 3.2.4 CDS object 3.2.5 User Channel 3.2.6 Channel Group 3.2.7 Channel Line-up 3.2.8 object 3.2.9 class 3.2.10 object Modification 3.2.12 Conflicting recordSchedule |
26 | 3.2.14 Conflicting recordTask 3.2.16 Property-set Data Types 3.2.17 Property |
27 | 3.2.18 Member Property 3.2.19 Supported Member Property 3.2.20 Multi-valued property 3.2.21 Single-valued property 3.2.22 XML Document |
28 | 3.2.23 XML Fragment 3.2.24 actualScheduledStartDateTime 3.2.25 actualStartDateTime 3.2.26 actualScheduledEndDateTime 3.2.27 actualEndDateTime 3.2.28 actualScheduledDuration |
29 | 3.2.29 Lexical Sort Order 3.2.30 Lexical Matching 3.2.31 Simple Non-case-sensitive Sort Order |
30 | 3.2.32 Simple Non-case-sensitive Matching 3.2.33 Numeric Sort Order 3.2.34 Boolean Sort Order 3.2.35 Sequenced Sort 3.2.36 Sequenced Lexical Sort 3.2.37 Sequenced Numeric Sort 3.2.38 Lexical Numeric Sort |
31 | 3.2.39 type Relationship Sort 3.3 Symbols 4 Notations and Conventions 4.1 Notation 4.1.1 Data Types 4.1.2 Strings Embedded in Other Strings |
32 | 4.1.3 Extended Backus-Naur Form 4.1.3.1 Typographic conventions for EBNF 4.2 Derived Data Types 4.2.1 Summary |
33 | 4.2.2 CSV Lists |
34 | 4.3 Management of XML Namespaces in Standardized DCPs |
38 | 4.3.1 Namespace Prefix Requirements |
39 | 4.3.2 Namespace Names, Namespace Versioning and Schema Versioning |
41 | 4.3.3 Namespace Usage Examples 4.4 Vendor-defined Extensions 4.4.1 Vendor-defined Action Names |
42 | 4.4.2 Vendor-defined State Variable Names 4.4.3 Vendor-defined XML Elements and attributes 4.4.4 Vendor-defined Property Names 5 Service Modeling Definitions 5.1 ServiceType 5.2 ScheduledRecording Service Architecture |
45 | 5.3 State Variables 5.3.1 State Variable Overview |
54 | 5.4 Eventing and Moderation 5.5 Actions |
55 | 5.5.2.1 Arguments |
56 | 5.5.2.2 Dependency on State 5.5.2.3 Effect on State 5.5.2.4 Errors 5.5.3.1 Arguments |
57 | 5.5.3.2 Dependency on State 5.5.3.3 Effect on State 5.5.3.4 Errors 5.5.4.1 Arguments |
58 | 5.5.4.2 Dependency on State 5.5.4.3 Effect on State 5.5.4.4 Errors |
59 | 5.5.5.1 Arguments 5.5.5.2 Dependency on State 5.5.5.3 Effect on State 5.5.5.4 Errors 5.5.6.1 Arguments |
61 | 5.5.6.1.2 StartingIndex and RequestedCount |
64 | 5.5.6.2 Dependency on State 5.5.6.3 Effect on State 5.5.6.4 Errors 5.5.7.1 Arguments |
65 | 5.5.7.1.3 StartingIndex and RequestedCount 5.5.7.2 Dependency on State 5.5.7.3 Effect on State |
66 | 5.5.7.4 Errors 5.5.8.1 Arguments |
67 | 5.5.8.2 Dependency on State 5.5.8.3 Effect on State |
68 | 5.5.8.4 Errors |
69 | 5.5.9.1 Arguments 5.5.9.2 Dependency on State 5.5.9.3 Effect on State 5.5.9.4 Errors 5.5.10.1 Arguments |
70 | 5.5.10.2 Dependency on State 5.5.10.3 Effect on State 5.5.10.4 Errors |
71 | 5.5.11.1 Arguments 5.5.11.2 Dependency on State 5.5.11.3 Effect on State 5.5.11.4 Errors |
72 | 5.5.12.1 Arguments 5.5.12.2 Dependency on State 5.5.12.3 Effect on State 5.5.12.4 Errors |
73 | 5.5.13.1 Arguments 5.5.13.2 Dependency on State 5.5.13.3 Effect on State 5.5.13.4 Errors |
74 | 5.5.14.1 Arguments 5.5.14.2 Dependency on State 5.5.14.3 Effect on State 5.5.14.4 Errors |
75 | 5.5.15.1 Arguments 5.5.15.2 Dependency on State 5.5.15.3 Effect on State 5.5.15.4 Errors |
76 | 5.5.16.1 Arguments 5.5.16.2 Dependency on State 5.5.16.3 Effect on State |
77 | 5.5.16.4 Errors 5.5.17.1 Arguments 5.5.17.2 Dependency on State 5.5.17.3 Effect on State |
78 | 5.5.17.4 Errors 5.5.18.1 Arguments 5.5.18.2 Dependency on State |
79 | 5.5.18.3 Effect on State 5.5.18.4 Errors 5.5.19.1 Arguments |
80 | 5.5.19.2 Dependency on State 5.5.19.3 Effect on State 5.5.19.4 Errors 5.5.20 Common Error Codes |
81 | 5.6 State Diagram of recordTask 5.6.1 A Full-Featured State Diagram |
83 | 5.6.1.1 “IDLE” Phase 5.6.1.1.1 “IDLE.READY” State 5.6.1.1.2 “IDLE.ATRISK” State 5.6.1.2 “ACTIVE” Phase 5.6.1.2.1 “ACTIVE.TRANSITION.FROMSTART” State |
84 | 5.6.1.2.2 “ACTIVE.TRANSITION.RESTART” State 5.6.1.2.3 “ACTIVE.RECORDING.FROMSTART.OK” State |
85 | 5.6.1.2.4 “ACTIVE.RECORDING.FROMSTART.ATRISK” State 5.6.1.2.5 “ACTIVE.RECORDING.RESTART.OK” State 5.6.1.2.6 “ACTIVE.RECORDING.RESTART.ATRISK” State |
86 | 5.6.1.2.7 “ACTIVE.NOTRECORDING” State 5.6.1.3 “DONE” Phase 5.6.1.3.1 “DONE.FULL” State 5.6.1.3.2 “DONE.PARTIAL” State 5.6.1.3.3 “DONE.EMPTY” State |
87 | 5.6.2 A Minimal-Implementation State Diagram |
88 | 5.6.2.1 “IDLE” Phase 5.6.2.1.1 “IDLE.READY” State 5.6.2.1.2 “IDLE.ATRISK” State 5.6.2.2 “ACTIVE” Phase 5.6.2.2.1 “ACTIVE.TRANSITION.FROMSTART” State 5.6.2.2.2 “ACTIVE.TRANSITION.RESTART” State 5.6.2.2.3 “ACTIVE.RECORDING.FROMSTART.OK” State 5.6.2.2.4 “ACTIVE.RECORDING.FROMSTART.ATRISK” State |
89 | 5.6.2.2.5 “ACTIVE.RECORDING.RESTART.OK” State 5.6.2.2.6 “ACTIVE.RECORDING.RESTART.ATRISK” State 5.6.2.2.7 “ACTIVE.NOTRECORDING” State 5.6.2.3 “DONE” Phase 5.6.2.3.1 “DONE.FULL” State 5.6.2.3.2 “DONE.PARTIAL” State 5.6.2.3.3 “DONE.EMPTY” State 5.6.3 recordTask State Example |
90 | 5.7 ScheduledRecording Service Priority Model 5.7.1 Introduction of the ScheduledRecording Service Priority Model |
91 | 5.7.2 Ordered Priority within Each Priority Level |
92 | 5.7.3 Setting the Initial Priority Level of a recordSchedule |
94 | 5.7.4 Sorting recordSchedule Instances Based on their Current Priority Settings |
95 | 5.8 Theory of Operation 5.8.1 Introduction 5.8.2 Checking the Capabilities of a ScheduledRecording Service 5.8.2.1 Checking the Sort Capabilities 5.8.2.2 Checking Supported Properties and their Allowed Values 5.8.2.2.1 Minimal Implementation Example |
102 | 5.8.2.2.2 Full-fledged Implementation Example |
107 | 5.8.3 Adding a Scheduled Recording Entry to the List 5.8.3.1 object.recordSchedule.direct classes 5.8.3.1.1 Creating a object.recordSchedule.direct.manual Class recordSchedule |
111 | 5.8.3.1.2 Creating a object.recordSchedule.direct.cdsEPG Class recordSchedule |
115 | 5.8.3.1.3 Creating a object.recordSchedule.direct.cdsNonEPG Class recordSchedule |
118 | 5.8.3.1.4 Creating a object.recordSchedule.direct.programCode Class recordSchedule |
120 | 5.8.3.2 object.recordSchedule.query classes 5.8.3.2.1 Creating a object.recordSchedule.query.contentName Class recordSchedule |
123 | 5.8.3.2.2 Creating a object.recordSchedule.query.contentID Class recordSchedule |
125 | 5.8.4 Deleting a recordSchedule 5.8.5 Browsing recordSchedule and recordTask instances |
126 | 5.8.5.1 Browsing recordSchedule instances |
128 | 5.8.5.2 Browsing recordTask instances associated with a single recordSchedule |
132 | 5.8.6 Rating System 5.8.7 Conflict Detection and Resolution |
134 | 6 XML Service Description |
144 | 7 Test |