On Wed, 24 Nov 2010 17:11:02 +0100, Eric Winkelman <[email protected]> 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

Reply via email to