Hacker News new | comments | show | ask | jobs | submit login

Is this good or bad? Does Firefox support H.264 on other OS like Mac or Linux without flash, too?

Firefox on Linux has GStreamer but it's turned off at build time. Developers can build with it to test it. At some point it'll be enabled by default, or distros can enable it for their builds, to get H.264 support.

There are bugs open on doing that and progress on them. I think the windows one was first to land on nightly.

Firefox only supports H.264 on Win7 and above because MS provided a plugin for the MS-provided codec.

I don't believe that OSX or Linux provide it, which is why Firefox does not support it natively. Hopefully this means that they've finally worked out an agreement for licensing, and can support it.

You know, instead of writing things without checking you could have looked this up: i.e. via the tracking bug in bugzilla:

Support H.264/AAC/MP3 video/audio playback on desktop Firefox (https://bugzilla.mozilla.org/show_bug.cgi?id=799318)

On Linux Firefox will use GStreamer, the same backend also used in Firefox OS, its not enabled in the nightly builds since not all distros have the right version of GStreamer and it ca not be loaded dynamically right now (https://bugzilla.mozilla.org/show_bug.cgi?id=794282)

For OS X the plan seams to be to use AV Foundations but no patch has been submitted so far. (https://bugzilla.mozilla.org/show_bug.cgi?id=801521)

GStreamer isn't used on Firefox OS. We use libstagefright and vendor supplied binaries for decoding.

None of those bugs are resolved, so where was I wrong?

In fact, there's this bug for H.264 support: https://bugzilla.mozilla.org/show_bug.cgi?id=541286

It was raised in January, and it's status is: "RESOLVED WONTFIX"

The stable Firefox build, as of today(12/19/2012) does not support those codecs.

We are implementing support on desktop using OS frameworks where we can. So far we have:

- support for Linux via GStreamer landed but not built by default. It needs a bit more work.

- support for Windows 7 and above which the OP post is about

- Mac OS X is not yet underway but is planned.

- Hardware H.264 decoding on Android phones via libstagefright. Some phones supported and enabled by default. Some supported but disabled at the moment. Some unsupported.

- Hardware H.264 decoding on Firefox OS/B2G enabled by default, implemented via libstagefright. Phone vendors provide the binary blobs to do the decoding.

will you enable H.264 support only on desktops once you have working backends for Windows/Linux/OS X or will they be enabled by default as they are working? Just wondering if there will be stable releases of Firefox where some platforms have H.264 decodes and some don't.

They will be enabled by default as they are working. We already have the issue of some platforms having it and others not. Some Android devices have it with Firefox for Android and some don't for example. Linux distro's could enable the GStreamer backend and gain it while others don't as another.

For detection sites should use the API "canPlayType" and similar functionality to detect if the browser supports playback.

OS X has H.264 available to all developers without additional licensing fees. Why would Firefox need to have a separate licensing agreement?

It was a pretty big deal a while ago that quicktime support H.264; off hand, I'm pretty sure they supported it for years before MS did. If firefox supports quicktime, they support H.264.

EDIT: Well, I'll eat my hat. I'm not sure why Firefox needs a different licensing agreement on OSX when they COULD just hook into quicktime without any licensing fees at all. I'm probably grossly misunderstanding the situation.

EDIT2: Ok, so I guess AVFoundation is just the objective-c frontend for OSX's media libs. I can't for the life of me understand why it took them so long to implement.

a) We decided not to support h.264 for non-technical reasons (patent-encumbrance etc) for quite some time. b) We don't have infinite developer resources, so it just hasn't gotten done since then.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact