- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Wed, 18 Jul 2012 17:22:17 +0200
- To: public-webrtc@w3.org
My problem with Cullen's note is that I've read it a couple of times now, and can't figure out what the change is - he describes the desired algorithm exactly the way I parsed the text that he says is wrong. In particular, this paragraph: 3 If the secondPassSet is now empty, let the secondPassSet be the current contents of the candidateSet. Otherwise, let the candidateSet be the current contents of the secondPassSet. which I parse as if (secondPassSet.empty()) { secondPassSet = candidateSet; // Restore secondPassSet to what it was before 5.2 } else { candidateSet = secondPassSet; // Remember what we successfully reduced to } matches my parse of Cullen's language exactly. Somewhere I must be parsing it wrong. Harald On 07/13/2012 08:34 PM, Cullen Jennings wrote: > makes sense … I don't see any reason not to apply all the constraints that can be satisfied even after a higher priority constraint fails. > > On Jul 10, 2012, at 13:47 , Jim Barnett wrote: > >> That seems right. One question: in that case (where an optional >> constraint has removed all the tracks), should we proceed to subsequent >> constraints? They are all lower priority than the one that just >> resulted in an empty track list. I don't know how intuitive it is to >> skip a constraint and then apply a bunch of lower-priority ones. It >> might be clearest to say that we go as far down the list of optional >> constraints as we can go (and still keep a non-null track list), and >> then stop. >> >> In either case, the algorithm will need to keep track of the last >> non-null value of the secondPassSet. >> >> - Jim >> >> -----Original Message----- >> From: Cullen Jennings (fluffy) [mailto:fluffy@cisco.com] >> Sent: Tuesday, July 10, 2012 4:16 PM >> To: public-webrtc@w3.org >> Subject: problem with constraints algorithm >> >> >> It currently says >> >> 4 Let the secondPassSet be the current contents of the candidateSet. >> >> 5 For each constraint key-value pair in the "optional" sequence of the >> constraints that are for the current media type, in order, >> >> 1 If the constraint is not supported by the browser, skip it >> and continue with the next constraint. >> >> 2 Remove from the secondPassSet any tracks that cannot satisfy >> the value given for the constraint. >> >> 3 If the secondPassSet is now empty, let the secondPassSet be >> the current contents of the candidateSet. Otherwise, let the >> candidateSet be the current contents of the secondPassSet. >> >> >> >> >> But in 5.3, I think it should go back to what it was before 5.2 not what >> it was in step 5. Think of the case where an earlier constraint removed >> some but not all of the tracks. Then a later constraint removed all the >> tracks - it's the effect of the last constrains that we want to roll >> back. >> >> If this does not make sense, I provide a more detailed example. >> >> >> >> >
Received on Wednesday, 18 July 2012 15:22:52 UTC