w3c / tvcontrol-api

TV Control API specification - https://w3c.github.io/tvcontrol-api/
10 stars 11 forks source link

Support for do-it-now stream events #36

Open mprobst-irt opened 7 years ago

mprobst-irt commented 7 years ago

The TVTrigger interface is based on TextCues which have start and end time

DVB based application platforms like MHP and HbbTV use do it now stream events which don't have a defined trigger time. They are passed to the application when the device receives it.

I wonder if the current interface can be implemented using stream events. Maybe there is another use case behind this, like dynamic label for DAB.

If it don't fits an interface for broadcast events should be defined

mprobst-irt commented 7 years ago

Some more thoughts on TVTriggerCue:

At other places we discuss mapping of the API to signalling in the TV or Radio broadcast, I think it would be useful for the triggers as well.

Doing this will also help to see if the API works with certain broadcast specs.

A DSMCC stream event for instance:

name - the stream event name type - ? should it be context or time? url - I assume this is a URL where the triggers are carried. Stream events are identified by URL of the stream event object and a name. So this could be the URL of the stream event object, i.e. dvb://1.2.3.4/seobj additionalData - payload of the stream event

Now the question is how can an app listen for stream events and how does it receive them. Is the app required to use addTextTrack or is the user agent required to add a text track if it discovers stream events signalled in the media stream? The latter could be difficult as the user agent does not know the location of the stream event object in all cases, with HbbTV the stream event object could come from a web server. However, there is no method defined yet that allows to init a new TVTriggerCue.

As I said in my first comment, stream events have no start time and end time. They trigger an event when they arrive at the TV. TextTracks have a oncuechange event, that could be said to be called when a stream event arrives. However, there is no API defined to check which cue caused the change. The app can only check which cues are active. And a cue is active when the current play position is between start and end of the cue.

As a conclusion I think there are at least two open issues when mapping the TVTrigger to stream events.

Any opinions?