On Mon, Oct 20, 2014 at 10:58 AM, Brion Vibber <bvibber(a)wikimedia.org>
wrote:
On Sun, Oct 19, 2014 at 9:47 AM, Brion Vibber
<bvibber(a)wikimedia.org>
wrote:
On Sun, Oct 19, 2014 at 9:33 AM, Michael Dale
<mdale(a)wikimedia.org>
wrote:
We can’t do http range requests against the ogg index byte / time
mappings ?
As I recall, XHR won't let us send 'Range' header without some CORS
opt-in we haven't figured out how to get working right. If we can resolve
that, should be able to rig up seeking & chunked streaming based on Range
headers (this would also let us run large files without eating up memory in
Safari).
Woohoo, Faidon fixed the CORS bit with a Varnish tweak -- now allows
OPTIONS requests through to the backend so the CORS preflight request can
go and confirm that it's ok to send Range headers:
Spent some weekend time on this and got both chunked streaming for Safari
and a bisection-based seek working[1]. Haven't merged it into the TMH
version yet as I'm not satisfied with the seek performance, but I have a
pretty good idea how to seek based on Ogg Skeleton metadata by using
liboggz on the C side and giving it custom i/o functions that manipulate
the JS XHR wrapper.
Of course, now I need to redesign the controls for the mobile overlay so
there's a way to actually invoke the seeking. ;) (On desktop it should be
able to use the existing controls in MwEmbedPlayer.)
[1]