Warning:
This wiki has been archived and is now read-only.
TemporalDimension
From Media Fragments Working Group Wiki
Contents
Introduction
For an introduction and motivation of the Test Cases see the Test Cases Overview page on this Wiki.
This page aims at summarizing all the test cases covering the syntax and the semantics of the Temporal Dimension in the Media Fragment URI specification. These have been defined during the 5th face-to-face meeting, see also http://www.w3.org/2008/WebVideo/Fragments/meetings/2010-03-09-f2f_ghent/
Definition
In the following, we define:
- s: the start point of the media and s >= 0
- e: the end point of the media (i.e. duration = e - s ) and s < e
- a: a positive integer, a >= 0
- b: a positive integer, b >= 0
Test Cases matrix
For each test case, we provide below:
- a title,
- the input strings as it may appear after the hash in the URI,
- the supposedly HTTP response code to return (see also the status code discussion), given that a server interaction with a Range request happens (i.e. 5.2.2 or 5.2.3 in spec),
- a comment
These test cases need to be reviewed and approved.
Temporal dimension semantics
ID | Title | Input | Status code | Comment |
---|---|---|---|---|
01 | Complete fragment | #t=,
|
206 | Equivalent to #t=s,e , see also TC0001
|
02 | Empty fragment | #t=a,a and a >= 0
|
Nothing or 206 | UA knows that this will not lead to a successful retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see also 5.2.2.2 and TC0002 |
03 | Non-existent Fragment | #t=a,b and a > b
|
Nothing or 206 | The requested interval's start is beyond its end. UA knows that this will not lead to a successful retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see 5.2.2.2; |
04 | Complete fragment | #t=a,b and a = s, b = e
|
206 | The media will be delivered from s to e. |
05 | Valid Fragment | #t=a,b and s <= a, a < b, a < e and b <= e
|
206 | The media will be delivered from a to b. |
06 | Valid Shortened Fragment | #t=a,b and s <= a, a < b, a < e and b > e
|
206 | The media will be delivered from a to e. |
07 | Valid Shortened Fragment | #t=a,b and s > a, a < b, s < b and b <= e
|
206 | The media will be delivered from s to b. |
08 | Valid Shortened Fragment | #t=a,b and s > a, a < b and b > e
|
206 | The media will be delivered from s to e. This is equivalent to 04. |
09 | Non-existant fragment | #t=a,b and s < a, a < b, a >= e and b > e
|
Nothing or 206 | The request lies beyond the end of the resource. if UA knows the duration of the resource, it knows that this will not lead to a successful retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see 5.2.2.2 |
10 | Non-existant fragment | #t=a,b and s > a, a < b and b <= s
|
Nothing or 206 | The request lies ahead of the beginning of the resource. If UA knows the duration of the resource, it knows that this will not lead to a successful retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see 5.2.2.2 |
11 | Valid Fragment | #t=a or #t=a, with a >= s, a < e
|
206 | Equivalent to #t=a,e . The media will be delivered from a to e.
|
12 | Valid Fragment | #t=a or #t=a, with a < s
|
206 | Equivalent to #t=a,e . The media will be delivered from s to e.
|
13 | Non-existant Fragment | #t=a or #t=a, with a >= e
|
Nothing or 206 | The request lies beyond the end of the resource. If UA knows the duration of the resource, it knows that this will not lead to a successful retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see 5.2.2.2. |
14 | Valid Fragment | #t=,a and a > s, a <= e
|
206 | Equivalent to #t=s,a . The media will be delivered from s to a.
|
15 | Non-existant Fragment | #t=,a and a <= s
|
Nothing or 206 | The request lies ahead of the start of the resource. If UA knows the duration of the resource, it knows that this will not lead to a successful retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see 5.2.2.2. Equivalent to #t=s,a .
|
16 | Valid Fragment | #t=,a and a > e
|
206 | Equivalent to #t=s,a . The media will be delivered from s to e.
|
Temporal dimension units
ID | Title | Input | Status code | Comment |
---|---|---|---|---|
17 | SMPTE | #t=smpte:0:00:10
|
206 | equivalent to #t=10 |
18 | SMPTE | #t=smpte:0:00:10.15
|
206 | equivalent to #t=10.5 |
19 | SMPTE-25 | #t=smpte-25:0:00:10
|
206 | equivalent to #t=10 |
20 | SMPTE-30 | #t=smpte-30:0:00:10
|
206 | equivalent to #t=10 |
21 | SMPTE-30-drop | #t=smpte-30-drop:0:00:10
|
206 | equivalent to #t=10 |
22 | NPT | #t=npt:10
|
206 | equivalent to #t=10 |
23 | Clock | #t=clock:2010-03-16T11:19:01Z
|
206 | equivalent to starts on on 16th Mar 2010 from 11hrs, 19min, 1sec |
24 | Clock with + | #t=clock:2010-03-16T11:19:01.87+00:20
|
206 | equivalent to starts on on 16th Mar 2010 from 11hrs, 19min, 1sec |
Temporal dimension syntax
ID | Title | Input | Status code | Comment |
---|---|---|---|---|
25 | Illegal strings | #t=banana
|
206 if RANGE request is made [preferably the UA should filter this out] | UA knows that this will not lead to a successful fragment retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see also 5.2.2.2. |
26 | #t=10,banana
|
206 if RANGE request is made [preferably the UA should filter this out] | UA knows that this will not lead to a successful fragment retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see also 5.2.2.2. | |
27 | #t=banana,20
|
206 if RANGE request is made [preferably the UA should filter this out] | UA knows that this will not lead to a successful fragment retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see also 5.2.2.2. | |
28 | #t='0'
|
206 if RANGE request is made [preferably the UA should filter this out] | UA knows that this will not lead to a successful fragment retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see also 5.2.2.2. | |
29 | Illegal strings | #t=10-20
|
206 if RANGE request is made [preferably the UA should filter this out] | UA knows that this will not lead to a successful fragment retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see also 5.2.2.2. |
30 | #t=10:20
|
206 if RANGE request is made [preferably the UA should filter this out] | UA knows that this will not lead to a successful fragment retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see also 5.2.2.2. | |
31 | #t=10,20,40
|
206 if RANGE request is made [preferably the UA should filter this out] | UA knows that this will not lead to a successful fragment retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see also 5.2.2.2. | |
32 | #t%3D10
|
206 if RANGE request is made [preferably the UA should filter this out] | UA knows that this will not lead to a successful fragment retrieval, so will only send a HTTP request if it hasn't got the decoding pipeline setup - in this case, it will be a Range request with 'include-setup' and the reply will be a 206, see also 5.2.2.2. Note: %3D is equivalent to = ; | |
33 | Valid percent encoding | #%74=10
|
206 | Note: %74 is equivalent to t; Resource is delivered from max(10,s) to e. |
34 | #t=%31%30
|
206 | Note: %31 is equivalent to 1 and %30 is equivalent to 0; Resource is delivered from max(10,s) to e. | |
35 | #t=10%2C20
|
206 | Note: %2C is equivalent to , ; Resource is delivered from max(10,s) to min(20,e). | |
36 | #t=%6ept:10
|
206 | Note: %6e is equivalent to n; Resource is delivered from max(npt:10,s) to e. | |
37 | #t=npt%3a10
|
206 | Note: %3a is equivalent to : ; Resource is delivered from max(npt:10,s) to e. |