- From: Brendan Long <B.Long@cablelabs.com>
- Date: Tue, 4 Mar 2014 20:53:08 +0000
- To: Bob Lund <B.Lund@CableLabs.com>
- CC: "public-inbandtracks@w3.org" <public-inbandtracks@w3.org>
- Message-ID: <1393966388.2578.34.camel@blong-desktop>
On Tue, 2014-03-04 at 20:17 +0000, Bob Lund wrote: No. I am proposing extending HTML5 support for the 3rd option, i.e. Using inBandMetadataTrackDispatchType for metadata tracks and kind for all other tracks. I don't see anywhere on the wiki saying what the format will actually be. Presumably it would be the same? Why that option though? I took a look at the pros and cons<https://www.w3.org/community/inbandtracks/wiki/Main_Page>, and I disagree with several of them. * inBandMetadataTrackDispatchType isn't implemented in any UA's I'm aware of (neither are the other two options). * Changing the HTML5 spec isn't a big deal, because the TextTrack spec is in flux, and no one has implemented in-band metadata yet. Getting it right is more important than changing some attributes. * The use-case for all three is exactly the same, but it's listed as a pro for inBandMetadataTrackDispatchType and a con for In-band Metadata Attribute. * Accessing the data isn't significantly easier with one or another: // In-band Metadata TextTrack binaryData = track.activeCues[0].data; // In-band Metadata Attribute binaryData = track.metadata; // inBandMetadataTrackDispatchType binaryData = base64DecToArr(track.inBandMetadataTrackDispatchType.split(" ")[1]) For inBandMetadataTrackDispatchType, converting from a base64 string to an ArrayBuffer is fairly complicated, but Mozilla provides the code for a base64DecToArr() function<https://developer.mozilla.org/en-US/docs/Web/JavaScript/Base64_encoding_and_decoding>, so that's what I used above. Presumably people will copy and paste that code, or something similar, into their projects. I'm somewhat biased, because I've been writing patches to support the In-band Metadata TextTrack alternative<https://bugs.webkit.org/show_bug.cgi?id=122001>, but from my perspective the pros and cons are: Alternative Pros Cons In-band Metadata TextTrack * Allows JS to look at previous and future metadata (possibly not useful?). * Allows us to keep the data as binary. * DataCue was created for this purpose. * Mixing metadata with cues is possibly inelegant. * Possible complexity regarding old cues. In-band Metadata Attribute * Metadata as an attribute seems more elegant. * Allows us to keep the data as binary. inBandMetadataTrackDispatchType * Metadata as an attribute seems more elegant. * Need to encode binary as a string. If we go with one of the attributes, we'll want to add some sort of "change" event to TextTrack, but I don't consider that to be a con, since it's trivial.
Received on Tuesday, 4 March 2014 20:53:31 UTC