Main Page/Requirements Mapping
From TV Control API Community Group
Comparison of existing and proposed TV APIs against our requirements.
Please note that those requirements specify fundamental and application-independent functions at platform level. Anything related to presentation, UI, business logic or application specific functions are out of scope.
Technical Requirement | Draft TV Control API | Mozilla TV Manager API | webinos TV Control API | OIPF DAE v2.3 | LG Connect SDK | Samsung Web API | GENIVI IVI Radio |
---|---|---|---|---|---|---|---|
General Tuner Requirements | |||||||
tuner (summary) | supported | mostly supported, besides tuner.signal-strength | partially supported | mostly supported, besides notifications | |||
tuner.available | supported. getTuners function | supported. getTuners function | supported. getTVSources function | supported.
LocalSystem.tuners property (7.3.3.2) |
partially supported. ChannelManager.getNumOfAvailableTuner method | ||
tuner.type | supported. TVSource type attribute | supported. TVSource type attribute | supported. TVSource name attribute | supported. Tuner.types property (7.3.9.1) | |||
tuner.protocol | supported. TVSourceType enum supports protocols | supported. TVSourceType enum supports protocols | not supported | supported. Tuner.types property (7.3.9.1) | |||
tuner.signal-strength | supported. TVTuner signalStrength attribute | not supported | not supported | supported. Tuner.signalInfo property (7.3.9.1) SignalInfo class (7.3.10) |
|||
tuner.notifications | supported | supported in previous revision. | not supported | not supported; tuners property is a collection of tuner objects with a length property which could change as physical tuners were made available | |||
tuner.notifications.change | supported. TVTunerChangedEvent | supported in previous revision. commit which removed TVTunerChangedEvent | not supported | not supported | |||
General Channel Requirements | |||||||
channel (summary) | supported | partially supported | partially supported | supported | supported. ChannelInfo object | supported. ChannelInfo object | |
channel.available | supported. getChannels function | supported. getChannels function | supported. TVSource channelList attribute | supported. ChannelConfig.channelList property (7.13.9.1) ChannelList class (7.13.10) |
supported. tvControl.getChannelList method | supported. ChannelManager.getChannelList method | |
channel.type | supported. TVChannel type attribute | supported. TVChannel type attribute | supported. Channel channelType attribute | supported. Channel.channelType property (7.13.11.2) | |||
channel.lcn | supported. TVChannel number attribute | supported. TVChannel number attribute | not supported | supported. Channel.majorChannel property (7.13.11.2) | supported. ChannelInfo.number attribute | supported. ChannelInfo.lcn attribute | |
channel.name | supported. TVChannel name attribute | supported. TVChannel name attribute | supported. Channel name and longName attributes | supported. Channel.name property (7.13.11.2) Channel.longName (7.13.11.3.1) |
supported. ChannelInfo.name attribute | supported. ChannelInfo.channelName attribute | |
channel.media-sources | supported. TVChannel networkId attribute | supported. TVChannel networkId attribute TVChannel transportStreamId attribute TVChannel serviceId attribute | not supported | supported. Channel.onid, nid, tsid, sid, sourceID, dsd, ... properties (7.13.11.2) | supported. ChannelInfo.sourceID, ChannelInfo.transportStreamID, ChannelInfo.originalNetworkID attributes | ||
channel.accessibility | supported. TVChannel isFree attribute | supported. TVChannel isFree attribute | not supported | supported. Channel.authorised (7.13.11.3.1) | |||
channel.search | supported. getChannels function returns an array and can be queried with suitable iterators. | not supported | not supported | partially supported. Search supports programmes, on-demands, not channels (7.12) | |||
channel.filter | supported. getChannels function | not supported | not supported | supported. ChannelConfig.createFilteredList method (7.13.9.2) | |||
channel.sort | supported. getChannels function returns an array and can be queried with suitable iterators. | not supported | not supported | partially supported. Supports programmes, on-demands, not channels. MetadataSearch.orderBy method (7.12.2.1) |
|||
channel.sequential | supported. getChannels function returns an array. | not supported | not supported | supported. video/broadcast object nextChannel, prevChannel methods (7.13.1.3) | supported. tvControl.channelUp and tvControl.channelDown methods | supported. ChannelManager.tuneUp and ChannelManager.tuneDown methods | |
channel.select | supported. setCurrentChannel function | supported. setCurrentChannel function | supported. setChannel function | supported. Supported. video/broadcast object setChannel method (7.13.1.3) | supported. tvControl.setChannel method | supported. ChannelManager.tune method | |
channel.tracks | supported. HTMLMediaElement interface | not supported | not supported | supported. video/broadcast object getComponents, selectComponent methods (7.16.5.1.3) AVComponent class (7.16.5.2) |
|||
channel.notifications (summary) | supported | supported | supported | supported. ChannelList.onChannelListUpdate event (7.13.9.1) | |||
channel.notifications.change | supported. TVCurrentChannelChangedEvent | supported. TVCurrentChannelChangedEvent | supported. TVDisplayManager onchannelchange attribute | supported. video/broadcast object onChannelChangeSucceeded event (7.13.1.4) | |||
Tuner Channel Scan Requirements | |||||||
scan | supported. startScanning function | supported. startScanning function | not supported | supported. ChannelConfig.startScan function (7.13.9.2) Requires extendedAVControl capability |
|||
scan.notifications.found | supported. TVScanningStateChangedEvent | supported. TVScanningStateChangedEvent | not supported | supported. ChannelConfig.onChannelScan event (7.13.9.1) | |||
scan.signal-strength | supported. TVTuner signalStrength attribute | not supported | not supported | supported. ChannelConfig.onChannelScan event (7.13.9.1) | |||
scan.progress | supported. TVScanningStateChangedEvent | supported. TVScanningStateChangedEvent | not supported | supported. ChannelConfig.onChannelScan event (7.13.9.1) | |||
scan.stop | supported. stopScanning function | supported. stopScanning function | not supported | supported. ChannelConfig.stopScan function (7.13.9.2) | |||
scan.notifications (summary) | supported | supported | not supported | supported. ChannelConfig.onChannelScan event (7.13.9.1) | |||
scan.notifications.complete | supported. TVScanningStateChangedEvent | supported. TVScanningStateChangedEvent | not supported | supported. ChannelConfig.onChannelScan event (7.13.9.1) | |||
General Program Requirements | |||||||
program | supported. getPrograms function | supported. getPrograms function | not supported | supported. Programme class (7.16.2) | supported. ChannelManager.getProgramList method | ||
program.current | supported. TVChannel currentProgram attribute | supported. TVChannel currentProgram attribute | not supported | supported. video/broadcast object, programmes[0] (7.13.3) Requires clientMetadata capability |
supported. ChannelManager.getCurrentProgram method | ||
program.data | supported. TVProgram interface | supported. TVProgram interface | not supported | supported. Programme class (7.16.2) | supported. ProgramInfo object | ||
program.data.audio | supported, getAudioLanguages function | supported, getAudioLanguages function | not supported | supported. Codec: Programme.getSIDescriptors (7.16.2.4, and ETSI EN 300 468 v1.11.1 sec. 6.2.8) Language: Programme.audioLanguages property (7.16.2.3.1) |
|||
program.data.video | supported. HTMLVideoElement interface | not supported | not supported | supported. Codec: Programme.getSIDescriptors (7.16.2.4, and ETSI EN 300 468 v1.11.1 sec. 6.2.8) | |||
program.data.captions | supported. getSubtitleLanguages function | supported. getSubtitleLanguages function | not supported | supported. Programme.subtitleLanguages property (7.16.2.3.1) | |||
program.data.detail | not supported | ? - requirement is unclear on what this additional detail is (is it AVL or something else?) | supported. ProgramInfo.detailedDescription attribute | ||||
Electronic Program Guide (EPG) Requirements | |||||||
epg | supported. TVProgram interface | supported. TVProgram interface | not supported | supported. video/broadcast object programmes property (7.13.3) Requires clientMetadata capability |
|||
epg.notifications (summary) | supported | supported | not supported | supported. video/broadcast object onProgrammesChanged event (7.13.3.1) | |||
epg.notifications.change | supported. TVEITBroadcastedEvent | supported. TVEITBroadcastedEvent | not supported | supported. video/broadcast onProgrammesChanged event (7.13.3.1) | |||
Program Recording Requirements | |||||||
recording (summary) | supported | not supported, but rely on MediaStream Recording API | not supported, would work with MediaStream Recording API as well | supported. application/oipfRecordingScheduler object discInfo property (7.10.4.1) DiscInfo class (7.16.4) Requires recording capability |
|||
recording.timed | supported. TVRecording interface | supported. application/oipfRecordingScheduler recordAt method (7.10.1.1) | |||||
recording.identifier | supported. TVRecording program attribute | supported. application/oipfRecordingScheduler record method (7.10.1.1) | |||||
recording.multiple | supported. TVManager addRecording function and TVRecording interface | support is implicit, see 4.4.8 | |||||
recording.series | supported. TVProgram seriesId attribute | supported. application/oipfRecordingScheduler record method (7.10.1.1) | |||||
recording.data | supported. TVRecording program attribute | supported. application/oipfRecordingScheduler recordings property (7.10.4.1) ScheduledRecording class (7.10.2) Requires manageRecordings capability |
|||||
recording.playback | supported. TVRecording getStream function, TVMediaStream interface, and HTML video element | supported. A/V control object setSource method (7.14.7) | |||||
recording.delete | supported. TVManager removeRecording function | supported. application/oipfRecordingScheduler remove method (7.10.1.1) | |||||
recording.parental | supported. TVRecording getStream function restricted by parental control. | supported. Recording.blocked property (7.10.5.1) | |||||
Time Shifting Requirements | |||||||
timeshift (summary) | supported | not supported, but could rely on MediaStream Recording API | not supported, would work with MediaStream Recording API as well | supported. Requires recording capability | |||
timeshift.pause | supported. TVMediaStream timeshift section | supported. application/oipfRecordingScheduler pause method (7.13.2.3) | |||||
timeshift.resume | supported. TVMediaStream timeshift section | supported. application/oipfRecordingScheduler resume method (7.13.2.3) | |||||
timeshift.stop | supported. TVMediaStream timeshift section | supported. application/oipfRecordingScheduler stopTimeshift method (7.13.2.3) | |||||
Emergency Alert Requirements | |||||||
emergency.notifications | supported | mentions the usecase | not supported | supported? (5.3) | |||
emergency.notifications.alert | supported. TVEmergencyAlertedEvent | indicates whether a channel is an emergency channel with isEmergency attribute | not supported | ||||
Parental Control Requirements | |||||||
parental | supported. TVManager setParentalControl function | supported in previous revision. commit which removed parental control | not supported | supported. Channel.locked and .blocked properties(7.13.11.2) Programme.blocked property (7.16.2.3.1) Recording.blocked property (7.10.5.1) |
|||
parental.channel | supported. TVChannel setParentalLock function | supported in previous revision. commit which removed parental control | not supported | supported. Channel.locked property (7.13.11.2) application/oipfParentalControlManager object setParentalControlStatus method (7.9.1.2) |
|||
Conditional Access System (CAS) Requirements | |||||||
cas | supported. TVManager getCICards function and TVChannel casSystemId, casCardInUse attributes | not supported | |||||
cas.notifications | supported. | ||||||
cas.notifications.change | supported. TVCICardChangedEvent | ||||||
Triggered Interactive Overlay Requirements | |||||||
trigger | supported | not supported | not supported | ||||
trigger.in-band | supported. TVTriggerCue interface | supported. video/broadcast object addStreamEventListener method (7.13.21) | |||||
trigger.out-of-band | supported. TVTriggerCue interface | ||||||
trigger.events (summary) | supported | ||||||
trigger.events.start | supported. TextTrack cuechange event | ||||||
trigger.events.dismiss | supported. TextTrack cuechange event | ||||||
trigger.types (summary) | supported | ||||||
trigger.types.channel-changed | supported. TVTriggerType enum | ||||||
trigger.types.time | supported. TVTriggerType enum | ||||||
trigger.types.content-boundary | supported. TVTriggerType enum | ||||||
trigger.types.fingerprint | supported. TVTriggerType enum | ||||||
trigger.types.watermark | supported. TVTriggerType enum | ||||||
trigger.types.context | supported. TVTriggerType enum | ||||||
trigger.types.segment | supported. TVTriggerType enum | ||||||
trigger.types.caption | supported. TVTriggerType enum | ||||||
trigger.data.supplemental | supported. the attributes of TVTriggerType interface | ||||||
trigger.validity | supported. TVTriggerType startTime and endTime attributes (inherited from TextTrackCue interface) | ||||||
trigger.data.content-source | supported. the attributes of TVTriggerType interface | ||||||
trigger.sources | supported. the attributes of TVTriggerType interface and HTML video element | ||||||
Integration with HTML <video> and <audio> Elements | |||||||
media-element | supported. TVTuner stream attribute | supported. TVTuner stream attribute | supported. Channel stream attribute | not supported for broadcast content. For Download or Recording items, can set <video> src attribute to item's uri (7.14.7), also Streaming CoD (4.7.1) |