Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: First DASH Demo Builds: Non-Adaptive WebM On Demand Video

31 views
Skip to first unread message

Steve Workman

unread,
May 18, 2012, 2:13:15 PM5/18/12
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.

0 new messages