<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:black;}
span.EmailStyle18
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor=white lang=EN-US link=blue vlink=purple>
<div class=WordSection1>
<div>
<p class=MsoNormal>>We should also tighten up the language so that the
poster <i>must</i> be shown up until playback begins<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Yes, please<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>>or a seek completes, rather than <i>can</i> be shown
though.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>No, this won’t work. I don’t want the poster to be
shown during a seek so the question of showing it until seek completes is moot.<o:p></o:p></span></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>>I agree, you don't want all those side effects just to
show the poster. If you want to change when the poster appears, you're better
off creating your own poster as an >image element. <br>
<br>
<span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>So really, what you’re saying is simply forget about using
the poster attribute altogether. Which is exactly what a few others have
done including us, so this whole dialog has been futile. In that case you don’t
need to tihghten up the spec either.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal>>You can implement "media switching in mid
play" by loading the new resource in a new video element, seeking to the
switch over point, and then swapping the new >video element in place of the
old one. When you call load(), the poster will be shown, but when the seek
completes, the poster image will be replaced by the frame at >the seek
target location.<br>
<br>
>This would be quicker than stopping playback of the existing resource,
starting a new load in the existing media element, waiting for the new load to
initialize, waiting >for the seek to the change over point to complete, and
then resuming playback. Unlike your proposed method, it can be done without
needing to stop playback.<br>
<br>
>Given that this better alternative method exists to achieve what you want,
I don't think your case 3 is a strong argument against displaying the poster
every time we >call load().<o:p></o:p></p>
<p class=MsoNormal><br>
<span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Chris,
this is awesome dude! Why didn’t I think of this. This is a far better
solution for a very typical use case. So now I need to sync events across multiple
payers, keep playing player 1 and leave the user wondering why her choice hasn’t
taken effect while I silently load the other video in the background and then ….hmm
I get now. That’s a much better solution to my need for turning a poster
on/off.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Ok, serious now….<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Chris, it seems to me that you agree that the load() method is
not the right method to turn on the poster. Is that correct?<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Shiv<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><a href="http://exposureroom.com/"><span style='color:blue'>http://exposureroom.com</span></a><o:p></o:p></span></p>
</div>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:
"Tahoma","sans-serif";color:windowtext'> whatwg-bounces@lists.whatwg.org
[mailto:whatwg-bounces@lists.whatwg.org] <b>On Behalf Of </b>Chris Pearce<br>
<b>Sent:</b> Wednesday, September 22, 2010 1:23 AM<br>
<b>To:</b> whatwg@lists.whatwg.org<br>
<b>Subject:</b> Re: [whatwg] Html 5 video element's poster attribute<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>On 22/09/2010 4:26 p.m., Shiv Kumar wrote: <o:p></o:p></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'> </span> <span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span>
<o:p></o:p></p>
<p class=MsoNormal>>What I suggested was to use a call to the load()<o:p></o:p></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>So
in your mind calling load() implies showing the poster?</span><o:p></o:p></p>
<p class=MsoNormal><br>
I think we should change to this. Then every call to load() would have the same
effect.<br>
<br>
We should also tighten up the language so that the poster <i>must</i> be shown
up until playback begins or a seek completes, rather than <i>can</i> be shown
though. That would (hopefully!) ensure cross browser consistency.<br>
<br>
<br>
<o:p></o:p></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><o:p></o:p></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>The
other reason (that I’ve mentioned repeatedly) for not wanting to use the
load method is this:</span><o:p></o:p></p>
<p class=MsoListParagraph style='text-indent:-.25in'><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif"'>The load method has way too many
side effects including events no less, oh and did I mention have the player now
go to pause and have the readyState switch to HAVE_NOTHING, when there is meta
data and to Network state go to empty when it’s really idle? Gosh, I
could take almost every other step in the media element load algorithm stated
procedure…</span><o:p></o:p></p>
<p class=MsoListParagraph style='text-indent:-.25in'><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif"'>These side (I’ve only
listed small number above) effects are not desireable when all we want to
do is turn on/off the poster.</span><o:p></o:p></p>
<p class=MsoNormal><br>
I agree, you don't want all those side effects just to show the poster. If you
want to change when the poster appears, you're better off creating your own
poster as an image element. <br>
<br>
The "just show the poster until I play or seek" case is the common
case. If you want to customize your player, you can still do that.<br>
<br>
<br>
<o:p></o:p></p>
<p class=MsoListParagraph style='text-indent:-.25in'><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif"'>Alter the load alogorithm to now
fiddle with the poster will impact the other use case I’ve mentioned and
that is, the ability to be able to switch media in mid play. We call the load()
method to be able to do this (because of the things it does do listed above).
So now we’ll have the poster become visible while we’re trying to
switch video streams?</span><o:p></o:p></p>
<p class=MsoNormal><br>
You can implement "media switching in mid play" by loading the new
resource in a new video element, seeking to the switch over point, and then
swapping the new video element in place of the old one. When you call load(),
the poster will be shown, but when the seek completes, the poster image will be
replaced by the frame at the seek target location.<br>
<br>
This would be quicker than stopping playback of the existing resource, starting
a new load in the existing media element, waiting for the new load to
initialize, waiting for the seek to the change over point to complete, and then
resuming playback. Unlike your proposed method, it can be done without needing
to stop playback.<br>
<br>
Given that this better alternative method exists to achieve what you want, I
don't think your case 3 is a strong argument against displaying the poster
every time we call load().<br>
<br>
<br>
Regards,<br>
Chris P.<o:p></o:p></p>
</div>
</body>
</html>