- From: Yves Lafon <ylafon@w3.org>
- Date: Tue, 24 Nov 2009 10:27:52 -0500 (EST)
- To: Philip Jägenstedt <philipj@opera.com>
- cc: Media Fragment <public-media-fragment@w3.org>
On Tue, 24 Nov 2009, Philip Jägenstedt wrote:
> The User Agent Media Fragment Resolution and Processing section [1] requires
> conforming UAs to use a validating parser, which is not an option for a UA
> which wishes to be be forward-compatible. Example: a UA implements a strict
> validating parser for MF 1.0, capable of parsing the "t", "xywh", "track" and
> "id" dimensions using their respective syntaxes, rejecting anything else as
> invalid. Then MF 1.1 is released, introducing a "frame" syntax for time, e.g.
> "t=frame:25". Graceful degradation in a MF 1.0 parser would not be possible,
> as such a parser is required to reject invalid syntax.
Yes, there is difference between grammar-validity and value-validity, and
I think that "valid mediafragment" should be read as "a fragment that was
parsed as something known by the application"
> In my opinion the spec needs a parsing algorithm for the media fragment
> syntax that defines the exact order in which a fragment is processed and how
> to deal with unknown syntax, duplicate entries and so on. It doesn't have to
> be complicated, just something like:
>
> 1. split the string on '&'; let the result be namevalues
> 2. for each string namevalue in namevalues:
> 3. split namevalue on the first occurence of '=', let the result be two
> strings name and value
> 4. if either name or value is the empty string, fail
> 5. if name is "t", ...
> 6. if name is "xywh", ...
> ...
> 10. otherwise, name is not a valid dimension. (validators emit an error here,
> other parsers ignore it and continue)
That would mandate one implementation and possibly not the most optimal
version of it.
> The parsing of each dimension of course also needs to be specified. In most
> cases simply referring to the ABNF and simply ignoring non-conforming input
> should be OK.
>
> I would suggest that for multiple occurrences of the same dimension, the last
> one is the one which takes effect. This is to allow graceful degradation in
> the transition between two syntaxes, e.g. "t=frame:25&t=1s" (framerate of the
> resource is 25 in this example).
>
> Finally, I think that requiring a conforming user agent notify the user of
> invalid input is unwise. That is the job of a validator, sane user agent
> behavior is to proceed as best it can with the input it has.
>
> I'd also like to point out that the ABNF for NPT does not match RFC2326. It
> allows there to be 0 or more digits following the decimal point, while the MF
> ABNF allows 1 or more digits. Simply importing npt-sec | npt-hhmmss would
> probably be best.
agreed.
> [1]
> http://www.w3.org/2008/WebVideo/Fragments/WD-media-fragments-spec/#naming-processing-ua
>
>
--
Baroula que barouleras, au tiéu toujou t'entourneras.
~~Yves
Received on Tuesday, 24 November 2009 15:27:55 UTC