2008-10-30
Recent video updates
Over the last couple of weeks some fixes for video bugs have landed that should improve the playing experience. In particular playback and sound should work on Pulse Audio based Linux distributions. A quick summary of the changes are:
- The 'paused' attribute of the media object was incorrectly implemented as an integer value. It's now a boolean as per the spec.
- The YUV to RGB conversion from liboggplay was incorrect for some colours. A fix was supplied by Annodex developers and I've applied this to the Firefox trunk. Now white is white in videos where they appeared grey.
- When using the forward and back buttons to navigate to pages with video, those videos would often start playing if they were previously paused. This has been fixed.
- The volume of played videos would jump to the maximum on some platforms. Worse, it would actually adjust the master volume. Now each video on the page has a volume relative to the applications volume settting.
- CPU usage would spike to 100% in some circumstances.
- The 'timeupdate' event is now fired when the current playback position changes. This allows updating playback position without having to poll the currentTime attribute.
- Sound now works on Linux distributions using Pulse Audio.
- There is now a right click context menu on the video with entries to play, pause, enable controls, save the video, copy the URL, etc.
The list of audio and video bugs is available in the Mozilla bugzilla database. Try out <video> usage, exercise the JavaScript API, use sites like tinyvid.tv to test the playback and please report any problems you find.
A couple of additional backends have seen some visible progress as well. Work in progress patches for the WAV backend for <audio> (for all platforms) and a DirectShow backend for Windows are available.