Hi all,

Cross posting to dev-media and dev-tech-network.  I've uploaded new patches to 
Bug 734546 with the following comment:

Patches for non-adaptive, DASH/WebM On Demand Demo Build:
-- Please patch and build the complete diff or run try builds 
(https://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/[email protected]/)
 and point your browser to 
http://people.mozilla.com/~sworkman/Elephants_Dream.html
Notes: 
1)  I've tested this on Mac, Android and Windows - let me know if your system 
doesn't work.
2)  please add/set media.dash.enabled=true in your prefs.


What's working:
-- Current patches parse MPD according to WebM On Demand profile, pick a video 
and audio stream and mix them to a single decoder to play them non-adaptively
-- Seeking
-- Refreshing the page without issue

What's not working/not right:
-- no adaption/stream switching yet; initial work done on this, but not 
reflected in this code
-- Seeking far enough from the current offset adds a buffering icon on the 
video, which does not go away
-- some URLs are leaking in the MPD files
-- stats are not correct - some data only pertains to the video stream, not 
both - to be examined/fixed.

Patches:
1)  Decoder files 
*** Description of interaction in nsDASHDecoder.cpp at top of file. ***
-- Muxes multiple resources through multiple readers to a single decoder and 
state machine. Proxy classes distribute/aggregate calls as need be.
-- Note: I said in an email earlier on dev-media that I was going to stick with 
multiple decoders for now, but I quickly discovered that audio and video do not 
sync easily like this. Hence the change to a single decoder and multiple 
readers/resources :)
-- includes minor changes to existing files.
-- aiming for abstract - less work when adding DASH profiles/decoders later - 
to be improved.
-- used nsIByteBuffer in a hacky way to store the downloaded MPD data; to be 
cleaned up.
-- some #ifdef DASH_IGNORES are present. The ignored code is to be reviewed for 
inclusion.

2) WebMOnDemand, MPD files
-- files to parse MPD into classes, and report MPD contents to DASHMediaResource
-- based on WebM On Demand profile: 
http://wiki.webmproject.org/adaptive-streaming/webm-dash-specification

Other patches include changes to nsHTMLMediaElement and build files.

General Patch notes:
-- Makefile/config note - I've hardcoded MOZ_DASH something similar to 
MOZ_WEBM, but not to the extent of having a "--disable-dash" just yet.
-- The complete patch file includes some Adaptation files from libdash (ITEC) 
but these are not included in the build yet.

TODO:
-- Stream switching and Adaptation
-- rate limiting video
-- Other decoder/DASH profile types

Although there's not a lot to see yet demo-wise, this is a milestone and I'd 
appreciate any and all constructive feedback.

Thanks,
Steve.
_______________________________________________
dev-tech-network mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-network

Reply via email to