Steve Workman
unread,May 18, 2012, 2:13:15 PM5/18/12You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to dev-...@lists.mozilla.org, dev-tech-network, Brian Smith, Michal Novotny, Honza Bambas, Josh Aas, Maire Reavy, Tim Terriberry, Nicholas Hurley, Patrick McManus, Chris Pearce, rocallahan, Jason Duell
These didn't post to dev-media or dev-tech-network yesterday, so I'm including some folks directly, and trying a resend to the mailing lists.
On May 17, 2012, at 4:03 PM, Steve Workman wrote:
> 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/swor...@mozilla.com-b02d11614fe1/) 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.