- From: Robin Raymond <robin@hookflash.com>
- Date: Sat, 10 May 2014 17:06:44 -0400
- To: Bernard Aboba <Bernard.Aboba@microsoft.com>
- CC: "public-ortc@w3.org" <public-ortc@w3.org>
- Message-ID: <536E94E4.7060504@hookflash.com>
I missed that when I originally looked at Principle #4: filterParameters(createParameters(), C) == createParameters(C) I'm not sure this fully defines what this this means for all scenarios. Plus given a local systems understanding of "C" might be greater or less than a remote systems understanding of "C", I'm not sure that statement is actually true. Also a createParams on a receiver may differ in its return results than a createParams would on a sender, even given the same caps (senders and receivers don't always require the sam level of detail). There are 8 (or more) usage scenarios. Not sure which is legal, duplicate, possible, useable, and what they all mean and what to do in all scenarios. sender.filterParams(senderParams, senderCaps); sender.filterParams(receiverParams, senderCaps); sender.filterParams(senderParams, receiverCaps); sender.filterParams(receiverParams, receiverCaps); receiver.filterParams(senderParams, senderCaps); receiver.filterParams(receiverParams, senderCaps); receiver.filterParams(senderParams, receiverCaps); receiver.filterParams(receiverParams, receiverCaps); Where senderParams was created using sender.createParams(); Where receiverParams was created using receiver.createParams(); And that's not even considering this: altSenderParams = sender.createParams(receiverCaps); altReceiverParams = receiver.createParams(senderCaps); Examples 8 and 9 use remote caps but the API doesn't say what is expected. Even if I understand the vague principle of what it might do, I'm still not clear on what it actually does in detail... I can't just see it as a remote version of the createParams algorithm as it manipulates an existing param set based on capabilities instead of constructing new ones. I am not exactly sure I can explain what it really does to the level someone could go ahead and implement it... -Robin > Bernard Aboba <mailto:Bernard.Aboba@microsoft.com> > May 10, 2014 at 4:26 PM > Peter Thatcher said: > > This could be done entirely in JS, but for simple use cases, that's > kind of a pain, so we introduce a second convenience function: > filterParameters. > It has a simple meaning: > > (1) filterParameters(createParameters(), C) == createParameters(C) > > [BA] It makes sense to me that calling a local filterParameters > function on locally created parameters along with remote capabilities > would produce the same result as calling the local createParameters > function on those same remote capabilities. > > However, there is another use of filterParameters in Example 8 of the > Editor's draft, which is calling the local filterParameters function > on parameters created on a remote system and (implicitly) filtering > them through the local capabilities. > > For this case, I am wondering if there is an equivalent relationship > to equation (1) above. For example, do we believe that the following > relationship holds? > > (2) filterParameters(remoteCreateParameters()) == > remoteCreateParameters(localCapabilities) > > The above relationship seems to require some additional assumptions > beyond the first one, which is that the local filterParameters > function is compatible with the remote createParameters function. > > [Peter] 1. Exchange capabilities, and then parameters use > createParameters (2 round trips, but extremely easy). > > [BA] If relationship (2) holds, it would seem that exchanging > capabilities would be sufficient without having to exchange parameters > over the wire, because those parameters are derivable on the remote > system without having to send them. > > > > >
Received on Saturday, 10 May 2014 21:07:16 UTC