And Now For Something Completely Different: Hacking on Firefox

After two exciting and awesome co-op terms at CDOT, I'm finally heading back to school to finish off my last semester of my program (Computer Programming and Analysis). It's going to be a busy semester for me. I've been allowed to continue my time at CDOT as a part-time employee, continuing work on Popcorn and Popcorn Maker.  In addition to that I'm enrolled in 5 classes. One is focused on UNIX systems programming, another focuses on data structures and algorithms. I'll be learning about "Professional media authoring" whatever that might mean, along with completing a follow-up course related to my co-op experiences. But the course I'm most interested in is the second of the Open Source Development (OSD700) classes headed by David Humphrey.

The focus of OSD700 is to build upon the skills developed in OSD600, which included familiarization with tools like Git and GitHub, as well as bug tracking systems like Lighthouse. This time around, instead of creating my own tool ( I created something called VideoSequencer.js ), I'll be working on Firefox bugs. Because my work at CDOT involved media ( Popcorn and Popcorn Maker ) it seemed only natural that I begin working on media related bugs.  I have been assigned two bugs so far, and have my eyes on another two. They are:

  • bug 686137 - Setting audio.mozFrameBufferLength has no effect on MozAudioAvailable.frameBuffer.length
  • bug 715323 - nsBuiltinDecoderReader::NotifyDataArrived() should have a 64bit offset parameter
  • bug 711839 - --disable-ogg configure option breaks build after bug 689834
  • bug 711742 - HTML5 video's "Save Video As" saves an empty .webm file if you have not actually played the video
So far, I've been working on the first two, trying to get a footing in the media code.  This is, not surprisingly, a challenge. I've been using the Mozilla Cross-Reference website to search for important pieces... or what I think are important pieces relating to each bug.  At this point I'm trying to understand how an audio elements "mozFrameBufferLength" attribute works, so that I can fix bug 686137.

I just finished a debug build, so now I'll get started on some experimentation!