Closed Bug 480376 Opened 15 years ago Closed 12 years ago

Video should indicate when there's no audio track available

Categories

(Core :: Audio/Video, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla15

People

(Reporter: Dolske, Assigned: padenot)

References

Details

(Keywords: dev-doc-complete)

Attachments

(2 files)

It's not too uncommon for videos to have no audio track. It would be really nice if the video controls could indicate this, so that users know why there's no sound ("is something broken? is my volume too low? wtf?").

Unfortunately this info isn't available through the media element API, so this would need to be added to the HTML5 spec. The simplest way to expose this would be as |readonly boolean hasAudio|. Is the media backend capable of determining this this?
Yes we can determine if it has no audio track at the beginning. If we eventually support chained oggs then it may be possible for a track to appear as we download so some event to indicate the change of state may be needed.
Component: Video/Audio → Video/Audio Controls
Product: Core → Toolkit
QA Contact: video.audio → video.audio
Version: Trunk → unspecified
Assignee: nobody → paul
Here is a possible patch and its test.

If we play chained medias at some point, I suppose we will have to read metadata again (to prevent failure in case of number of channel or playback rate change), and therefore post new a |nsAudioMetadataEventRunner| to the main thread. That should update the |mozHasAudio| property.
Attachment #618878 - Flags: review?(cpearce)
Comment on attachment 618878 [details] [diff] [review]
v0 - implements mozHasAudio and adds a test.

Review of attachment 618878 [details] [diff] [review]:
-----------------------------------------------------------------

Nice. This seems a reasonable and way to expose this information until we implement AudioTrackList.
Attachment #618878 - Flags: review?(cpearce) → review+
Jared: see Paul's attached patch, which will be enable them to detect when a video has no audio so they can hide the volume controls etc.
Component: Video/Audio Controls → Video/Audio
Product: Toolkit → Core
QA Contact: video.audio → video.audio
Keywords: checkin-needed
https://hg.mozilla.org/integration/mozilla-inbound/rev/b579fa03e84a

Also, to make life easier for those checking in patches on your behalf, please follow the directions below for future patches you submit. Thanks!
https://developer.mozilla.org/en/Mercurial_FAQ#How_can_I_generate_a_patch_for_somebody_else_to_check-in_for_me.3F
https://developer.mozilla.org/en/Creating_a_patch_that_can_be_checked_in
Flags: in-testsuite+
Keywords: checkin-needed
Target Milestone: --- → mozilla15
Can't the HTML5 track API be used to check if there's an audio track? Assuming we implemented that of course...
Yes, as I mentioned in comment 3. It seems we can get a result sooner by taking this now than waiting for AudioTrackList to be implemented.
It wouldn't be that hard to implement enough of AudioTrackList to be useful here.
http://hg.mozilla.org/mozilla-central/rev/b579fa03e84a
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Even better would be to set disabled (instead of noAudio), so that the button is no longer clickable (as muting no sound doesn't work ;-)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: