[whatwg] TimedTracks and MPEG transport streams - tracks can change dynamically

Philip Jägenstedt philipj at opera.com
Tue Dec 14 08:31:24 PST 2010


On Wed, 24 Nov 2010 17:11:02 +0100, Eric Winkelman  
<E.Winkelman at cablelabs.com> wrote:

> I'm investigating how TimedTracks can be used for in-band-data-tracks  
> within MPEG transport streams (used for cable television).
>
> In this format, the number and types of in-band-data-tracks can change  
> over time.  So, for example, when the programming switches from a  
> football game to a movie, an alternate language track may appear that  
> wasn't there before.  Later, when the programming changes again, that  
> language track may be removed.
>
> It's not clear to me how these changes are exposed by the proposed Media  
> Element events.

The thinking is that you switch between different streams by setting the  
src="" attribute to point to another stream, in which case you'll get an  
emptied event along with another bunch of events. If you have a single  
source where audio/video/text streams appear and disappear, there's not  
really any way to handle it.

> The "loadedmetadata" event is used to indicate that the TimedTracks are  
> ready, but it appears that it is only fired before playback begins.  Is  
> this event fired again whenever a new track is discovered?  Is there  
> another event that is intended for this situation?
>
> Similarly, is there an event that indicates when a track has been  
> removed?  Or is this also handled by the "loadedmetadata" event somehow?

No, the loadedmetadata event is only fired once per resource, it's not the  
event you're looking for.

As for actual solutions, I think that having loadedmetadata fire again if  
the number or type of streams change would make some sense.

-- 
Philip Jägenstedt
Core Developer
Opera Software


More information about the whatwg mailing list