On IE9, the video poster attribute (used by Video to show pre-playback thumbnails) is not used if video preloading is enabled. Either preload="metadata" or preload="auto" will cause IE9 to ignore the video thumbnail and render a black square with controls. Additionally, if there are hidden videos (in our case, we have a View rendered using the Views Slideshow plugin that uses jQuery cycle) and they are set to auto or metadata preload, IE9 won't render them at all.

The only solution for IE9 is to set preload="none", in which case IE9 will dutifully use video posters even on hidden video elements. Currently we're using a workaround of putting the video-play-html5 template in our theme's template set and changing line 21 in that file to:

$preload = $autobuffering ? 'auto' : 'none';

This causes IE9 to render the video thumbnails correctly, at the expense of not having preloaded videos. A more robust solution would be the ability to select between auto, metadata, and none for the preload attribute instead of just auto and metadata. Or better yet, different preload behaviors for different browsers so making IE9 work doesn't make iPhones take longer to load things.

By the way, this particular behavior may not be reproducible. Some versions of IE9 (such as IE9 on Windows Server) don't have this issue, while others do. My boss had all of his machines with IE9 exhibiting this bug but none of the machines with IE9 I had would have this issue. So all I'm requesting is the ability for more fine-grained preload control.