On Thu, Apr 30, 2009 at 12:00 AM, Ian Hickson <span dir="ltr">&lt;ian@hixie.ch&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="im">On Thu, 30 Apr 2009, Robert O&#39;Callahan wrote:<br>
&gt; &gt; &gt;<br>
</div><div class="im">&gt; &gt; &gt; So I think a safer design would be to interpret currentTime as<br>
&gt; &gt; &gt; relative to the startTime, perhaps renaming startTime to<br>
&gt; &gt; &gt; &#39;timeOffset&#39; instead?<br>
&gt; &gt;<br>
&gt; &gt; I considered that, but it seems that in the streaming video<br>
&gt; &gt; (&quot;DVR-like&quot;) case, in the steady state where the data in the buffer is<br>
&gt; &gt; being thrown away at the same rate as the video is being played you&#39;d<br>
&gt; &gt; end up in a weird position of the currentTime not changing despite the<br>
&gt; &gt; video playing, which would likely be even more confusing.<br>
&gt;<br>
&gt; Why should the &quot;start time&quot; change in this case? I assume you mean the<br>
&gt; server is streaming video and does not support sending any data except<br>
&gt; the data for the current time, and the UA is caching a window of data.<br>
&gt; Then I would expect the element to expose a fixed start time (the time,<br>
&gt; relative to the start of the resource, at which the UA first opened the<br>
&gt; stream). As the stream plays, &#39;duration&#39; would increase and the<br>
&gt; &#39;seekable&#39; and &#39;buffered&#39; TimeRanges would change to reflect the data<br>
&gt; the UA has in its buffer.<br>
<br>
</div>I mean, e.g., a TiVo-like interface, where the input is a TV tuner, or a<br>
streaming video service that doesn&#39;t let you seek but where the UA is<br>
buffering 15 minutes of content so that the user can seek within that. The<br>
way this is supported in the spec now, the start time (the &quot;earliest<br>
possible position&quot;) continually changes, so that the UI doesn&#39;t show an<br>
increasingly long time frame, but instead only shows the last 30 minutes.<br>
<div><div></div></div></blockquote><div><br>To me, &quot;the earliest possible position&quot; seems redundant with the &#39;seekable&#39; TimeRanges. I think your use-case can be exposed perfectly adequately with an indefinite &#39;duration&#39; and &#39;seekable&#39; and &#39;buffered&#39; TimeRanges changing over time (which will happen in many non-streaming cases too). There is no need to have &#39;startTime&#39; changing; that seems an unnecessary complication. I think that dynamically changing the &quot;time coordinate system&quot; in which &#39;currentTime&#39; is interpreted is a bad idea.<br>
<br>RobĀ </div></div>-- <br>&quot;He was pierced for our transgressions, he was crushed for our iniquities; the punishment that brought us peace was upon him, and by his wounds we are healed. We all, like sheep, have gone astray, each of us has turned to his own way; and the LORD has laid on him the iniquity of us all.&quot; [Isaiah 53:5-6]<br>