Patches are not welcome. Mozilla is not going to back down on this.
Their implementation is designed to make it extremely difficult to swap in other codecs from a plugin or straightforward patchset. You'd have to fully fork at least Gecko and XULRunner, and extend Firefox. Due to their strong Trademark policies, your fork couldn't use their names or logos (see also: Iceweasel).
You're right on the former, I was under the impression that it was an economy-of-effort thing rather than an ideological thing. However, I'm not sure I agree that it would be as hard as you think. The mime types are registered here[1] and the impls are here[2]. Each media type is implemented as a state machine that could wrap ffmpeg. That's where I would start, I suspect.
EDIT:
Looks like someone's already blazing that trail[3]. They're using gstreamer, but the research they do for that will show anyone how to add a new one.
Comments
Patches are not welcome. Mozilla is not going to back down on this.
Their implementation is designed to make it extremely difficult to swap in other codecs from a plugin or straightforward patchset. You'd have to fully fork at least Gecko and XULRunner, and extend Firefox. Due to their strong Trademark policies, your fork couldn't use their names or logos (see also: Iceweasel).
You're right on the former, I was under the impression that it was an economy-of-effort thing rather than an ideological thing. However, I'm not sure I agree that it would be as hard as you think. The mime types are registered here[1] and the impls are here[2]. Each media type is implemented as a state machine that could wrap ffmpeg. That's where I would start, I suspect.
EDIT: Looks like someone's already blazing that trail[3]. They're using gstreamer, but the research they do for that will show anyone how to add a new one.
--
1) http://hg.mozilla.org/mozilla-central/file/b27f05c8743b/cont...
2) http://hg.mozilla.org/mozilla-central/file/b27f05c8743b/cont...
3) https://bugzilla.mozilla.org/show_bug.cgi?id=422540
Scroll down a bit, the only reason it's alive in bugzilla is because it's intended solely for use in Fennec, the current attempt at "Mobile Mozilla": https://bugzilla.mozilla.org/show_bug.cgi?id=422540#c105