[whatwg] Video feedback
Philip Jägenstedt
philipj at opera.com
Tue Jun 7 02:04:18 PDT 2011
On Sat, 04 Jun 2011 03:39:58 +0200, Silvia Pfeiffer
<silviapfeiffer1 at gmail.com> wrote:
> On Fri, Jun 3, 2011 at 9:28 AM, Ian Hickson <ian at hixie.ch> wrote:
>> On Thu, 16 Dec 2010, Silvia Pfeiffer wrote:
>>>
>>> I do not know how technically the change of stream composition works in
>>> MPEG, but in Ogg we have to end a current stream and start a new one to
>>> switch compositions. This has been called "sequential multiplexing" or
>>> "chaining". In this case, stream setup information is repeated, which
>>> would probably lead to creating a new steam handler and possibly a new
>>> firing of "loadedmetadata". I am not sure how chaining is implemented
>>> in
>>> browsers.
>>
>> Per spec, chaining isn't currently supported. The closest thing I can
>> find
>> in the spec to this situation is handling a non-fatal error, which
>> causes
>> the unexpected content to be ignored.
>>
>>
>> On Fri, 17 Dec 2010, Eric Winkelman wrote:
>>>
>>> The short answer for changing stream composition is that there is a
>>> Program Map Table (PMT) that is repeated every 100 milliseconds and
>>> describes the content of the stream. Depending on the programming, the
>>> stream's composition could change entering/exiting every advertisement.
>>
>> If this is something that browser vendors want to support, I can specify
>> how to handle it. Anyone?
>
> Icecast streams have chained files, so streaming Ogg to an audio
> element would hit this problem. There is a bug in FF for this:
> https://bugzilla.mozilla.org/show_bug.cgi?id=455165 (and a duplicate
> bug at https://bugzilla.mozilla.org/show_bug.cgi?id=611519). There's
> also a webkit bug for icecast streaming, which is probably related
> https://bugs.webkit.org/show_bug.cgi?id=42750 . I'm not sure how Opera
> is able to deal with icecast streams, but it seems to deal with it.
>
> The thing is: you can implement playback and seeking without any
> further changes to the spec. But then the browser-internal metadata
> states will change depending on the chunk you're on. Should that also
> update the exposed metadata in the API then? Probably yes, because
> otherwise the JS developer may deal with contradictory information.
> Maybe we need a "metadatachange" event for this?
An Icecast stream is conceptually just one infinite audio stream, even
though at the container level it is several chained Ogg streams. duration
will be Infinity and currentTime will be constantly increasing. This
doesn't seem to be a case where any spec change is needed. Am I missing
something?
--
Philip Jägenstedt
Core Developer
Opera Software
More information about the whatwg
mailing list