[Bug 18515] Provide more details on behavior of the media element when the key for an encrypted block is not available

https://www.w3.org/Bugs/Public/show_bug.cgi?id=18515

--- Comment #5 from Joe Steele <steele@adobe.com> ---
I believe this case is functionally equivalent to the case where a media
element is paused for in-band content. 

Here is some proposed text to handle the "waiting for key" scenario around
Section 5.7 (Key Presence).

==============
If there is an event handler for _needkey_:
  If a MediaKeyNeeded event has not been fired for this block key id:
    Queue a task to fire a simple event named _needkey_ at the media element. 
      The event is of type MediaKeyNeededEvent and has:
        initData = block initData
    Start a timer based on the user agents "key stall timeout".
      On timer completion:
        If block key is still null, queue a task to fire a simple event named
_waiting_ at the media element.

If a MediaKeyNeeded event has been fired for this block key id:
  User agent should behave as if media element is paused for in-band content
(http://www.w3.org/TR/2012/CR-html5-20121217/embedded-content-0.html#paused-for-in-band-content)
  Wait until:
    Block key is not null OR resource fetch algorithm has been aborted

==============

Some open issues with this:
* Should "key stall timeout" be the "stall timeout" from the resource fetch
algorithm?
* I am not sure aborting when resource fetch algorithm is aborted is always
going to be appropriate, since the resource may have been completely fetched
already.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Monday, 25 March 2013 17:00:23 UTC