W3C

- DRAFT -

HTML Media Teleconference

26 Jun 2012

See also: IRC log

Attendees

Present
+1.206.664.aaaa, duncanr, +1.352.870.aabb, markw, +1.303.503.aacc, Martin, +1.858.677.aadd, +1.858.735.aaee, pladd, kstreeter, glenn, adrianba, paulc, yang, ddorwin, jasonlewis, johnsim-microsoft, Petr, +1.415.832.aagg, whitech, Clarke, nixu, Mark_Vickers, +1.818.560.aahh, BobLund, acolwell, mahesh, Plh, SethHodgson
Regrets
Chair
Paul Cotton
Scribe
jasonlewis

Contents


<trackbot> Date: 26 June 2012

<glenn> yes

<nixu> nixu, Disney Technology Solutions and Services, i'm the 352 number

<Petr> 858 is Petr Peterka

<MikeSmithW3C> I will be on IRC only, today, from my mobile

<Clarke> zakim +1.303.503.aacc is BobLund

<MikeSmithW3C> paulc, so if you need me for anything please ping me here on irc

<mahesh> <Zakim>, +1-818-560-0523, it's me

<mahesh> I am on the phone

<mahesh> <Zakim>, +1-818-560-0523 is mahesh

Paul: Jason is scribe, Paul is Chair

<paulc> 26 attendees

Paul: Topic discuss previous minutes, last meeting of this group 2 weeks ago. There has been some discussion on mailing lists.
... Action items. There are none

Roll call

previous minutes

<paulc> Noted

Review Action Items

Noted. No action required

Baseline Documents

Noted

Support for Multiple Init Values from a Single Session

Support for multiple initData values in a single session

<paulc> See http://lists.w3.org/Archives/Public/public-html-media/2012Jun/0056.html

David: Do we need multiple initData? And to associate with sessions.
... Associating messages and tracking lifetimes is simpler if we only allow one initData

<ddorwin> …per session ID

Yang: Currently initData is one-to-one mapping, if changed then we may need to multiple key per session
... Is there a relative mapping between initData and Key?

David: initData may be a Key , or reference to key.
... there may be some issue of replay attacks, but this is responsibility of CDM

Adrian: my preference is to keep things as simple as possible. Haven't seen a compelling enough reason to move away from single initData. Prefer to keep existing structure until there is a hard requirement needing this to change.

<yang> agree with Adrian

Mark W: There is a scenario with multiple calls and multiple keys.

Mark W: Question is how to coordinate these requests..as a bundle? then there will need to be more information from initData

<Martin> +Martin

<Martin> if an initData and key request map to a single request / transaction then a one-to-one mapping is simpler and there is no reason multiple KIDs can't be included in a single "key request"

Mark W: Impact is whether you can write generic application without knowledge of how media keys and structure were handled in the files

Martin: It seems one-to-one mapping is simpler

Mark W: issue is that initData may not actually require delivery of new key

Mark W: Application needs to know if it needs to create to be a session

Paul: What does current spec say about this?

<ddorwin> the current spec assumes one session at a time I believe

Mark W: Does say anything about key exchange if CDM already knows the key data

<yang> we do not need multiple needkey event in 1 session,even iif we support multiple initdata in one session

<yang> because it is meaningless for application to see the following needkey event because we only need 1 key in this session.

Adrian: Mark outlined one scenario that was possible. But are we ok with keeping it simple for now until a hard use case arises that justifies this?

<paulc> This is a sub-issue of https://www.w3.org/Bugs/Public/show_bug.cgi?id=16613

Mark V: if we applied the initData in createNewSession method...that would give CDM option to decide whether new data would be needed

David: Like this

Adrian: Have questions about this...and general object oriented discussion

<markw> createNewSession would return an existing session object if no new message exchange was required based on the provided initData

object-oriented design representing sessions as objects

<paulc> http://lists.w3.org/Archives/Public/public-html-media/2012Jun/0054.html

<markw> we would still need generateKeyRequest() to trigger the events as we need time to register event handlers

<ddorwin> One question is whether generateKeyRequest() should create the session object or be a method on that object. Having it create the object is attractive because it enforces calling order without explicit checks.

David: if we did have createSession with initData ... and the CDM returns session... There may be an issue if this is asynchronous in the CDM

<ddorwin> The biggest problem with geneerateKeyRequest() creating the object is that it requires the following pattern:

<ddorwin>   var obj = doSomethingThatFiresEventFoo();

<ddorwin>   obj.onfoo = myhandler;

<ddorwin> In other words, the constructor can fire events at the object it is creating that we want to handle.

Paul: Let's please get everyone's opinion

Adrian: My opinion is that we should pick the object-oriented approach

<Martin> my opinion is we should pick the object oriented approach

Adrian: Design we proposed allows JS to iterate through the systems that a website supports... originally in spec this was done by calling generateKeyRequest multiple times.
... seems that we throw away objects very quickly

David: If we added initData we may have been able to simply get null objects

<markw> What if you do support the keysystem but the initData does not contain information for that keysystem ?

Adrian: it will still be necessary to allow async behavior. But would like to support fast fail

David: issue; we would have to start throwing errors at the object

Mark W: What if you do support the keysystem but the initData does not contain information for that keysystem ?

Mark W: do you have to fire up the CDM to determine support? or can the browser do this based on initData?

