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
