RE: [MSE] Issue on seeking from the end time position

Thanks, Aaron.

The problem which I observed on seeking from the end time position is as follows;


1.     On seek event,  the web application invokes appendBuffer() to add the data at the new position.

2.     The prepare append algorithm described 3.5.4 runs. At step 3, the sub-steps reopen the source Buffer because the readyState of the mediaSource is “ended” by the endOfStream(null).

3.     The event of “sourceopen” is fired  and it seems to clear the currentTime state of the media element object and it cannot resume the seek algorithm as normal seeking.

I tried to resolve this issue by storing the currentTime on seek event and the web application resumes the seeking by itself.  But I think that it is better if the normal seeking steps described in 2.3.4 can run even in the case of the endOfStream(null) is invoked. So, I wonder that seeking from the end time position should change the currentState from “ended” to “open”.

You said that the transition from “ended” to “open” should only happen if the application appends more data. Does the transition described in the step 3 of the prepare append algorithm ?  Does the transition assume this case of seeking from the end time position ?

Thank you.

-***---***---***---***---***---***---***---***---***--***---***---***-
Tatsuya Igarashi (Tatsuya.Igarashi@jp.sony.com<mailto:Tatsuya.Igarashi@jp.sony.com>)
Information Technology Development Div, R&D Platform
Sony Corporation



From: Aaron Colwell [mailto:acolwell@google.com]
Sent: Friday, August 30, 2013 11:41 PM
To: Igarashi, Tatsuya
Cc: public-html-media@w3.org
Subject: Re: [MSE] Issue on seeking from the end time position

I'm not sure I understand the problem you are having. The MediaSource.readyState being "ended" should not effect seekability. You should be able to seek whether the readyState is "open" or "ended". Why do you think there needs to be a transition from "ended" to "open"? I think this transition should only happen if the application appends more data, which is what the current spec says should happen.

Please provide more details so I can better understand the issue you are having.

Aaron

On Fri, Aug 30, 2013 at 2:33 AM, Igarashi, Tatsuya <Tatsuya.Igarashi@jp.sony.com<mailto:Tatsuya.Igarashi@jp.sony.com>> wrote:
Hi,

I have a problem in the case of seeking from the end time position, i.e. video.currentTime== video.duration. The following NOTE of EndOfStream() descibles a very useful idea for the MPEG DASH and I use the endOfStream(null) when all media segments are appended to the source buffer. However this way does not allow to use the existing source buffer as the seek algorithm since the ready state becomes from “open” to “ended” by the endOFStream(null).  I wonder that seeking from the end time position should automatically change the readyState of the sourceBuffer from “ended” to “open” if endOFStream() is called without an error.

NOTE
This allows the duration to properly reflect the end of the appended media segments. For example, if the duration was explicitly set to 10 seconds and only media segments for 0 to 5 seconds were appended before endOfStream() was called, then the duration will get updated to 5 seconds.

Thank you.

-***---***---***---***---***---***---***---***---***--***---***---***-
Tatsuya Igarashi (Tatsuya.Igarashi@jp.sony.com<mailto:Tatsuya.Igarashi@jp.sony.com>)
Information Technology Development Div, R&D Platform
Sony Corporation

Received on Monday, 2 September 2013 05:31:09 UTC