Paul: The spec doesn't make it mandatory to spin up CDM, so this is optional from browser...but probably shoul

<ddorwin> What type of error should occur in the case where we have to spin up the CDM?

<ddorwin> synchronous null session object or asynchronous keyerror at the object?

Mark W: seems like both; if browser can determine quickly , but also need to support async when CDM has to be started to determine it

<ddorwin> we can specify both types of errors are possible.

Paul: This isn't yet included in proposal

<paulc> adk adrian

David: ran into roadblock that object created also is event handler; is this pattern acceptable?

Adrian: this is a common pattern. if you add event listener to object then events are queued. May feel odd, but it is supported by the way event handlers are implemented

Paul: is there another API that has similar handler

<markw> It still might be better for the HTMLMediaElement method to be "createSession" and just remove generateKeyRequest altogether

Adrian: XHR is similar;

<ddorwin> Okay, great. I wasn't sure, but that helps a lot.

<SethHodgson> +1 on this being a common JavaScript idiom.

David: Yes, i can find the Websocket api/implementation for reference
... sessionId is a part of the object, but it would have to stay not valid .. until we receive the first key response

Paul: a) Have we answered the questions that we've talked in email? or b) do we have enough data to decide how to implement this ?

David: Yes

<glenn> is that initData object mutable or immutable?

<SethHodgson> Should be, or should be spec'ed as only read @ input time

David: it is an input. So it's currently not exposed.

<glenn> but if it has members, does mutating those members mean that the changes are intended to be used?

<glenn> i'm on the phone, but muted

Paul: trying to clarify; is it read only?

<glenn> ok, so there is no initData object per se?

<adrianba> initData is a Uint8Array

David: initData is blob, that probably came from a file
... session object is mutable, but properties like sessionid are read only

<adrianba> generateKeyRequest reads the data and then uses it - it doesn't keep a reference

<glenn> ok, thanks;

<glenn> be careful about mutability / liveness of session object

Requiring generateKeyRequest() in all cases for all key systems

Paul: Solved by previous discussion

Next Steps

Paul: seems that we need a change proposal for items a, b, c from agenda and bring this to meeting by July 10

David: I will get this out today

Any other business

Adrian: is it possible to get from keySession object from mediaElement

<Martin> +1 to being able to get from key session object to media element

Adrian: if an event fires, how do you associate it with the mediaElement

Paul: Is there a volunteer scribe for next week?
... Meeting adjourned

Summary of Action Items

[End of minutes]

Minutes formatted by David Booth's scribe.perl version 1.136 (CVS log)
$Date: 2012/06/26 16:00:43 $

Scribe.perl diagnostic output

[Delete this section before finalizing the minutes.]
This is scribe.perl Revision: 1.136  of Date: 2011/05/12 12:01:43  
Check for newer version at http://dev.w3.org/cvsweb/~checkout~/2002/scribe/

Guessing input format: RRSAgent_Text_Format (score 0.99)

Succeeded: s/on/one/
Succeeded: s/this/this?/
Succeeded: s/Andrian/Adrian/
Succeeded: s/createKeyRequest/generateKeyRequest/
Succeeded: s/HTMLMediaElement/HTMLMediaElement method/
Succeeded: s/mutede/muted/
No ScribeNick specified.  Guessing ScribeNick: jasonlewis
Inferring Scribes: jasonlewis

WARNING: Replacing list of attendees.
Old list: +1.206.664.aaaa duncanr +1.352.870.aabb markw +1.303.503.aacc Martin +1.858.677.aadd +1.858.735.aaee pladd kstreeter glenn adrianba paulc yang ddorwin jasonlewis johnsim-microsoft Petr +1.415.832.aagg whitech Adobe Clarke nixu Mark_Vickers +1.818.560.aahh BobLund acolwell mahesh
New list: +1.206.664.aaaa duncanr +1.352.870.aabb markw +1.303.503.aacc Martin +1.858.677.aadd +1.858.735.aaee pladd kstreeter glenn adrianba paulc yang ddorwin jasonlewis johnsim-microsoft Petr +1.415.832.aagg whitech Clarke nixu Mark_Vickers +1.818.560.aahh BobLund acolwell mahesh Plh SethHodgson

Default Present: +1.206.664.aaaa, duncanr, +1.352.870.aabb, markw, +1.303.503.aacc, Martin, +1.858.677.aadd, +1.858.735.aaee, pladd, kstreeter, glenn, adrianba, paulc, yang, ddorwin, jasonlewis, johnsim-microsoft, Petr, +1.415.832.aagg, whitech, Clarke, nixu, Mark_Vickers, +1.818.560.aahh, BobLund, acolwell, mahesh, Plh, SethHodgson
Present: +1.206.664.aaaa duncanr +1.352.870.aabb markw +1.303.503.aacc Martin +1.858.677.aadd +1.858.735.aaee pladd kstreeter glenn adrianba paulc yang ddorwin jasonlewis johnsim-microsoft Petr +1.415.832.aagg whitech Clarke nixu Mark_Vickers +1.818.560.aahh BobLund acolwell mahesh Plh SethHodgson
Found Date: 26 Jun 2012
Guessing minutes URL: http://www.w3.org/2012/06/26-html-media-minutes.html
People with action items: 

WARNING: Input appears to use implicit continuation lines.
You may need the "-implicitContinuations" option.


[End of scribe.perl diagnostic output]