W3C home > Mailing lists > Public > public-media-fragment@w3.org > March 2010

The problem of having multiple Content-Range headers in HTTP response

From: RaphaŽl Troncy <raphael.troncy@cwi.nl>
Date: Wed, 03 Mar 2010 13:48:16 +0100
Message-ID: <4B8E5A90.3040006@cwi.nl>
To: Media Fragment <public-media-fragment@w3.org>
Dear all,

There has been a bit of (private) discussion between Silvia, Yves, Davy 
and myself, but it should actually be discussed here so I'm bringing the 
discussion on this mailing list.

Context: The following media fragment has been made up: 
http://example.com/video.ogv#t=25,100&track='audio', i.e. I want to 
retrieve only the 'audio' track of the media resource 'video.ogv' 
between the temporal interval [25s, 100s]. Further, I have as assumption 
that the UA cannot do the mapping between this fragment and a byte 
ranges by itself so it needs some server help (see also section 5.2.2 [1]).

The request might be something like:
   GET /video.ogv HTTP/1.1
   Host: www.example.com
   Accept: video/*
   Range: t:npt=25-100&track='audio'

While we thought the answer could be:
   HTTP/1.1 206 Partial Content
   Accept-Ranges: bytes, t, track
   Content-Length: 3743
   Content-Type: video/ogg
   Content-Range: bytes 19147-22880/35614993
   Content-Range: t:npt 24.85-100.34/653.791
   Content-Range: track audio/653.791
   { binary data }

Problem: according to some preliminary investigations from Yves, we 
cannot have multiple Content-Range in a response :-( Which means that 
the example described in the spec at [1] is *wrong*. We MUST correct it 
at the F2F meeting.

As alternatives, Yves proposed this:
   Content-Range : bytes 19147-22880/35614993
   Content-Range-Equivalent: { {t:npt 24.85-100.34/653.791} {track 
audio/653.791} }
with the introduction of a new header Content-Range-Equivalent.

Which is more or less similar to Conrad's proposal:
   Content-Range : bytes 19147-22880/35614993
   Fragment: { {t:npt 24.85-100.34/653.791} {track audio/653.791} }
with the introduction of the header Fragment.

But another possibility is to use:
   Content-type: multipart/byteranges; boundary=THIS_STRING_SEPARATES
... and write the multiple byte ranges
Q: can they overlap?

Another problem is how should we express that when 2 tracks have been 

So a lots of things to discuss at F2F ... but we can start from now on 
by emails ...



RaphaŽl Troncy
EURECOM, Multimedia Communications Department
2229, route des CrÍtes, 06560 Sophia Antipolis, France.
e-mail: raphael.troncy@eurecom.fr & raphael.troncy@gmail.com
Tel: +33 (0)4 - 9300 8242
Fax: +33 (0)4 - 9000 8200
Web: http://www.eurecom.fr/~troncy/
Received on Wednesday, 3 March 2010 12:49:26 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:52:44 UTC