Bug 657791 prevent us from seeking in webm files that have no Cues. Despite that limitation, |seekable| returns |buffered| while playing a livestream, allowing the user to seek in the stream via the front-end, and displaying an infinite spinning throbber. We should return an empty TimeRanges object for |Seekable| when playing a live stream, or playing a bounded media that is not served with range requests.
Created attachment 625011 [details] [diff] [review] Patch v0 : change seekable behavior for WebM. This patch adds an virtual method in the ns*Readers to report if that backend is capable of seeking using only buffered ranges. This method is then called in |nsBuiltinDecoder::GetSeekable| to get the behavior wanted.
Comment on attachment 625011 [details] [diff] [review] Patch v0 : change seekable behavior for WebM. -nsresult nsRawReader::Seek(PRInt64 aTime, PRInt64 aStartTime, PRInt64 aEndTime, PRInt64 aCurrentTime) +nsresult nsRawReader::Seek(PRInt65 aTime, PRInt64 aStartTime, PRInt64 aEndTime, PRInt64 aCurrentTime) This looks like an accidental change. r+ with that removed.
Created attachment 625151 [details] [diff] [review] Addressed nit.
https://hg.mozilla.org/integration/mozilla-inbound/rev/1e18c991b40c Is this something that should have a test?
This is likely to be a more or less temporary patch waiting for Bug 657791. Does not worth a test, I believe.