Warning:
This wiki has been archived and is now read-only.

Main Page/Requirements Mapping

From TV Control API Community Group
Jump to: navigation, search

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)
TunerCollection class (7.3.8)

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)