IRC log of webrtc on 2015-10-28

Timestamps are in UTC.

23:56:04 [RRSAgent]
RRSAgent has joined #webrtc
23:56:04 [RRSAgent]
logging to http://www.w3.org/2015/10/28-webrtc-irc
23:56:12 [vivien]
RRSAgent, make logs public
23:56:26 [vivien]
Meeting: WebRTC TPAC 2015 F2F
23:56:49 [vivien]
Agenda: https://www.w3.org/2011/04/webrtc/wiki/October_29_-_30_2015#Thursday_October_29
23:57:01 [vivien]
Chair: Harald & Stefan
23:58:02 [vivien]
Present+ Maire_Reavy, Randel_Jesup
00:01:00 [Shijun]
Shijun has joined #webrtc
00:01:20 [vivien]
Information for presenters if you have slides for today (and I hope you do ;) please sned them to vivien@w3.org and I'll take of adding them to the wiki
00:02:06 [vivien]
on webex we have: Maire & Randel
00:02:14 [vr000m]
vr000m has joined #webrtc
00:02:14 [dom]
Present+ Kevin_Fleming, Adam_Alfar, Shijun, PeterT, MartinT, AdamR, Varun, Cullen, Matthieu, Alex, AndrewH, Vivien, DanB, StefanH, Harald, Dom
00:02:22 [juberti]
juberti has joined #webrtc
00:02:33 [mt_____]
mt_____ has joined #webrtc
00:02:40 [adamR]
adamR has joined #webrtc
00:02:46 [juberti]
Is there a dial-in for this meeting?
00:02:58 [mt_____]
it's on the agenda page
00:03:04 [mt_____]
just added apparently
00:03:19 [burn]
burn has joined #webrtc
00:03:22 [dom]
dom has changed the topic to: https://www.w3.org/2011/04/webrtc/wiki/October_29_-_30_2015
00:03:27 [dom]
Agenda: https://www.w3.org/2011/04/webrtc/wiki/October_29_-_30_2015
00:03:29 [mt_____]
s/Is there a dial-in for this meeting?//
00:03:37 [mt_____]
s/it's on the agenda page//
00:03:38 [jesup]
jesup has joined #webrtc
00:03:45 [mt_____]
s/just added apparently//
00:04:00 [vivien]
Topic: Agenda review for Thursday
00:04:05 [mathieucitrix]
stefan: Going throigh agenda
00:04:08 [vivien]
scribe: mathieucitrix
00:04:30 [vivien]
s/throigh/through/
00:05:38 [mathieucitrix]
... is everybody ok swapping simulcast and webrtc privacy afternoon sessions?
00:05:49 [toddg]
toddg has joined #webrtc
00:05:50 [vivien]
Present+: Justin_Uberti
00:05:52 [vivien]
Present+ Justin_Uberti
00:06:04 [masato]
masato has joined #webrtc
00:06:50 [mreavy]
mreavy has joined #webrtc
00:08:25 [mathieucitrix]
harald: adding agenda bashing tomorrow morning for friday
00:08:45 [gmandyam]
Present+ gmandyam
00:08:58 [mathieucitrix]
stefan: moving on to added functionality
00:09:26 [juberti]
so: agenda is: transceiver and other 1.0 stuff this morning; simulcast in afternoon; IP privacy tomorrow morning?
00:09:49 [wydong_CM]
wydong_CM has joined #webrtc
00:10:31 [vivien]
Topic: Added functionality in WebRTC-1.0 after interim meeting
00:10:49 [mathieucitrix]
stefan going through list of what was agreed since seattle
00:10:56 [igarashi_]
igarashi_ has joined #webrtc
00:11:26 [toddg]
toddg has left #webrtc
00:11:28 [mathieucitrix]
martin: didn't have time to finish PR for pre-negotiation
00:11:39 [toddg]
toddg has joined #webrtc
00:12:27 [mathieucitrix]
stefan: almost all done for items since seattle. separate discussion for simulcast
00:12:51 [mathieucitrix]
... peter can go for slides on transciever
00:14:48 [dom]
-> https://www.w3.org/2011/04/webrtc/wiki/File:RtpTransceivers_at_TPAC_2015.pdf PeterT's slides on Transceiver
00:15:04 [mathieucitrix]
peter: Things that we added: 1:1 mapping between mline and transceiver
00:15:43 [mathieucitrix]
... method for creating transceiver
00:16:35 [mathieucitrix]
martin: why do we have get transciver as getter
00:17:53 [mathieucitrix]
... should mid be on transceiver ?
00:18:18 [mathieucitrix]
peter: for linking back to sender
00:18:35 [mathieucitrix]
martin: there is no attribute ?
00:18:39 [mathieucitrix]
peter: no
00:19:38 [fluffy]
So martin said we need to mark the sender and receiver objects as “saome object” in webild
00:19:43 [fluffy]
seemed to agrement on that
00:20:20 [hta]
hta has joined #webrtc
00:20:20 [juberti]
going afk for a bit; back in ~1hr
00:21:20 [vivien]
Present+ Taylor_Brandstetter
00:21:53 [mathieucitrix]
fluffy: is removing offerToReceive not a problem for breaking what's out there already ?
00:22:22 [mathieucitrix]
martin: remove from spec but keep in implem and deprecate
00:22:45 [mathieucitrix]
adam: we're prefixed anyway so not a problem:
00:23:01 [mathieucitrix]
martin: FF 44 has webrtc unprefixed
00:23:22 [mathieucitrix]
... will have both prefix and unprefix because of broken polyfills
00:23:55 [masato]
masato has joined #webrtc
00:24:00 [mathieucitrix]
peter: leave to browser to handle as implem decision but remove from spec
00:24:38 [mathieucitrix]
fluffy: document in backwards compatibility section ?
00:24:53 [mathieucitrix]
martin: ok either way
00:25:43 [mathieucitrix]
harald: consensus is removing
00:26:14 [mathieucitrix]
peter: removeTrack deactivates instead of removing sender
00:27:24 [mathieucitrix]
... simplified version of examples
00:28:13 [kpfleming]
kpfleming has joined #webrtc
00:29:18 [mreavy]
can someone update the wiki page with the agenda changes? ( http://www.w3.org/2011/04/webrtc/wiki/October_29_-_30_2015 )
00:29:45 [adamR]
hta: ^^^
00:29:51 [jib]
jib has joined #webrtc
00:30:34 [mathieucitrix]
fluffy: media before signalling: if I ever got the video before answer is applied, it would render to video tag in this case ?
00:30:57 [mathieucitrix]
harald: if things are wired that packets manage to come in, then yes
00:32:11 [jesup]
it's very hard to hear many of the people due to the mic-ing.... some aren't hearable due to distance, mic, or voice frequency (hta ;-)
00:32:54 [hta]
I'm sorry - my voice is gone, so I'm more handicapped than usual by the fact that the mike stopped moving.
00:33:12 [mathieucitrix]
peter: if iframe comes in before fingerprint, we can rprocess it but not render it
00:33:18 [vivien]
Present+ Jan-Ivar_Bruaroey
00:34:14 [mathieucitrix]
dom: that example in not in any PR
00:34:23 [mathieucitrix]
peter: will fix that
00:34:36 [mathieucitrix]
... next, remaining questions
00:34:59 [mathieucitrix]
... when does addtrack reuse sender
00:35:05 [mishizaw]
mishizaw has joined #webrtc
00:36:02 [mathieucitrix]
... option a: reuse sender if inactive
00:37:00 [mathieucitrix]
fluffy: can we drop whole problem of replace track onto JSEP ?
00:37:21 [mathieucitrix]
peter: JSEP doesn't fully solve it yet ?
00:38:19 [mathieucitrix]
peter: option C, recommended, reuse sender if never been active
00:38:30 [mathieucitrix]
fluffy: that's what jsep does
00:38:52 [mathieucitrix]
... worried this is defined in 2 places
00:39:18 [mathieucitrix]
peter: already refers to jsep
00:39:37 [dozawa]
dozawa has joined #webrtc
00:39:54 [mathieucitrix]
fluffy: this sounds like agreement on solution, we need to figure out how to put it correcty in spec
00:40:40 [mathieucitrix]
dan: shouldn't use word "resuse", since it's really use if never been used
00:41:29 [mathieucitrix]
harald: concensus on C. need to figure out which document writes it
00:42:09 [mathieucitrix]
adam: theres a discrpeency with jsep.
00:42:59 [dom]
s/discrpeency/discrepancy/
00:43:00 [mathieucitrix]
martin: jsep says you can revive if both sides know it's gone, port 0
00:43:08 [mathieucitrix]
... we're missing that here
00:43:24 [mathieucitrix]
... not using what justin carefully crafted
00:43:56 [mathieucitrix]
peter: justin said use case was too complicated and so didn't have to handle it
00:44:00 [wonsuk]
wonsuk has joined #webrtc
00:44:50 [mathieucitrix]
harald: receiver is gonna see the wrong thing on other end. so only solution is to signal.
00:45:55 [mathieucitrix]
martin: I think what happen is that new transciever sender and receiver might reuse mid
00:46:33 [mathieucitrix]
fluffy: at any given point one to one relationship between mline and transceiver
00:47:01 [mathieucitrix]
... but if mline is gone and transceiver gone, then new one might end up on same mline
00:48:04 [mathieucitrix]
martin: there is a concern. all good on sender side, but receiver might not know. solution is to change mid
00:48:23 [mathieucitrix]
fluffy: need justin and ekr and whiteboard this
00:48:58 [mathieucitrix]
martin: can try to solve it tomorrow. ekr will be here.
00:49:13 [mathieucitrix]
fluffy: record strawman so justin can catch up
00:49:13 [mishizaw]
mishizaw has joined #webrtc
00:51:53 [adamR]
The general shape of the solution is: (1) We will recycle m= sections, as described in draft-ietf-rtc-jsep; (2) We will use *new* transceivers whenever an m= line is recycled; and (3) we *probably*, subject to further analysis, need to change MID on a recyled m= section
00:52:20 [mathieucitrix]
peter: question 2
00:53:10 [mathieucitrix]
... how to activate transceiver without calling addTrack
00:53:31 [mathieucitrix]
... option a: setActive
00:55:08 [mathieucitrix]
harald: should we make all senders active by default ?
00:55:51 [mathieucitrix]
peter: would need to change addTrack logic to behave like replaceTrack ?
00:56:20 [mathieucitrix]
harald: it's in case of never been used, so shouldn't need to change anything
00:57:49 [mathieucitrix]
peter: idea is sender are automatically activate, and redefine addTrack as if active sender that never had track, use replaceTrack logic ?
00:58:05 [mathieucitrix]
... this might work
00:59:15 [mathieucitrix]
fluffy: deafult in SDP is send receive. still need a way to "deactivate"
01:00:18 [mathieucitrix]
peter: option b: put activate sender on transceiver
01:00:21 [mathieucitrix]
... sound like one off
01:00:59 [mathieucitrix]
fluffy: setDirection on transceiver might make more sense. and reflects what's going on in SDP. wouldn't feel weird
01:02:34 [mathieucitrix]
... active is not a good name
01:03:02 [wonsuk]
wonsuk has joined #webrtc
01:03:06 [tomoyuki_]
tomoyuki_ has joined #webrtc
01:03:19 [kinjim]
kinjim has joined #webrtc
01:03:20 [mathieucitrix]
peter: so everybody happy with transceiver ."setHorrible" ?
01:03:55 [mathieucitrix]
harald: setRemoteDescrition might change thos bits
01:04:30 [mathieucitrix]
... transceiver need to go muck with sender and receiver
01:05:33 [mathieucitrix]
peter: is all this worth it compared to say, if you do warm up, you'll have to do re-offer
01:06:06 [mathieucitrix]
fluffy: you might just be able to do offer, provisional answer, answer
01:06:28 [mathieucitrix]
peter: if that's true we dont need setHorrible ?
01:07:36 [mathieucitrix]
peter: scenario already fine in non-warm up
01:07:37 [vivien]
present+ Erik_Lagerway, Bernard_Aboba, Robin_Raymond
01:07:47 [mathieucitrix]
fluffy: are we trying to solve a non-problem
01:08:03 [wonsuk]
wonsuk has joined #webrtc
01:08:53 [mathieucitrix]
... this example is not enough to see where the issue is
01:10:19 [mathieucitrix]
fluffy: nice option with this is we dont need pranswer
01:10:37 [mathieucitrix]
... but it's still 2 signalling messages
01:10:55 [mathieucitrix]
peter: 2 q: is ugly bit worth it? what is exactyly the ugly bit
01:11:17 [mathieucitrix]
martin & fluffy: yes needed, peter to decide what api looks like
01:11:47 [vivien]
(that was option B)
01:11:49 [mathieucitrix]
peter: question 3, harder question, rollback
01:12:29 [mathieucitrix]
... option a, never remove transceiver
01:13:06 [mathieucitrix]
fluffy: if it's there, is it functional, how do you know ?
01:13:22 [mathieucitrix]
martin: how do you diff between good & bad
01:13:27 [mathieucitrix]
peter: not good option
01:13:37 [mathieucitrix]
... option b: always remove
01:14:28 [mathieucitrix]
martin: crux of problem: are you rolling back remote offer, or everything done since left stable ?
01:15:30 [mathieucitrix]
martin: what if stable, call addTrack, then setRemote. track might be added to existing transceiver . what do you do on roolback ?
01:15:46 [mathieucitrix]
fluffy: you go back to stable
01:17:08 [mathieucitrix]
martin: this doesn't work, describing issue if some tracks were added, others not
01:17:24 [mathieucitrix]
... should roll back offer, not add tracks
01:17:34 [mathieucitrix]
.. let tracks sit there
01:17:51 [mathieucitrix]
fluffy: ok, that;s about negotiated offer
01:17:58 [mathieucitrix]
peter: option b no god
01:18:08 [mathieucitrix]
s/god/good/
01:18:37 [mathieucitrix]
peter: option c, ... out not possible
01:18:58 [mathieucitrix]
peter: option D,
01:20:08 [mathieucitrix]
martin raising an issue
01:20:23 [mathieucitrix]
peter: option E is meh
01:20:30 [mathieucitrix]
peter: option E
01:20:43 [mathieucitrix]
s/option E is meh/option D is meh/
01:21:50 [mathieucitrix]
fluffy: this is weird but might be less weird, more fitting mline
01:21:51 [vivien]
s/that;s
01:22:02 [mathieucitrix]
martin: this might be combined with others
01:22:08 [vivien]
s/that;s/that's/g
01:22:12 [mathieucitrix]
peter: E is potential, option F
01:23:12 [mathieucitrix]
... has potential too
01:23:34 [kinjim]
kinjim has joined #webrtc
01:23:53 [mathieucitrix]
martin: option F is very close to current FF implementation of rollback, so it's kinda right, but need better model
01:23:58 [mathieucitrix]
peter: option G
01:24:41 [mathieucitrix]
martin: sounds like option D with extra thing
01:24:59 [mathieucitrix]
... so better than D
01:25:19 [mathieucitrix]
fluffy: it's consistent with everything else we've done
01:25:21 [mishizaw]
mishizaw has joined #webrtc
01:25:39 [mathieucitrix]
peter: option H
01:26:35 [mathieucitrix]
harald: there's one case where you need to rollback remote offer: glare
01:27:03 [mathieucitrix]
peter: but you roll back local offer, not remote
01:28:35 [mathieucitrix]
martin: existing session, receive remote offer, apply it, some tracks appear, don't like all the new stuff, and want to rollback to stop receiving all that
01:29:20 [mathieucitrix]
peter: all sounds like weird edge cases
01:29:40 [mathieucitrix]
fluffy: need to do something to get back to stable state though
01:31:01 [mathieucitrix]
martin & adam: H looks better and better
01:31:41 [mathieucitrix]
harald: on rollback, transceiver that haven't been used, go in mid bucket
01:32:21 [mathieucitrix]
peter: G might not actually solve problem
01:33:24 [mathieucitrix]
... down to E, F, H
01:35:16 [mathieucitrix]
martin: G by itself is not enough but might give you a good base
01:35:55 [mathieucitrix]
peter wants to revive part of B
01:37:35 [mathieucitrix]
peter: go with G, call addtrack, add to pending, rollback, pending ones stay around ?
01:38:24 [mathieucitrix]
harald: need way to find pending and kill them
01:40:27 [juberti]
back
01:41:19 [mt_____]
addTrack creates a pending transceiver
01:41:27 [mt_____]
setRemote(offer) creates a pending transceiver
01:41:47 [mathieucitrix]
summary, martin & peter to work on G + F
01:41:51 [mt_____]
addTrack adds a sender to the transceiver; setRemote(offer) adds a receiver to the transceiver
01:42:28 [mt_____]
on rollback, transceivers are removed from the pending unless they have an active sender
01:42:48 [juberti]
H is needed as long as we want to be able to reject offers.
01:43:23 [mt_____]
(this has the consequence of activateSender() being persisted
01:43:42 [mt_____]
juberti: is that back to front? H is to now permit rejecting of offers
01:44:22 [mt_____]
sorry, H is to not permit rejecting offers
01:44:43 [juberti]
H is to not permit rollback; I was making the point that that implies no rejection, which seems drastic.
01:45:22 [juberti]
are we taking a break, or moving to the next preso?
01:45:31 [mreavy]
hta: can you (or someone) update the wiki page with the agenda changes? ( http://www.w3.org/2011/04/webrtc/wiki/October_29_-_30_2015 )
01:46:17 [mishizaw]
mishizaw has joined #webrtc
01:56:51 [Lags]
Lags has joined #webrtc
01:58:23 [mishizaw]
mishizaw has joined #webrtc
02:06:22 [mishizaw]
mishizaw has joined #webrtc
02:07:46 [mathieucitrix]
everybody is coming back to the room, about to resume
02:08:05 [mathieucitrix]
stefan: next up, codec selection
02:09:22 [mathieucitrix]
martin: application might want to exert control over what browser negotiates
02:09:55 [kinjim]
kinjim has joined #webrtc
02:10:41 [mathieucitrix]
... I sent email to mmusic, will simulcast allow you negotiate things in one direction but not other
02:10:56 [mathieucitrix]
adam: were reluctant to spec that out so far.
02:11:16 [mathieucitrix]
martin: simulcast is asymetric
02:11:22 [juberti]
let's just keep it simple and be asymmetric
02:11:30 [mathieucitrix]
adam: don't want to make mandatory for webrtc
02:11:34 [juberti]
er, symmetric
02:11:52 [mathieucitrix]
martin: let get to the question first
02:12:18 [mathieucitrix]
on slide 4
02:13:24 [mathieucitrix]
fluffy: weird that you get list from one object and set on another
02:13:34 [mathieucitrix]
martin: that's why there's other slide
02:15:11 [mathieucitrix]
aaa: appliation is basically ordering list, what if codec is not ...
02:15:30 [mathieucitrix]
marting: something about hardware codec
02:16:01 [mathieucitrix]
fluffy: I have proposal to be in line with SDP
02:16:19 [mathieucitrix]
... person that generates answer need to accept preference order of offer
02:16:38 [mathieucitrix]
... order set here controls what is in offer
02:17:08 [mathieucitrix]
martin: question is on answer, what do you follow, spd, local setting, browser implem
02:17:28 [mathieucitrix]
fluffy: need to be deterministic
02:18:22 [mathieucitrix]
martin: should affect sdp
02:18:34 [mathieucitrix]
... we working on this so we don;t have to munch sdp
02:19:45 [mathieucitrix]
adam: sdp is pretty thorough. order is meaningful. but both sides don't have to have same order
02:21:32 [mathieucitrix]
martin: reduce number of codec easy. ordering. set order of things in sdp, and when you receive sdp, you're supposed to follow sdp rules
02:21:45 [mathieucitrix]
... next, alternative (slide 5)
02:22:55 [mathieucitrix]
peter: 2 things set availble and set order
02:24:00 [mathieucitrix]
martin: this is closer to getCapabilities and Prederence on sender and receiver but issue
02:25:40 [mathieucitrix]
martin: first option seem better way to do it
02:25:56 [mathieucitrix]
fluffy: with adaptations from adam
02:26:20 [mathieucitrix]
martin: PR might already have been merged?
02:27:08 [mathieucitrix]
peter: already have non active flag when no track on transceiver
02:27:56 [mathieucitrix]
martin: conclusion option 1, with adam interpretation of SDP.
02:28:16 [mathieucitrix]
martin: affect both offer and answer
02:30:00 [mathieucitrix]
fluffy: have to define on re-offer what you do with order. should maintain.
02:30:13 [mathieucitrix]
all agreed
02:30:21 [burn]
martin has asked me to type into IRC that it is important to capture key discussion points in the minutes in addition to the final decisions
02:30:28 [DrAlex]
DrAlex has joined #Webrtc
02:30:37 [fluffy]
When we do a reoffer, we maintain the previoulsy negotated ordering
02:33:10 [mathieucitrix]
stefan: end of morning sessions, can we sneak in soenthing before lunch break
02:33:37 [mt_____]
conclusion is that the codec ordering determines what is put in SDP
02:34:09 [juberti]
Did we discuss what happens if telephone-event, CN, red, FEC, rtx appear in codec preferences?
02:34:11 [mt_____]
SDP determines what - absent overriding preferences - a sender uses
02:34:22 [vivien]
Topic: Stats
02:34:29 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien
02:34:30 [mt_____]
juberti - I mentioned those as being overriding preferences
02:34:30 [mathieucitrix]
doing stats (originally Friday afternoon)
02:34:41 [juberti]
?
02:35:05 [mt_____]
as in if they are ordered above more useful things, then they won't get chosen just because they come first
02:35:28 [mt_____]
I guess we could decide that these generate errors, or ordering of them are ignored
02:35:41 [adamR]
juberti: This is normal SDP processing — if a codec can’t encode the input media, you skip it and move on to the next thing.
02:35:43 [mt_____]
I don't think that's particularly important to address now, we can nut that out in the PR discussion
02:36:25 [vr000m]
vr000m has joined #webrtc
02:36:30 [vr000m]
https://docs.google.com/presentation/d/12VCXshmaiM1W_cbJiMrhVZVNuzTaCDpJOjkJsHKEkng/edit?usp=sharing
02:36:33 [juberti]
well, I was wondering if we would always stuff these at the end regardless of setCodecPreferences. Agree this is small beer
02:37:19 [mathieucitrix]
varun: 2 updates since TPAC 2014
02:37:26 [mt_____]
I'm happy to just echo whatever crap the application feeds us, but equally happy to require they be pushed to the back
02:37:35 [mathieucitrix]
varun: open issue #5
02:39:07 [mathieucitrix]
... question is to knwo where to define RTCStats, in webrtc-pc or webrtc-stats
02:40:01 [mathieucitrix]
fluffy: stats document cpuld be considered as first official extension
02:40:11 [mathieucitrix]
... base doc has base object definition
02:40:45 [mathieucitrix]
harald: might need to repeat definition of object
02:40:50 [mathieucitrix]
... for convenience
02:41:10 [geheimnis`]
geheimnis` has joined #webrtc
02:41:44 [mathieucitrix]
varun: stats document would stay open longer
02:42:05 [mathieucitrix]
fluffy: can't implement living standards. need to have one doc with mti, and then open another one
02:42:38 [mathieucitrix]
... some stats normative in webrtc spec, then add more in extensions doc for stats.
02:43:11 [juberti]
for setCodecPreferences, we just need to ensure that ordering is maintained across reoffers, regardless of browser preferences. That prevents oscillation.
02:43:59 [mathieucitrix]
harald: action item for dom to share link to document on naming
02:44:07 [mathieucitrix]
... for hyphen
02:44:20 [mathieucitrix]
varun: issue #7
02:44:32 [mathieucitrix]
... PR not merged
02:45:02 [dom]
"Enumeration values: Lowercase, dash-delimited " in http://w3ctag.github.io/design-principles/#casing-rules
02:45:53 [mathieucitrix]
... if non controversial, go ahead and merge
02:46:03 [mathieucitrix]
varun: issue #11
02:46:44 [juberti]
RTCIceCandidateAttributeInfoStats... sounds like Java
02:46:56 [mathieucitrix]
... should we add "info" to all too ?
02:47:11 [mathieucitrix]
martin: can't we just have "Stats"
02:48:47 [mathieucitrix]
mathieucitrix: don't we have some of the "static" stuff on other objects?
02:48:55 [mathieucitrix]
peter: we have both now
02:49:25 [mathieucitrix]
justin: odd we have 2 dict that have same info
02:49:38 [mathieucitrix]
martin: should all be interfaces
02:50:05 [mathieucitrix]
justin: peter can't we go use the ice objects directly and do away with stats
02:50:13 [fluffy]
http://www.w3.org/TR/2014/WD-webrtc-stats-20141021/#icecandidate-dict*
02:50:37 [mathieucitrix]
bbb: can't we share same object
02:50:42 [mathieucitrix]
harald: no
02:51:29 [mathieucitrix]
martin: or have Stats interface implement RTCCandidate
02:52:03 [mathieucitrix]
... not possible with dict but might be possible with interface here ?
02:52:47 [mathieucitrix]
justin: need to at least make them look the same
02:53:07 [mathieucitrix]
martin: if they're copy of each other, ok
02:53:27 [mathieucitrix]
peter: stats has one more field with associated turn / stun url
02:54:00 [mathieucitrix]
justin: stats object is also missing a field
02:54:47 [mathieucitrix]
martin: have stats have everything, or both have everything
02:54:58 [mathieucitrix]
peter: or embed?
02:55:08 [mathieucitrix]
harald: filed issue #31
02:55:48 [mathieucitrix]
martin: peter has suggestion: put address in stats, and embed RTCCandidate
02:56:19 [mathieucitrix]
harald: something about serializer
02:57:42 [mathieucitrix]
justin: remove RTCIceCandidateAttributes, and embed RTCIceCandidate in the PairStats
02:57:54 [mathieucitrix]
harald: lots of duplication
02:58:18 [mathieucitrix]
bbb: we want to avoid duplicating all that info
02:58:36 [hta]
bbb=Jan-Ivar
02:59:01 [kpfleming]
s/bbb/Jan-Ivar
02:59:51 [jesup]
Good by me
03:00:07 [mathieucitrix]
fluffy: lets get rid of Attributes and Info, everybody agree, done
03:00:15 [juberti]
RTCIceCandidateStats and RTCIceCandidate. Sold.
03:00:20 [mathieucitrix]
varun: issue #13
03:00:52 [mathieucitrix]
fluffy: should reference IETF spec
03:01:12 [mathieucitrix]
harald: draft expired 2012
03:01:33 [mathieucitrix]
fluffy: tell to resubmit, w3c shouldn't define this stuff
03:01:52 [juberti]
Did we discuss #12?
03:02:06 [mathieucitrix]
varun: conclusion: tell magnus to put definition in active draft
03:02:16 [juberti]
RTCIceCandidateStats.addressSourceUrl is different than RTCIceCandidateEvent.url
03:03:00 [mathieucitrix]
harald: action for adam to ping magnus
03:03:12 [mathieucitrix]
varun: issue #16
03:04:33 [mathieucitrix]
martin: opposed, raise risk of app parsing and changing behavior based on content like user agent.
03:05:20 [mathieucitrix]
harald: should have standard way to parse info. but only if can make it useful for stats
03:10:48 [mathieucitrix]
martin: massive fingerprinting surface
03:11:21 [mathieucitrix]
mathieucitrix: can we get info of whether hardware of software decoder is used in stats
03:11:45 [mathieucitrix]
adam: does not belong in stats
03:12:18 [mathieucitrix]
fluffy: ok with one bit of info, but not in stats
03:12:32 [mathieucitrix]
varun: issue #
03:12:57 [mathieucitrix]
all: undefined
03:13:21 [mathieucitrix]
justin: did we discuss #12
03:13:28 [mathieucitrix]
varun: has already been fixed
03:13:42 [mathieucitrix]
justin: it's inconstitent
03:13:51 [mathieucitrix]
harald: noted that in issue #31
03:14:18 [juberti]
((#issue 21)
03:14:47 [mathieucitrix]
s/#31/#21
03:15:19 [mathieucitrix]
fluffy: we need some stats being defined as MTI in webrtc-pc
03:16:13 [mathieucitrix]
varun: add new metrics. packetsDiscarded/Repaired
03:16:34 [mathieucitrix]
fluffy: useful, should be defined, maybe not MTI
03:16:48 [mathieucitrix]
justin: what does repair mean
03:16:54 [mathieucitrix]
varun: retransmit or fec
03:18:33 [mathieucitrix]
varun: process for adding new metrics ?
03:19:07 [mathieucitrix]
fluffy: should we bundle that with extensibility discusssion of media capture later this afternoon ?
03:19:34 [mathieucitrix]
... process in IETF is you can define whatever, and anyone can chose to implement or not
03:20:03 [mathieucitrix]
... so here, define, and then main doc can bring in what is deemed good
03:21:58 [mathieucitrix]
dan: difference with extensibility discussion later, is this is only data structure
03:22:55 [mathieucitrix]
fluffy: living document not ok
03:23:27 [mathieucitrix]
harald: want to avoid DOM experience with levels
03:24:16 [mathieucitrix]
fluffy: usually only adding, so new ones can go in new document
03:24:54 [mathieucitrix]
discussion to continue over lunch for those interested
03:25:45 [jxck]
jxck has joined #webrtc
03:49:33 [frodek]
frodek has joined #webrtc
04:01:47 [jxck]
jxck has joined #webrtc
04:02:50 [tomoyuki]
tomoyuki has joined #webrtc
04:04:26 [hta]
hta has joined #webrtc
04:08:42 [oonishi]
oonishi has joined #webrtc
04:14:58 [iwashi]
iwashi has joined #webrtc
04:19:50 [masato]
masato has joined #webrtc
04:25:16 [npdoty]
npdoty has joined #webrtc
04:27:29 [npdoty]
npdoty has joined #webrtc
04:28:27 [burn]
burn has joined #webrtc
04:29:03 [adamR]
adamR has joined #webrtc
04:30:20 [vr000m]
vr000m has joined #webrtc
04:30:35 [hta]
now.
04:30:38 [fluffy]
fluffy has joined #webrtc
04:31:23 [igarashi]
igarashi has joined #webrtc
04:34:49 [vr000m]
justin: slide 2
04:35:12 [vr000m]
juberti: slide 3 (concerns)
04:35:29 [jesup]
where are the slides?
04:36:14 [vr000m]
juberti: slide 4 (consideration)
04:36:25 [wonsuk]
wonsuk has joined #webrtc
04:36:51 [alan_iida]
alan_iida has joined #webrtc
04:37:19 [vivien]
-> https://www.w3.org/2011/04/webrtc/wiki/images/4/4d/WebRTC_IP_Address_Privacy_TPAC_2015.pdf WebRTC IP Address Privacy slides from Justin
04:37:36 [jystewart]
jystewart has joined #webrtc
04:37:53 [mishizaw]
mishizaw has joined #webrtc
04:38:13 [vr000m]
ekr: DHCP reliably gives you the same IP address.
04:38:36 [vr000m]
juberti: there are other things that can be done here, like UA fingerprinting
04:38:41 [kinjim]
kinjim has joined #webrtc
04:38:42 [vr000m]
ekr: agree
04:40:00 [vivien]
Topic: WebRTC privacy - IP address leakage
04:40:02 [vr000m]
juberti: slide 5 (goals)
04:40:59 [oonishi_]
oonishi_ has joined #webrtc
04:41:16 [ekr]
ekr has joined #webrtc
04:41:29 [ekr]
Citation for TCP timestamp fingerprinting
04:41:41 [vr000m]
juberti: slide 6 (restricted gathering)
04:41:53 [dom]
dom has joined #webrtc
04:42:05 [ekr]
https://www.caida.org/publications/papers/2005/fingerprinting/KohnoBroidoClaffy05-devicefingerprinting.pdf
04:42:34 [dandan]
dandan has joined #webrtc
04:42:51 [vr000m]
adamR: per address family.
04:43:09 [vr000m]
martin: 1 address per family on that interface
04:43:36 [vr000m]
juberti: you pick your default interface, and then gather one v4 and v6 address.
04:43:58 [vivien]
present+ Eric_Rescorla, Nick_Doty
04:44:00 [ekr]
See also: Virtual Pwned Networks
04:44:01 [ekr]
https://www.usenix.org/system/files/conference/foci12/foci12-final8.pdf
04:44:29 [vr000m]
juberti: if you connect to multiple well known addresses, this may pick different interfaces
04:45:03 [vr000m]
juberti: slide 7 (host candidates)?
04:45:54 [kpfleming]
kpfleming has joined #webrtc
04:46:04 [npdoty]
without any user involvement?
04:46:13 [vr000m]
juberti: allow host to host connections. because in some cases they expect it to work.
04:47:01 [vr000m]
juberti: slide 8 (restricted gathering)
04:47:46 [vr000m]
fluffy: VPN in enterprise case?
04:48:22 [vr000m]
juberti: if you bind to 0.0.0.0 address, it maps to tun0 interface instead of en0 or en1.
04:48:31 [npdoty]
did that broken ICE host-to-host example include camera/microphone user-granted permission? or was it just displaying a video, no user involvement, in the browser and so needed to support it by default?
04:48:52 [vr000m]
fluffy: in the enterprise case it wont be a private address but an enterprise IP address.
04:48:59 [dom]
juberti was referring to data channel usage (so no camera permission grant involved)
04:49:38 [vr000m]
juberti: will the VPN provide the IP address in the same space as the enterprise address?
04:49:56 [vr000m]
ekr: looking at the routing tables in the VPN paper.
04:50:14 [wdh_]
wdh_ has joined #webrtc
04:50:33 [vr000m]
fluffy: what if a company had 8.8.* address, the VPN from that company might allocate in the same space.
04:50:36 [npdoty]
it seems like there are cases where an enterprise administrator wants local rtc to work (because they installed some video appliance) and cases where an enterprise administrator doesn't need that and would prefer a little more topology/privacy protection for their users
04:51:09 [vr000m]
juberti: 8.8.1.2 maybe assigned by DHCP and 8.8.2.1 maybe assigned by the VPN
04:51:41 [DrAlexG]
DrAlexG has joined #webrtc
04:52:07 [vr000m]
fluffy: the address in the case of home is your home IP address and the VPN would be the enterprise address and not neccessarily RFC1918 address
04:52:40 [vr000m]
adamR: both are possible: i.e., 1918 address and also enterprise addresses.
04:52:47 [vr000m]
adamR: does it matter?
04:52:55 [vr000m]
juberti: it shouldnt matter.
04:53:56 [vr000m]
juberti: do not bother about enterprise VPN case but the privacy preserving case where the endpoint always gets a non-routable address.
04:54:11 [vr000m]
juberti: slide 9 (Consent)
04:55:09 [vr000m]
ekr: if you are behind the same NAT in the VPN, then you wont be able to talk to them.
04:55:23 [vr000m]
juberti: yes, not without a TURN server
04:55:45 [vr000m]
fluffy: but wont this affect the enterprise case as well?
04:56:04 [vr000m]
juberti: it might hairpin if they have a routable address
04:56:32 [vr000m]
adamR: what are we gaining or losing by cutting out all the local ip addresses.
04:57:00 [vr000m]
ekr: need cross pairing or need to be more aggressive.
04:57:44 [vr000m]
adamR: if this happens frequently enough. the app developers will ask for the mic just so that they get more permissive
04:58:37 [vr000m]
juberti: for those cases, we are down to the 10% of the 10% of ... so we need to measure this.
04:59:27 [vr000m]
adamR: you cannot assume that there is a need for TURN and this may cause a lot hairpining in cases where it should have gone through some IP address but the default was incorrect.
04:59:53 [vr000m]
fluffy: there are use-cases, like gaming where having TURN might be too high a bar to entry
05:00:32 [vr000m]
ekr: what would be the concern of not sharing all the 1918 addresses?
05:00:32 [jxck]
jxck has joined #webrtc
05:00:42 [vr000m]
juberti: this is more complex to explain
05:01:33 [vr000m]
ekr: we have 3 options: 1) do nothing 2) do what justin suggested, and measure, 3) be more aggressive, measure, and turn off.
05:01:34 [npdoty]
can users configure if they're expecting to reach something on the local network?
05:02:13 [vr000m]
fluffy: getting default addresses in some OSes is not clear
05:02:35 [vr000m]
martint: we use a well known ipaddress, for example 8.8.8.8
05:02:55 [kinjim]
kinjim has joined #webrtc
05:03:14 [vr000m]
fluffy: there is no need for it to be routable, you are just querying your routing table.
05:03:52 [vr000m]
martint: but can also use the STUN/TURN server, as they already know the client's ipaddress, which should be the same
05:04:12 [vr000m]
mathieu: what is the difference between address families?
05:04:42 [vr000m]
ekr: we bind to different v4/v6 address, and we just use the default addresses returned by that.
05:05:11 [vr000m]
martint: so the reason I mentioned, where you have two interfaces and this might not be ideal?
05:05:31 [vr000m]
ekr: that should not be a problem, because it may be revealed nonetheless
05:06:27 [vr000m]
ekr: we would like to get general consensus on which set of addresses we do need. i.e., the default addresses that we specify here should work
05:07:14 [vr000m]
fluffy: in enterprise VPN might not be the default route because it might just needed the address for content inside the enterprise
05:07:48 [vr000m]
adamR: if the assertion is that this is too hard to specify, I volunteer to explain this
05:08:11 [vr000m]
petert: this is not just specifying but explaining that to the community
05:08:32 [kpfleming]
kpfleming has joined #webrtc
05:08:45 [vr000m]
adamR: we are revealing one, more addresses should have the same properties
05:08:56 [vr000m]
juberti: but this is not true
05:09:35 [vr000m]
mathieu: the VPN tend to rotate the IP addresses, so these are not statically bound to an endpoint
05:10:27 [vr000m]
martint: we adopt the strategy outlined here, then we measure. We should also do the 1918 addresses, then we measure. we measure the difference, and verify the fingerprinting. and then decide
05:11:12 [vr000m]
fluffy: the statistical significance because the affected population is so small, it might be lost in the noise
05:11:32 [npdoty]
does this depend a lot on the configuration of the VPN and the applications in use by a particular enterprise?
05:11:33 [vr000m]
adamR: I agree that we wont know who got lost.
05:11:52 [npdoty]
why doesn't the enterprise administrator decides what matters to them?
05:11:53 [npdoty]
q+
05:12:36 [Zakim]
Zakim has joined #webrtc
05:12:43 [vr000m]
juberti: why dont we go out and measure. we should make sure that we observe or not observe the hypothesis
05:12:45 [toddg]
toddg has joined #webrtc
05:12:45 [vivien]
Zakim, q+ npdoty
05:12:45 [Zakim]
I see npdoty on the speaker queue
05:13:27 [vivien]
ack npdoty
05:13:27 [vr000m]
juberti: if someone wants to make a counter proposal, I can have a look at it.
05:14:13 [DrAlexG]
DrAlexG has joined #webrtc
05:14:16 [vr000m]
npdoty: my enterprise uses many datachannels, I tell my browsers to get all IP addresses and if not then i tell them to restrict it
05:15:10 [vr000m]
ekr: we already have a filter which does pair v4 with v4 and v6 with v6. we can do pairing of private with private
05:16:29 [vr000m]
shijun: we notice that most people will click the permission in the case and remember it.
05:17:05 [vr000m]
juberti: the application in this case can do ICE restart. We already agreed to also do TURN first. We could do ice restart after the permission is granted
05:17:32 [vr000m]
martint: this is exactly trade off we are making here.
05:18:48 [vr000m]
shijun: we can from an implementation, we can gather all the candidates, and not fire the event if there is restrictions, and when permissions are granted then you can have all of the candidates.
05:19:02 [vr000m]
jesup: what is the impact on warmup
05:19:29 [vr000m]
juberti: we start with TURN, this might make things faster in some scenarios.
05:20:06 [vr000m]
jesup: wasnt the idea of warmup that you can send data via low latency and not have to change from TURN to something better.
05:21:07 [vr000m]
juberti: actually opposite is true, because in the warmup case you want to start with quick choices, then make the transition. In the case of TURN privacy case, it would be TURN nonetheless. callee privacy use-case
05:21:20 [vr000m]
fluffy: you brought up ICE restart, what would be the concern
05:21:43 [vr000m]
juberti: there is no concern because there is a make before break, so no problem here
05:22:23 [vr000m]
baboba: TURN sets up quicker on average, our measurements show that.
05:22:52 [vr000m]
jesup: my concern is what should the consent question read?
05:23:07 [vr000m]
juberti: we have not found something yet.
05:23:27 [Bernard]
Bernard has joined #webrtc
05:23:28 [vr000m]
martint: we do not have enough space to explain this. perhaps a learn more.
05:23:57 [vr000m]
juberti: slide 10 (force proxy)
05:23:58 [vivien]
i/justin: slide2/Scribe: vr000m/
05:24:20 [npdoty]
"More info" or "Learn more" could try to explain that this is revealing information about your local network, for example, if you use a VPN or certain kinds of proxies
05:24:25 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien
05:25:30 [linemany]
linemany has joined #webrtc
05:25:30 [vivien]
i/justin: slide2/Scribe: vr000m
05:25:37 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien
05:26:54 [vr000m]
juberti: slide 11 (proposals)
05:27:13 [vr000m]
juberti: if you have consent, you expose everything.
05:27:55 [vr000m]
juberti: if you do not have consent, make sure it works, and no VPN addresses are exposed, and not anything else. Just a single host candidate for each family
05:28:21 [vivien]
i/now./Scribe: vr000m/
05:28:25 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien
05:28:46 [vr000m]
juberti: there are additional modes, for example via extensions or user/browser prefs. In this case you do not expose host candidates
05:29:01 [vr000m]
juberti: the last case, we clamp to TCP
05:29:05 [mishizaw]
mishizaw has joined #webrtc
05:29:30 [vr000m]
dom: this is not best practice but specify this as thing for everyone to do.
05:29:50 [vr000m]
juberti: what ever makes sense. specify or best practice
05:30:00 [vr000m]
adamR: we should still do the measurement
05:31:10 [vr000m]
adamR: i.e., differential gathering. use all 1918 addresses. Ted's variant of (2)
05:31:39 [vr000m]
juberti: we can measure between 1) current default and 2) new restrictions. We do not know how much energy to implement Ted's variant of (2)
05:32:06 [vr000m]
adamR: my intuition is that there would be non-trivial difference between the 3 approaches.
05:32:29 [vr000m]
juberti: we need to do measurements, and then discuss before we close this matter
05:33:04 [vr000m]
burn: when you mean consent, you mean gUM consent
05:33:35 [kinjim]
kinjim has joined #webrtc
05:33:44 [vr000m]
burn: for example I goto netflix and they ask me for permission and I give it
05:34:09 [vr000m]
burn: then I come to Japan, and it wont ask for permission
05:34:28 [npdoty]
depending on whether the browser persists permission for access to your camera and microphone
05:34:33 [vr000m]
martint: this is an issue with persistent permission
05:35:56 [vr000m]
burn: gUM permissions is for accessing the media capture but now these consents are for transport. Want to make sure this is the case
05:36:30 [vr000m]
dom: in seattle, we talked about network consent. I dont know if we are extending the consent
05:36:49 [igarashi_]
igarashi_ has joined #webrtc
05:37:32 [vr000m]
fluffy: the exact thing that drove this is the advertising pixel. But this is a problem with third party thing
05:37:42 [npdoty]
that script on the NYTimes was presumably not Google or Facebook, so it's certainly still relevant
05:38:16 [vr000m]
juberti: we just wanted to make sure the the NYTimes thing does not happen again
05:39:01 [npdoty]
when I raised this comment, I was told that embedded iframes of "calltechsupport.com" would expect permission to extend
05:39:02 [wseltzer]
wseltzer has joined #webrtc
05:39:23 [vr000m]
ekr: what are the properties we want here? should this be top level or not?
05:40:24 [vr000m]
martint: this is not the right context to reopen an old issue. this was discussed before. this is not a bad idea.
05:40:39 [vr000m]
ekr: this was proposed 4 years ago and there was push back on it
05:40:55 [vr000m]
fluffy: there was a demo in france, that showed the use case for allowing this.
05:41:24 [vr000m]
jan-ivar: you can bring up the permission dialog again for each I-frame.
05:41:31 [npdoty]
from Privacy Interest Group comment earlier: "Top-level origin/embedded origin pairs, for example, might be a useful model, as in some implementations of Geolocation."
05:41:46 [npdoty]
yes, double-keying permission
05:42:03 [vr000m]
ekr: are you suggesting that they ask the permission for each I-frame
05:42:55 [vr000m]
jan-ivar: well that is up to the implementation. Do not need to do that. perhaps one for facebook.com and one for the I-frames using facebook. We could have different permissions for those two cases
05:43:14 [vr000m]
martint: call permissions API each time
05:43:56 [ekr]
http://seclab.stanford.edu/websec/framebusting/framebust.pdf
05:44:21 [vr000m]
martint: justin wanted the top-level to have access to the permissions.
05:46:24 [vr000m]
ekr: non-safe behaviour if a random I-frame on a website accesses the camera, it would be bad to say it was the website was trying to get access
05:46:59 [vr000m]
juberti: well if you are at foo.com, it would be odd to get a permission that bar.com is asking for permission
05:47:44 [dom]
[I think the end result with that these sites will require to do camera-based avatars or something]
05:47:56 [npdoty]
if it were a separate permission, could we explain to users what they were going to reveal?
05:48:17 [vr000m]
jesup: this is going to cause data channel developers some concern, because they might want to have more IP addresses, and they will ask for media permissions. Then the users are going to be confused why the data channel apps are asking for audio/video
05:49:15 [dom]
npdoty, when I chatted with ted hardie back in Seattle, he thought that was achievable (e.g. "do you want to share your network location with foo.com?")
05:49:16 [vr000m]
juberti: we want to dissuade developers of datachannel apps to ask for media consent. There is one network interface in the restricted gathering, so that should be sufficient.
05:50:32 [vr000m]
stefanh: how do we conclude this discussion?
05:50:51 [vr000m]
martint: the concerns with all the local addresses needs to be done
05:51:13 [vr000m]
martint: we should take justin's proposal and also the permission prompt for now and see what we can do with this.
05:51:50 [vr000m]
juberti: we will learn from experience. and we hope to answer these questions in a relatively small amount of time
05:52:10 [vr000m]
dom: how do we incorporate this in the spec.
05:52:56 [vr000m]
juberti: we wrote up an I-D, is available. it can be copied into jsep or here in this draft.
05:53:28 [juberti]
(copied into the w3c spec, jsep, or security doc)
05:53:40 [npdoty]
dom, not that it's impossible, but that everyone is likely to be confused by it, and answer in a way that isn't necessarily tied to what they want or what is good for them
05:53:44 [vr000m]
fluffy: as rtcweb chair, does it make sense that we split this into the security considersations draft, jsep and reference these in the w3c spec.
05:55:05 [wonsuk]
wonsuk has joined #webrtc
05:55:16 [DrAlexG]
change scribe
05:55:19 [vr000m]
fluffy: socialize this next week at the IETF with the relavant parties
05:55:24 [dom]
ScribeNick: DrAlexG
05:55:25 [vivien]
Topic: Simulcast control
05:55:35 [DrAlexG]
simulcast fever starts now.
05:55:36 [DrAlexG]
plan X
05:55:46 [DrAlexG]
peter: plan X example
05:56:17 [vivien]
-> https://www.w3.org/2011/04/webrtc/wiki/images/e/e3/Simulcast_at_TPAC_2015.pdf Simulcast control slides
05:56:45 [DrAlexG]
peter: here is how you set up a transceiver, with the mapping between the RID (see MMUSIC multicast SDP) and the corresponding resolution scales ...
05:57:35 [DrAlexG]
peter: once this is done, ou create your offer, the entire JSEP dance, and if you look at your parameters after, you should see the result
05:57:49 [DrAlexG]
shing: what happen if it gets rejected ?
05:57:57 [DrAlexG]
peter: then you don t see it
05:58:11 [DrAlexG]
fluffy: question to remember later
05:58:24 [DrAlexG]
peter: if all goes well in the IETF, this is what the SDP looks like
05:58:50 [DrAlexG]
mathieu: so the scales are not in the sip?
05:58:52 [toddg]
toddg has left #webrtc
05:58:55 [toddg]
toddg has joined #webrtc
05:58:58 [DrAlexG]
peter: correct, there is nothing like that in the sdp
05:59:08 [DrAlexG]
martin: question for later
05:59:27 [DrAlexG]
peter: there is a risk that IETF will not deliver in time, in that case, we need a contingency plan.
05:59:35 [DrAlexG]
<looking for updated slides>
05:59:35 [frodek]
frodek has joined #webrtc
06:00:08 [DrAlexG]
<discussion on how to get the right slides on screen.>
06:00:26 [DrAlexG]
<adam and eke going back to exactly why we should shave our legs again>
06:00:38 [mishizaw]
mishizaw has joined #webrtc
06:00:44 [DrAlexG]
<different people speaking separately, waiting for the slides>
06:00:48 [DrAlexG]
<slides back on>
06:01:55 [DrAlexG]
peter: reading the sentence about problems that can arise when you send multiple stream the remote party is not ready for.
06:02:02 [kpfleming]
kpfleming has joined #webrtc
06:02:29 [DrAlexG]
peter: the idea is to SIGNAL the information (without SDP because IETF would not have deliver in time)
06:03:03 [DrAlexG]
fluffy: intend might be misinterpreted by IETF
06:03:19 [DrAlexG]
adam: no, we want to have a safety net if we have nothing.
06:03:40 [DrAlexG]
adma: moreover: since you would have everything define on wire, and only the signaling is the problem, you can always polyfill
06:03:52 [DrAlexG]
fluffy: don t you have a problem at the RTP header level
06:04:06 [DrAlexG]
adam: no, we can have that nailed down. this is a pure signaling problem
06:04:08 [DrAlexG]
fluffy, ok then
06:04:11 [DrAlexG]
peter: next slide
06:04:40 [DrAlexG]
peter: either way, there will be *an* api to send multiple things using the RID header extension
06:04:51 [DrAlexG]
peter: there will NOT be an API for PT based simulcast
06:05:11 [DrAlexG]
peter: there will NOT be any API mapping for max-width, and some other attribute
06:05:44 [DrAlexG]
peter: browser may support more advanced form of simulcast, but only the RID part, with header extension will be mandatory
06:06:24 [DrAlexG]
fluffy: i have a use case, very simple, where people use different devices, like mobile, with different form factors, and limiting ourselves to scales of 2 is problematic to say the least.
06:06:29 [DrAlexG]
ekr: fair
06:06:38 [DrAlexG]
peter: two things: size and aspect ratio
06:06:55 [DrAlexG]
peter: you can always change the size by applying constraints on a track
06:07:02 [DrAlexG]
peter: aspect ratio is more ......
06:07:30 [DrAlexG]
fluffy: i couldn t care less how I do it, but I need to be able to specify three specific resolutions for example in JS
06:08:00 [DrAlexG]
fluffy: through contsraints, I can only pass hints. It's surprisingly difficult to get exacting three resolutions.
06:08:20 [DrAlexG]
adam: the JS knows the size of the track, not on the wire after it s encrypted.
06:08:42 [DrAlexG]
all: GetSettings will show you the ACTUAL resolution (not the constraint)
06:09:14 [vivien]
Present+ Andreas_Pehrson
06:09:28 [DrAlexG]
mathieu: why simulcast and not streams in parallel
06:10:01 [DrAlexG]
fluffy: we need timing information to be consistent
06:10:10 [DrAlexG]
peter: can we go back to the example slide?
06:11:12 [DrAlexG]
fluffy: there for example, I don't want integer numbers for the scales, and i want to be able to scale them separately, so I can change the aspect ratio.
06:11:30 [wydong_CM]
wydong_CM has joined #webrtc
06:11:40 [DrAlexG]
peter: that is orthogonal to what we are doing here for simulcast, because it applies to non-simulcast cases.
06:12:31 [ekr]
ekr has joined #webrtc
06:12:31 [DrAlexG]
adam: I would add the blacks bars at rendering time, instead of adding them before encoding, and sending them on the wire, and paying the bandwidth price.
06:12:37 [DrAlexG]
ekr: he wants to crop on send :D
06:12:57 [jesup]
Sending black bars is a waste of bits.... as we all know.
06:12:57 [juberti]
Do we need this for 1.0?
06:13:06 [DrAlexG]
fluffy: use case: full res iphone screen phone factor, low res square, we expect the square to be a crop.
06:13:35 [DrAlexG]
ekr: I do not think we have decided on that. I assume that we never lose data, which means, we don t crop, we add black bars.
06:13:48 [DrAlexG]
<silence>
06:13:56 [DrAlexG]
fluffy: fair enough, my use case still stands.
06:14:13 [DrAlexG]
dan: it s a good valid use case.
06:14:43 [DrAlexG]
ekr: if we crop, which part do we keep ?
06:14:49 [DrAlexG]
fluffy: center
06:14:53 [DrAlexG]
peter: left
06:15:30 [DrAlexG]
ekr: that s a new parameter we would need to add. Cropping is not simple, and merely giving the size of the remaining window would;t be enough.
06:15:36 [ekr]
ekr has joined #webrtc
06:16:44 [DrAlexG]
ekr: you re not going to make a big difference by shaving bits off the thumbnail.
06:17:10 [DrAlexG]
ekr: we might want to do this on the big guy [high res track], that would make sense, but certainly not the low res.
06:17:25 [DrAlexG]
fluffy: lots of people want to do simulcast by setting bitrates
06:17:43 [DrAlexG]
peter: not shown in examples, but existing parameters can all be set here, including bandwidth
06:17:53 [DrAlexG]
fluffy: ok, then what would be missing to achieve my use case?
06:18:10 [DrAlexG]
peter: like what/
06:18:17 [DrAlexG]
fluffy: what was in the RID draft
06:18:38 [DrAlexG]
fluffy: is there anything else that anybody would have asked for. Are you confident that you are ready?
06:19:10 [DrAlexG]
peter: some are missing here, because we set them on the track. Those are not encoding parameters, and we do not want to duplicate parameters all over the place.
06:19:37 [DrAlexG]
fluffy: what about max pixels per second for example. That would be set per simulcast stream. How would I do that?
06:19:54 [DrAlexG]
peter: if there is no encoding parameters, this is not the place to set them. set them on tracks
06:20:08 [DrAlexG]
peter: in this case, you really can t set them.
06:20:29 [DrAlexG]
peter: i propose we go with what we have, and for any new parameters we discuss about them.
06:20:31 [vr000m]
vr000m has joined #webrtc
06:20:43 [DrAlexG]
shijun: also, make the scale parameter a double.
06:21:04 [DrAlexG]
fluffy: it s a good point if I known the frame, otherwise, it does not help.
06:21:22 [pehrsons]
pehrsons has joined #webrtc
06:21:44 [DrAlexG]
peter: i believe that back at the face 2 face, we agreed that the resolution thing was the fundamental thing for 1.0
06:22:11 [DrAlexG]
fluffy: i do not remember that. We are where we are, now i m asking: why can t we put the bitrate here?
06:22:33 [DrAlexG]
stefan: I came out of the f2f meeting saying: let s be practical, stop adding things, and deliver now
06:22:49 [DrAlexG]
fluffy: this is a very concrete proposal that was around for a lot of time.
06:23:27 [DrAlexG]
fluffy: now, I would challenge you if you were, as a chair , saying that it was the consensus of the room after seattle, that it was not the case.
06:23:42 [DrAlexG]
peter: let s get consensus on this right now, and then we propose new things.
06:24:42 [DrAlexG]
ekr: it seems like a fine general structure, and i m ok as long as we are not closing the discussion about what gets in for 1.0
06:24:59 [DrAlexG]
peter: i would like to avoid dragging the discussion so long that we don t deliver.
06:25:12 [DrAlexG]
ekr: let's validate the structure first, the content after
06:25:38 [DrAlexG]
shijun: what s your proposal for new content )bitrate)?
06:26:54 [DrAlexG_]
DrAlexG_ has joined #webrtc
06:27:33 [DrAlexG_]
stefan: at the last meeting we did say that we were drawing the lane.
06:27:45 [DrAlexG_]
line
06:28:24 [DrAlexG_]
dom: this is indeed my remembering, we could also point to several email setting this expectation for the seattle meeting.
06:28:41 [YusukeNakaya_]
YusukeNakaya_ has joined #webrtc
06:29:07 [DrAlexG_]
dom: i also do remember that the only question was about simulcast, and one of the condition was that it could happen in time for TPAC because we wanted to close
06:30:32 [DrAlexG_]
dom: i feel like I'm hearing a consensus about the structure.
06:31:13 [DrAlexG_]
fluffy: there are really two ways. I m fine with the current approach, as long as it gives us capacity to add more attribute. If that s it, then that s no tit for me.
06:31:46 [DrAlexG_]
dom: based on my raw feeling of the room, there seems to be a rough consensus about it because it s reasonable enough
06:31:57 [DrAlexG_]
dom: to be fair your cropping use case might not fit.
06:32:27 [DrAlexG_]
<discussion about cropping>
06:32:46 [DrAlexG_]
<use CSS>
06:33:03 [DrAlexG_]
<getting into 4x4 transformation matrices>
06:33:46 [DrAlexG_]
<agreeing to disagreeing>
06:34:16 [DrAlexG_]
and .... peter is back
06:34:27 [DrAlexG_]
peter: minor questions slide
06:34:30 [mreavy_]
mreavy_ has joined #webrtc
06:34:49 [DrAlexG_]
peter: 1. should the JS be able to set RID?
06:35:21 [DrAlexG_]
peter: 2. Should we just use RtpSender.setParameters() instead of sendEncodings()
06:35:33 [DrAlexG_]
peter: 3. Can a browser receive simulcast?
06:35:53 [adambe]
adambe has joined #webrtc
06:37:53 [npdoty]
First, Do No Harm to the Internet
06:38:15 [DrAlexG_]
<the room is venting>
06:38:53 [DrAlexG_]
<barely surviving the simulcast discussion makes you wander into the strange paths of emojis used as RID in RTP headers limited to 4 bits in good case, and much more in other case>
06:39:22 [DrAlexG_]
fluffy: just let the browser handle it, unless anybody feels strongly about it.
06:40:16 [DrAlexG_]
adam: ok guys, break is over: is anybody against browser picking it?
06:40:36 [DrAlexG_]
fluffy: bernard are you o with that? what s the status in ORTC
06:41:01 [DrAlexG_]
bernard: well, i would prefer it the JS to set it, but then, i wouldn't want to give people the tentation to write shakespeare in this field.
06:41:14 [DrAlexG_]
adam: where is the access for this?
06:41:38 [DrAlexG_]
peter: sender.setParameter(), which does not exist before you actually have a first set.
06:42:45 [DrAlexG_]
[adam: i would prefer to avoid an extra Round trip for the negotiation.
06:43:19 [DrAlexG_]
<nervus breakdown on the mozilla team>
06:44:20 [DrAlexG_]
<rapid show of hand>
06:44:33 [DrAlexG_]
peter: ok JS picks, no more than 16 characters
06:44:45 [DrAlexG_]
martin: not unicode please
06:45:22 [DrAlexG_]
peter: A~&, 0~9, both cases
06:45:24 [DrAlexG_]
all: good
06:45:32 [DrAlexG_]
question 2
06:45:39 [DrAlexG_]
peter: 2. Should we just use RtpSender.setParameters() instead of sendEncodings()
06:46:03 [DrAlexG_]
<room gets silent and humbly request for a break>
06:46:11 [DrAlexG_]
peter: ok so let s keep what we have.
06:46:18 [DrAlexG_]
peter: 3. Can a browser receive simulcast?
06:46:42 [DrAlexG_]
adam: out of scope for 1.0 ?
06:48:18 [DrAlexG_]
<mozilla team breakdown #2>
06:49:27 [DrAlexG_]
adam: in the SFU case, the browser always gets only one stream anyway
06:50:00 [DrAlexG_]
all: even if you send several streams from media server to browser, you can consider them as separate stream.
06:50:38 [DrAlexG_]
dan: coffee disapears in 10mn
06:50:44 [DrAlexG_]
adam: it s bad coffee anyway
06:50:49 [DrAlexG_]
ekr: that answers our question
06:50:52 [DrAlexG_]
stefan: ok coffee
06:51:10 [DrAlexG_]
stefan: when we re back, it will be user media work
06:51:20 [DrAlexG_]
stefan; [not webrtc anymore]
06:52:33 [wdh__]
wdh__ has joined #webrtc
06:55:33 [tomoyuki]
tomoyuki has joined #webrtc
07:07:50 [ekr]
ekr has joined #webrtc
07:07:53 [npdoty]
npdoty has joined #webrtc
07:08:32 [masato]
masato has joined #webrtc
07:08:42 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien
07:09:33 [alan_iida]
alan_iida has joined #webrtc
07:10:08 [jib]
jib has joined #webrtc
07:10:25 [oonishi]
oonishi has joined #webrtc
07:10:42 [vivien]
scribe: vivien
07:10:59 [vivien]
Topic: gUM: Results of Constraints registry vote, and implications thereof
07:11:10 [npdoty]
scribenick: vivien
07:11:17 [vivien]
dom: PR related to removal of IANA registry
07:12:03 [vivien]
... I also moved the related section of description of constraints (it was before in a sudo APPENDIX)
07:12:27 [vivien]
... mostly editorial changes
07:12:35 [DrAlexG]
DrAlexG has joined #webrtc
07:12:49 [DrAlexG]
<changing to Media Device>
07:12:53 [vivien]
cullen: it does not quite answer the question, how does extensibility works now ?
07:13:08 [vivien]
dom: right, but not part of this PR, dan will talk about that
07:13:36 [katashin]
katashin has joined #webrtc
07:13:49 [vivien]
martin: is this plan to merge this and talk about the issues Dan will raise ?
07:14:09 [vivien]
dom: yes
07:14:39 [vivien]
martin: goal is to address the last call comment question
07:15:11 [vivien]
Topic: gUM issue 244 Extensibility
07:15:54 [vivien]
burn: Anssi gave 2 links as extensibility examples
07:16:08 [vivien]
-> https://github.com/w3c/mediacapture-main/issues/244 Issue #244
07:16:18 [vivien]
burn: example of sensors API
07:16:30 [vivien]
... how you should name sub classes and so on
07:16:43 [tomoyuki]
tomoyuki has joined #webrtc
07:16:49 [vivien]
burn: we coudl go to this level if we want, but this seems more detailed than what we need
07:17:10 [vivien]
... currently the PR is only 3 paragraphs we could extent
07:17:25 [YusukeNakaya]
YusukeNakaya has joined #webrtc
07:18:22 [vivien]
-> https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#extensibility Service Workers extensibility section
07:18:48 [vivien]
burn: it says this are the precise extensibility points, we need to do some of that but should be more general
07:19:27 [vivien]
martin: good to explain the structure as otherwise you will make it wrong
07:20:11 [vivien]
burn: here it is a "may"
07:20:23 [mishizaw]
mishizaw has joined #webrtc
07:20:46 [vivien]
cullen: what does the name specification mean here ?
07:20:52 [vivien]
burn: it is a good section
07:21:00 [vivien]
s/section/question/
07:21:25 [vivien]
burn: (reading the proposed text in #244)
07:22:19 [vivien]
ekr: this is to distinguish new version of the spec from extension specifications ?
07:22:24 [vivien]
burn: right
07:23:29 [vivien]
burn: if you want to put new requirements on the core spec you will have to contact the maintainer of the core spec
07:24:35 [vivien]
burn: this is very generic stuff, to explain how we care about extension specs
07:25:03 [vivien]
dom: @@dom also the notion of isolated streams, so need to look if we are breaking our own rules here
07:25:37 [vivien]
martin: regarding values for attributes that probably falls to the last category
07:25:57 [vivien]
dom: default behavior for a browser that don't imple
07:26:07 [vivien]
... ment the extension is @@dom2
07:27:05 [vivien]
burn: if you add new value, the 4th bullet applies, so your document has to document expected interoperation of implementation that don't support it
07:27:25 [vivien]
martin: I suggest we remove attributes value as impossible to check
07:27:46 [vivien]
jan-ivar: this is the reason why we are using @@jiv and not DOMString
07:28:20 [vivien]
martin: issue with facing mode
07:28:55 [vivien]
martin: kind of OK for constraints that have a default
07:30:04 [vivien]
martin: eg. extending the range of an integer value would be problematic
07:30:25 [vivien]
jan-ivar: are we saying we can change anything that was written in the WebIDL ?
07:30:34 [vr000m]
vr000m has joined #webrtc
07:30:52 [vivien]
cullen: in W3C I think it means a W3C specification
07:31:56 [vivien]
burn: example of the depth spec, which came up from introduction of a new type besides audio and video including new attributes
07:32:26 [vivien]
cullen: I think we want to discuss mainly adding new constraints
07:32:42 [vivien]
burn: this text is because wanting to do an extension
07:32:58 [vivien]
jan-ivar: then you don't need attribute values
07:33:13 [vivien]
burn: you need it for the "kind" attribute
07:33:24 [vivien]
jan-ivar: is that a DOMString ?
07:33:26 [vivien]
burn: yes
07:33:55 [vivien]
burn: is your point that attributes whose values need to be extended would be on us ?
07:34:22 [vivien]
martin: my expectations was that it would be limited to constraints
07:34:50 [vivien]
dom: cases where enum was not appropriate and were we used DOMString
07:35:10 [vivien]
stefan: Nigel was not only into constraints
07:35:30 [vivien]
burn: current text was my initial thinking
07:35:44 [vivien]
martin: we can call kind explicitely
07:36:07 [vivien]
dom: the requirements imposed by WebIDL and the pros
07:36:18 [vivien]
burn: (reading definition of kind)
07:37:13 [vivien]
dom: we are saying if you are a video mediastreamtrack your kind should be video, not exaplaining what it should be for a new type of mediastream track
07:37:35 [vivien]
burn: this what I did not want to describe as we cannot predict
07:37:52 [vivien]
dom: we have a concrete to learn from, goal is to provide guidance
07:38:12 [vivien]
burn: at a minimal you need to add a new value for kind
07:38:23 [vivien]
martin: define what type it consumes and returns
07:38:25 [vr000m]
vr000m has joined #webrtc
07:38:28 [YusukeNakayaJP]
YusukeNakayaJP has joined #webrtc
07:38:37 [vivien]
dom: depth is a good example to learn from
07:39:26 [vivien]
martin: may we say 2 subs-sections if you want to define a new constraints, and if you want to define a new type of track
07:39:44 [vivien]
burn: nigel by reading the spec thought it was not possible to extend the spec
07:40:05 [vivien]
burn: agree with martin
07:40:23 [vivien]
burn: indicate the webIDL change needed
07:41:10 [vivien]
jan-ivar: I am worried we can extend any WebIDL is too broad
07:41:31 [vivien]
martin: suggestion was follow the rules WebIDL is establishing nothing more
07:41:53 [vivien]
jan-ivar: I thought we can formulate this differently
07:42:05 [vivien]
burn: imprtant to say what you are not allowed to do
07:42:14 [vivien]
martin: I think it is the most important part
07:42:28 [vivien]
cullen: it is fine but people will ignore it
07:43:02 [vivien]
dom: it is a matter of awareness and guiding
07:43:23 [vivien]
burn: then it can be done as additional guidance
07:44:12 [vivien]
dom: if you make that a requirement then you will have to indicate you have 2 implications of this requirements during CR
07:44:27 [vivien]
martin: we have unittests that cover some of this
07:44:57 [vivien]
dom: we could say "Don't be dumb, don't be harm to the Web" without saying a MUST
07:45:08 [vivien]
s/be harm/do harm/
07:45:32 [vivien]
burn: 3rd and 4th bullets are requirements on the extension specifications
07:45:53 [vivien]
dom: you are making writers of extension spec implementors of this section
07:46:18 [vivien]
cullen: I think we are missing critical point: adding new constraints
07:46:27 [vivien]
... how to get a code point
07:47:47 [vivien]
martin: would you prefer to define what specification means here ?
07:47:58 [npdoty]
W3C has a specific definition of "Recommendation", but I don't think it does for "specification"
07:48:37 [vivien]
dom: any other JS API have been extended either in W3C CGs or oustide of W3C
07:49:16 [vivien]
dom: again I think what we want is tfor additionnal constraints to be implemented, and you don't want constraints to reuse names
07:49:21 [kpfleming]
kpfleming has joined #webrtc
07:49:25 [vivien]
cullen: how do we stop name collision
07:49:51 [vivien]
dom: traditional way, eg when you had it on mozilla trunk you will get a compilation error
07:50:42 [vivien]
ekr: is a name reservation by the browsers enough ?
07:51:11 [vivien]
... if something is put on a personnal website that does not count right ?
07:51:53 [vivien]
dom: in CSS they say when something as not reach CR don't put it in the world, you use prefix when it is experimental
07:52:48 [vivien]
cullen: some devices have specific constraints that will not be reused elsewhere
07:53:00 [npdoty]
for link relation values, we just point to a wiki
07:53:18 [npdoty]
http://microformats.org/wiki/existing-rel-values#HTML5_link_type_extensions
07:53:25 [vivien]
cullen: example of telepresence constraints
07:54:23 [vivien]
dom: you have to be careful on the name you pick so something specific to telepresence
07:55:39 [vivien]
dom: if cisco wants to have cooperation with other products it will have to discuss with those vendors first to have success
07:55:56 [vivien]
ekr: I thought there was a way to register a code point
07:56:18 [vivien]
s/there was/we wanted/
07:56:36 [vivien]
dom: if you want interop the cost is higher
07:57:12 [vivien]
dom: for things you want high interoperability we can learn from what CSS has done
07:57:34 [vivien]
cullen: when we ship thing it is because it works
07:58:04 [vivien]
dom: but the question is it is inter-operable
07:58:11 [vivien]
adamR: @@adamR
07:58:53 [vivien]
jan-ivar: how is it different from writing a spec where I extend a partial dictionnary
07:59:02 [npdoty]
q+ on html link rel registration
07:59:03 [vivien]
ekr: because here we discuss a simple case
07:59:22 [vivien]
dom: jan-ivar says why is it a constraints on not for CSS ?
07:59:30 [vivien]
giri: I agree with jan-ivar
08:00:03 [vivien]
... for mediastram depth extension they take it to the W3C process to ensure interoperability
08:00:09 [adamR]
s/@@adamR/How could we deal with two uses of unprefixed names that end up meaning different things? As an example, if one vendor decided to call something “audioOffset” that talks about the position of a microphone on a soundstage, and someone else calls something else “audioOffset” to mean a timestamp offset into an audio stream, the resulting conflict is irreconcilable./
08:00:53 [vivien]
cullen: let's say we want to add white balance, classic on telepresence
08:01:22 [vivien]
cullen: sure we can work with polycom, pb is that it is not an open source development
08:01:48 [vivien]
... w3c could say we assign you
08:01:59 [vivien]
s/you/you ZZZ/
08:02:22 [vivien]
cullen: how do you know that when you ship your product you are not going to get screwed ?
08:03:12 [vivien]
jan-ivar: isn't the screen sharing implementations of chrome and firefox implementing different specs
08:03:28 [vivien]
giri: @@giri
08:03:48 [vivien]
burn: you have said we don't need a registry can you explain more
08:04:10 [vivien]
martin: it is an authority issue, who as controle here W3C or ... ?
08:04:50 [vivien]
martin: for white balance we did not say no but not now
08:04:58 [vivien]
cullen: that was 4 years ago
08:05:36 [vivien]
ekr: the guarantee you want is to have a code point reservation
08:05:46 [vivien]
... what is the bar to reach that ?
08:06:18 [vivien]
martin: we talked about github repo, cg, bringing stuff to this group, ...
08:07:04 [vivien]
dom: my thinking was that peopel using a prefix for things that don't hit the wide web
08:07:10 [vivien]
martin: 'x-'
08:07:30 [dom]
dom: -cisco-foo
08:08:11 [vivien]
ekr: @@ekr2
08:08:59 [vivien]
npdoty: HTML had this pb for link relations, they were first using IANA and found the process to heavy, so they went to a simple wiki
08:09:28 [vivien]
dom: link rel don't have interoperable issues so a different problem
08:09:38 [mishizaw]
mishizaw has joined #webrtc
08:10:18 [vivien]
ekr: @@@ekr3
08:10:33 [vivien]
martin: the pb is the discoverabilty of others people names
08:11:02 [vivien]
... can be as simple as a web search
08:11:28 [vivien]
cullen: I was not successful doing that in the past
08:12:17 [vr000m]
vr000m has joined #webrtc
08:13:26 [vivien]
vivien: here we are talking about referencing a wiki page, this is similar to a registry and we voted not
08:13:37 [vivien]
... so anyone is free to create that wiki page
08:13:51 [vivien]
stefan: it will simply not be referenced from the spec
08:14:22 [npdoty]
q-
08:14:38 [npdoty]
HTML5 describes how to add a link type here: http://www.w3.org/TR/html5/links.html#other-link-types
08:14:55 [vivien]
cullen: does the W3C would commit to not using names from that list ?
08:15:05 [vivien]
jan-ivar: that sounds like a registry
08:15:50 [vivien]
ekr: CR does, what else does ?
08:16:18 [vivien]
cullen: I am goin to implement this extension and want to make sure to reserve to not have a conflict
08:16:27 [npdoty]
wikis are a good way to prevent accidental overlap. almost nothing can prevent intentional conflicts
08:17:07 [vivien]
ekr: @@@ekr4
08:17:39 [vivien]
ekr, can you write down what you are saying, you are talking way fatser than by yping or even my brain
08:19:52 [vivien]
martin: I think cullen pb is ensure that the community knows aboiut cullen we don't want to block all use cases
08:21:04 [vivien]
cullen: @@cullen3
08:22:05 [vivien]
nick: as a process manner it is difficult for the W3C to constraints other developments
08:22:50 [vivien]
martin: we could say if people are aware of usage of some names then they should not reuse names
08:23:21 [fluffy]
Key thig is this community (the WG) agrees that if someone comes and gets a code point for a constraint in a given way, then this standards orgnaiaiton is not going to stomp on it
08:23:34 [vivien]
ekr: reserving a code point require a W3C REC high cost, or a W3C CG
08:24:06 [vivien]
cullen: you need to inform people
08:24:21 [vivien]
ekr: can people notify public-webrtc list ?
08:24:23 [vivien]
cullen: sure
08:25:12 [vivien]
martin: sounds good
08:25:54 [vivien]
nick: you can't have commitment from the entire consortium unless you go in front the AC
08:26:21 [vivien]
martin: we would write it in the right way
08:26:42 [vivien]
stefan: sounds we ahve rough consensus how do we move forward
08:27:30 [vivien]
martin: I suggest dan write a first version adding guidance on notifying the WG for new extensions
08:27:40 [vivien]
stefan: ok we have a plan
08:28:01 [wydong_CM]
RRSAgent, draft minutes
08:28:01 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html wydong_CM
08:28:26 [vivien]
Topic: gUM status of Last Call Comments
08:28:40 [vivien]
stefan: we had 19 comments after the deadline, now done to 1
08:28:57 [vivien]
... last one from justin, which should be resolved when we merge dom's PR
08:29:04 [vivien]
martin: ok done !
08:29:26 [vivien]
burn: we can wait till we merge the PR than answer and close this
08:29:44 [vivien]
stefan: after that we had comments coming after that
08:30:02 [vivien]
mathieucitrix: isn't there some ongoing privacy issues ?
08:30:10 [vivien]
brun: yes with nick
08:30:18 [vivien]
s/brun/burn/
08:30:44 [vivien]
burn: should we create issue based on nick's email ?
08:31:19 [vivien]
stefan: I have not read the full thread but we discussed part of this today with the iframe issue
08:31:38 [vivien]
nick: I don't see some of the reported issues
08:31:55 [ekr]
https://github.com/w3c/mediacapture-main/issues/244#issuecomment-152111790
08:31:56 [vivien]
stefan: we ask people to send them as github issues
08:32:32 [vivien]
burn: yes usually we let the discussion happen then the chairs ask the reporter to fill an issue
08:32:51 [vivien]
stefan: will you file an issue(s) ?
08:33:11 [vivien]
nick: there are sperate issues in that thread, do you want me to fill multiple ones ?
08:33:19 [vivien]
stefan: yes
08:33:28 [vivien]
martin: this ensure we don't miss anything
08:34:03 [npdoty]
ekr is always awake enough to discuss security, it sounds like
08:34:07 [vivien]
ACTION: npdoty to fill in github the various privacy issues he reported
08:34:07 [trackbot]
Error finding 'npdoty'. You can review and register nicknames at <http://www.w3.org/2011/04/webrtc/track/users>.
08:35:53 [vivien]
nick: most important 1) iframe 2) programmatic way for sites to revoke permission or for site to indicate a permission should not be persistent
08:37:24 [vivien]
nick: ekr I understand you discussed that previously my alternative where: say this is one time only, and possibility to revoke a persistent permission
08:38:44 [vivien]
shinjoun: regarding the iframe, if the domain is the same as the parent page, this is something to think about
08:39:02 [vivien]
s/shinjoun/shinjun/
08:39:25 [vivien]
nick: sounds like the chrome implementation is fine
08:39:34 [vivien]
martin: this is what I proposed
08:40:29 [vivien]
martin: (looking at options outlined in issue #267)
08:41:35 [npdoty]
npdoty has joined #webrtc
08:41:46 [vivien]
ekr: 4. is not a pain to implement for us
08:41:54 [YusukeNakaya_]
YusukeNakaya_ has joined #webrtc
08:42:03 [YusukeNakayaJP]
YusukeNakayaJP has joined #webrtc
08:42:14 [vivien]
cullen: one use case is call centers
08:42:27 [vivien]
ekr: yes you might only use the service once or twice a year
08:42:46 [vivien]
mathieucitrix: yes the user would expect this
08:43:19 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien
08:43:33 [vivien]
cullen: I think 4. is the most realistic
08:43:42 [vivien]
martin: I'm with you fluffy
08:44:06 [vivien]
ekr: the browser would decide
08:44:36 [vivien]
mathieucitrix: no because my application would work differently on different browsers
08:44:51 [vivien]
mathieucitrix: for me option 6. is a no go
08:46:06 [vivien]
mathieucitrix: I would prefer not 6. for the reason expalined by fluffy and mathieucitrix
08:46:59 [vivien]
ekr: I don't see a lot of value for sites to be able to revoke permissions
08:47:39 [vivien]
ekr: the use case is if you are worried for the privacy of your users
08:47:45 [vivien]
s/ekr:/nick:/
08:48:18 [vivien]
nick: if it is uncommon but helps a lot of users (eg used by gravatar) it is great
08:48:39 [vivien]
dom: it is fair to say if chrome did not have the defaults to persist permission on https
08:48:57 [ekr]
"The API MUST provide a mechanism for the requesting
08:48:57 [ekr]
JS to indicate which of these forms of permissions it is
08:48:57 [ekr]
requesting. This allows the browser client to know what sort of
08:48:57 [ekr]
user interface experience to provide to the user, including what
08:48:59 [ekr]
permissions to request from the user and hence what to enforce
08:48:59 [ekr]
later. For instance, browsers might display a non-invasive door
08:48:59 [ekr]
hanger ("some features of this site may not work..." when asking
08:49:00 [ekr]
for long-term permissions) but a more invasive UI ("here is your
08:49:00 [ekr]
own video") for single-call permissions. The API MAY grant weaker
08:49:00 [ekr]
permissions than the JS asked for if the user chooses to authorize
08:49:01 [ekr]
only those permissions, but if it intends to grant stronger ones
08:49:01 [ekr]
it SHOULD display the appropriate UI for those permissions and
08:49:01 [ekr]
"
08:49:26 [vivien]
ekr: I pasted what is the requirement in the specification
08:49:30 [dom]
s/ persist permission on https/ persist permission on https, we would not have that conversation/
08:50:35 [vivien]
varun: if you relaod the page will it ask again ?
08:50:47 [vivien]
ekr: firefox does, chrome doesn't
08:51:03 [npdoty]
my only new information is the suggestions of alternative API designs: oneTimeOnly=true, or a revoke() method
08:51:29 [vivien]
dom: I think the firefox model is better here, it is better for privacy
08:52:09 [vivien]
martin: google folks are well aware it is a point of differenciation between browsers
08:52:14 [victor_pascual]
victor_pascual has joined #webrtc
08:52:34 [vivien]
mathieucitrix: we are not removing this from browsers just letting application developpers chose
08:52:58 [vivien]
martin: if the option changes it would be confusing to the user
08:53:32 [jystewart]
jystewart has joined #webrtc
08:53:55 [vivien]
martin: browser developers are very sensitive in trying to protect their users
08:54:29 [ekr]
Thread starts here: https://lists.w3.org/Archives/Public/public-media-capture/2015Mar/0001.html
08:54:39 [vivien]
nick: when I raised the issue it was more that some site developers might feel in an uncomfortable situation if the permission is being persisted
08:54:51 [vivien]
nick: sites might know things that you don't
08:55:21 [vivien]
nick: I am providing suggestion to the group
08:55:31 [mishizaw]
mishizaw has joined #webrtc
08:57:23 [vivien]
(firefox team looking over at chrome options)
08:58:04 [vivien]
s/chrome options/clear site data spec/
08:59:17 [wonsuk]
wonsuk has joined #webrtc
08:59:36 [vivien]
cullen: maybe revoke is one form for this
08:59:52 [jystewart]
jystewart has left #webrtc
09:00:14 [vivien]
cullen: if their is a revoke in the permissions API we can rely on that too but too me it feels like a bad idea
09:00:27 [katashin_]
katashin_ has joined #webrtc
09:00:45 [vivien]
dom: so if gUM permissions belongs to the Permissions API this solve the discussion
09:00:54 [vivien]
dom: they do have a revoke API
09:01:18 [vivien]
ekr: if revoke is a good idea...
09:01:30 [vivien]
dom: the logout use case sounds good
09:02:41 [vivien]
dom: how do we proceed are we exploring the Permissions API approach ?
09:03:09 [vivien]
martin: I don't think we reached consensus on @@mt1
09:03:36 [vivien]
... for revoke we can follow webapps work so if they think it is a good idea
09:03:59 [vivien]
dom: nick you that satisfy your comment ?
09:04:19 [vivien]
nick: @@npdoty
09:05:11 [vivien]
nick: it will be hard to get the group satisfied if your answer is it maybe it would be handled by the webapps group
09:05:18 [wydong_CM]
wydong_CM has joined #webrtc
09:05:27 [vivien]
stefan: sounds like a good answer if we leave that to the experts
09:05:36 [wydong_CM]
rssagent, draft minutes
09:05:49 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien
09:13:38 [wonsuk]
wonsuk has joined #webrtc
09:34:25 [npdoty]
npdoty has joined #webrtc
09:35:10 [npdoty]
npdoty has left #webrtc
09:43:13 [kpfleming]
kpfleming has joined #webrtc
10:08:31 [hta]
hta has joined #webrtc
10:44:51 [kpfleming]
kpfleming has joined #webrtc
11:27:27 [victor_pascual]
victor_pascual has joined #webrtc
12:06:44 [mishizaw]
mishizaw has joined #webrtc
12:18:04 [iwashi]
iwashi has joined #webrtc
12:48:26 [hta]
hta has joined #webrtc
13:04:46 [hta]
hta has joined #webrtc
13:11:04 [hta]
hta has joined #webrtc
13:13:58 [hta]
hta has joined #webrtc
13:17:11 [hta1]
hta1 has joined #webrtc
13:27:17 [hta]
hta has joined #webrtc
13:39:26 [hta]
hta has joined #webrtc
14:04:43 [hta]
hta has joined #webrtc
14:24:37 [Zakim]
Zakim has left #webrtc
14:25:47 [mishizaw]
mishizaw has joined #webrtc
14:54:43 [mishizaw]
mishizaw has joined #webrtc
15:14:55 [adamR]
adamR has joined #webrtc
15:27:16 [adamR]
adamR has joined #webrtc
15:28:09 [mishizaw]
mishizaw has joined #webrtc
15:44:18 [adamR]
adamR has joined #webrtc
17:00:41 [mishizaw]
mishizaw has joined #webrtc
18:14:18 [hta]
hta has joined #webrtc
19:02:59 [mishizaw]
mishizaw has joined #webrtc
19:44:20 [hta]
hta has joined #webrtc
20:10:44 [kpfleming]
kpfleming has joined #webrtc
20:35:17 [mishizaw]
mishizaw has joined #webrtc
20:46:23 [ekr]
ekr has joined #webrtc
21:37:57 [mishizaw]
mishizaw has joined #webrtc
21:41:33 [ekr]
ekr has joined #webrtc
21:43:41 [ekr]
ekr has joined #webrtc
21:47:38 [ekr]
ekr has joined #webrtc
21:54:35 [ekr]
ekr has joined #webrtc
22:33:54 [ekr]
ekr has joined #webrtc
22:38:43 [mishizaw]
mishizaw has joined #webrtc
22:53:33 [hta]
hta has joined #webrtc
23:04:40 [mishizaw]
mishizaw has joined #webrtc
23:25:11 [toddg]
toddg has joined #webrtc
23:30:40 [vivien]
vivien has joined #webrtc
23:31:45 [vivien]
RRSAgent, draft minutes
23:31:45 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien
23:32:26 [vivien]
i/stefan: at the last meeting/Scribe: DrAlexG_/
23:32:26 [vivien]
RRSAgent, draft minutes
23:32:26 [RRSAgent]
I have made the request to generate http://www.w3.org/2015/10/28-webrtc-minutes.html vivien
23:32:59 [vivien]
RRSAgent, bye
23:32:59 [RRSAgent]
I see 1 open action item saved in http://www.w3.org/2015/10/29-webrtc-actions.rdf :
23:32:59 [RRSAgent]
ACTION: npdoty to fill in github the various privacy issues he reported [1]
23:32:59 [RRSAgent]
recorded in http://www.w3.org/2015/10/28-webrtc-irc#T08-34-07