phiggins42 / has.js

Pure Feature Detection Library
937 stars 56 forks source link

Specific audio format support checks fail on Firefox. #48

Open stephank opened 14 years ago

stephank commented 14 years ago

On Firefox 3.6 and 4 beta 6 (tested on Ubuntu 10.10, 64-bit), the audio checks for a specific formats fail. This can be seen in has.js' test suite when adding the script tag for detect/audio.js.

The cause of this appears to be canPlayType returning the empty string (unsupported), while the format can actually be played. The strange thing is that this only happens during or on page load; ie. manually using the console on an about:blank page to execute (new Audio()).canPlayType('audio/ogg; codec="vorbis"') results in 'maybe'.

phiggins42 commented 14 years ago

'maybe' doesn't sound truthy. how are we interpreting this?

stephank commented 14 years ago

Everything but the empty string is true. The string is simply !!'d.

It looks like the only way to get a better result from Firefox is after it has already played an Vorbis file, after which canPlayType returns 'probably' (which is the best result according to the spec.)

jdalton commented 14 years ago

canPlayType is really weak because it is so wishywashy on its maybe, probably. I am for a more beefy solution or removing the tests if there is no good yes-no solution.