TemporalDimension

From Media Fragments Working Group Wiki
Revision as of 09:55, 19 May 2010 by Spfeiffe (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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.