Monday, January 28, 2008

Face Painting, Flying and Flat Tires

Flat Tire
I flew into San Francisco this morning for a Mozilla 'work week'. I'm here until the 6th of February. The flight was good, and the weather wasn't too bad. Until it decided to rain just as my rental car got a flat tire. The week can only improve!

Apart from that little mishap, this weekend was very good. I was down in Wellington on Saturday for some brilliant weather and a birthday party for my nephew Jesse who has turned three. Bouncy castles, face painters, barbecue, and Tricky the Clown. Rick/Tricky did very well to keep the kids entertained with some great magic tricks and best of all (I may be biased...) Tricky plays the ukulele. I may have to be a bit more careful at answering the challenge to be face painted...

Categories:

Labels:

Monday, January 21, 2008

Bounty Day 2008

I flew to Wellington on the weekend to attend the 2008 Bounty Day celebration.

Bounty Model to be burnt
Bounty Day is a chance for Pitcairners and their descendants to get together to remember the burning of the HMS Bounty. In January 1790 the Bounty mutineers arrived at Pitcairn Island and had to decide what to do with the ship. Matthew Quintal set fire to it on the 23rd of January 1790. It burnt to the sealine and sunk into the depths of Bounty Bay. Every Bounty Day a model of the HMS Bounty is burnt in memory of this event.

Bounty Model burning
This years model was made the day before and looked great! There was a talk by George Fergusson (the British High Commissioner to New Zealand and Governer of Pitcairn), the traditional tug of rope war between the men and woman, sports, a race to remove the insides of a coconut in the traditional manner, and photo's and videos of Pitcairn playing. The Bounty burning was performed, with everyone singing "Sweet Bye and Bye" while it burned. This was followed by lots of Pitcairn food.

If you have a browser that supports the <video> element you can see a video below of the burning. Otherwise you can download the bounty_burning_2008.ogg file directly.



I caught up with a lot of friends and family and it was a great day with Wellington turning out some fantastic weather for it.

Categories:

Friday, January 11, 2008

Video Element Progress

I thought it might be time for an update on the progress of the <video> element support for Firefox.

Unfortunately on Christmas Eve my Macbook hard drive crashed losing everything on it. Fortunately I push my repository to a remote server regularly. Until I get a new drive and the Macbook set up again I'm using another laptop dual booting Linux and Windows. This has given me the chance to work on getting the Linux version of <video> support a lot better.

The main problem with the Linux version was with the sound implementation. The Linux backend of sydney audio uses OSS and has problems with locking /dev/dsp, is unable to return information I need for a/v sync, and didn't have any volume control support. There is a partial implementation of ALSA support for sydney audio included with liboggplay but it was nowhere near complete, and used an older API interface.

I've implemented a new ALSA backend for the library and now have sound playing much better on Linux. Volume control works and sound playback is generally better. I'm adding support for returning the information required for a/v sync now. Once this is done Linux playback should be as good as that on the Mac and Windows builds.

After that I'll be updating the Windows audio backend so volume control and a/v sync information works with that as well.

I'm still using an older libtheora library. During my work on the theora playback a new version of the library was released. This has many improvements but does not have optimized assembler routines for the Microsoft Visual C++ compiler, which is what we use to build Firefox on Windows. Nils Pipenbrinck has submitted a patch to theora which adds MSVC compatible optimized assembler routines. Once that hits the main codebase I'll be moving to the new version and see how it goes.

I'll have a patch pushed to the git repository with the recent Linux changes as soon as I confirm it still builds and runs on the other platforms.

Categories: ,

Labels:

Tuesday, January 08, 2008

Building Firefox from the git repository

I've made a small change to the git repository containing the Firefox source that I've been maintaining. I've removed the 'configure' file from the git repository. This will need to be regenerated before you can build the source using autoconf2.13. The steps to build Firefox from git become something like:
git clone git://double.co.nz/git/firefox.git
cd firefox/mozilla
...create .mozconfig file...
autoconf2.13
make -f client.mk build
A simple .mozconfig that works under Linux and Windows is:
. $topsrcdir/browser/config/mozconfig

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
mk_add_options MOZ_MAKE_FLAGS=-j3
mk_add_options MOZ_CO_PROJECT=browser
ac_add_options --enable-debug
This does a debug build. If building the version with <video> element support add this line:
ac_add_options --enable-ogg
To build on Mac OS X, add the line:
ac_add_options --with-macos-sdk=/Developer/SDKs/MacOSX10.4u.sdk
I removed 'configure' to stop the merge conflicts that keep occurring when merging the firefox tree into the video element tree, and to prevent it from being included in patches when I generate a patch to attach to the bugzilla entry.

Categories:

Labels: