Re: Test cases: invalid syntax vs. invalid semantics

On Fri, 08 Apr 2011 11:42:56 +0200, Davy Van Deursen  
<davy.vandeursen@ugent.be> wrote:

> Dear all,
>
> continuing the discussion from last telcon regarding the behaviour of a  
> UA in case of an invalid media fragment, let me sketch the possible  
> situations and proposal outcomes.
>
> 1) Invalid Syntax
> For example, #t=3,4,4 is invalid syntax. The UA is always able to detect  
> syntax errors and thus knows that the media fragment is invalid. Now,  
> what is a UA in this case supposed to do? Two proposals are on the table:
> - the whole resource is requested by the UA (preferred by Philip and  
> Davy, see [1])
> - the UA only requests setup information (preferred by Silvia)
>
>
> 2) Invalid Semantics
> 2a) UA is able to detect that the fragment is invalid
> For example, #t=7,3 is semantically invalid and the UA is able to detect  
> this. Again, the same two possibilities as described above are available.
>
> 2b) UA is not able to detect that the fragment is invalid
> For example, #t=15,20 when the resource has a duration of 10s. When the  
> UA does not know the duration, it is not able to detect that this  
> fragment is invalid. What will the visual result be in this case? Note  
> also that it is possible in this case that the UA requests a temporal  
> range (i.e., Range: t:npt=15-20) which the server (for the moment) will  
> answer with a 416 ...
>
> I think we need to answer these questions in order to efficiently  
> progress with the test cases.

I think that the most straightforward solution is to unify the handling of  
syntax errors and semantic errors.

In particular, as part of "Processing Media Fragment URI", I think that we  
should make the parser discard things that are deemed to be "unsemantic".  
This makes it very straightforward to implement, e.g. for the temporal  
dimension after parsing #t=s,e one would simply check if s < e. If it is  
not, then that dimension is ignored, just as for syntax errors. We should  
add similar restrictions for dimensions as part of the "For each  
name-value pair" loop in section "Processing name-value lists".

[1] http://www.w3.org/TR/media-frags/#processing-media-fragment-uri

-- 
Philip Jägenstedt
Core Developer
Opera Software

Received on Monday, 11 April 2011 09:35:05 UTC