Bug 73405

Summary: When playing audio in <video>, the poster is hidden on play
Product: WebKit Reporter: Jeroen Wijering <mail@jeroenwijering.com>
Component: Media ElementsAssignee: Eric Carlson <eric.carlson@apple.com>
Status: RESOLVED FIXED    
Severity: Normal CC: eric.carlson@apple.com, webkit-bug-importer@group.apple.com
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
URL: http://goo.gl/0g77d
Attachments:
Description Flags
Proposed patch darin: review+

Description From 2011-11-30 00:06:11 PST
Playing an audio file in <video> is allowed and works fine. However, when the audio starts playing, the poster image is removed. 

Per the spec, the poster image should stay visible:

"When no video data is available (... the media resource does not have a video channel), the video element represents the poster frame."

This also provides a better experience. A poster image is nicer than a white screen.
------- Comment #1 From 2011-11-30 13:01:56 PST -------
Safari on 10.7.2 behaves correctly.
------- Comment #2 From 2011-11-30 13:04:38 PST -------
But Safari 5.1 on 10.6.8 does not, so it apparently depends on the media engine.
------- Comment #3 From 2011-11-30 13:08:38 PST -------
We display the poster until HTMLVideoElement::hasAvailableVideoFrame returns true. That method asks the media engine if has video to display. The QTKit based method (MediaPlayerPrivateQTKit::hasAvailableVideoFrame) can't tell if a QTMovieLayer actually has frames ready to display, but it also doesn't check to see if the movie has video at all.
------- Comment #4 From 2011-11-30 13:53:09 PST -------
This could be fixed in each of the media engines that have a problem (at least QTKit, QuickTime, and Chrome), or by adding one test to HTMLVideoElement. I am going to go with the later.
------- Comment #5 From 2011-11-30 13:53:53 PST -------
Created an attachment (id=117265) [details]
Proposed patch
------- Comment #6 From 2011-11-30 19:35:14 PST -------
(From update of attachment 117265 [details])
View in context: https://bugs.webkit.org/attachment.cgi?id=117265&action=review

> Source/WebCore/ChangeLog:8
> +        No new tests. (OOPS!)

Bad to not have tests.

Also can’t land the patch without removing the OOPS ;-)
------- Comment #7 From 2011-12-01 09:01:07 PST -------
<rdar://problem/10511668>
------- Comment #8 From 2011-12-01 09:01:56 PST -------
http://trac.webkit.org/changeset/101675