mozilla :: #media

7 Aug 2017
09:29cpearceJamesCheng: sudo /usr/libexec/locate.updatedb
10:29bwukentuckyfriedtakahe: cpearce:
11:26hsivonenIf RTCPeerConnection loses its peer, does it find out? Is there any way other than explicit close() JS call for an opened RTCPeerConnection to become closed?
11:44fippohsivonen: the iceconnectionstatechange event will fire and you can check the iceconnectionstate
11:51hsivonenfippo: thanks
11:54hsivonenfippo: can RTCPeerConnection be used without ICE? I.e. is it appropriate to consider the RTCPeerConnection to have an active connection iff RTCIceConnectionState is "connected"?
11:57fippoall data runs on top of the peerconnection. let me see, I have slides somewhere..
11:57fippojib: -- track.onended MUST NOT be called, right? (guess who does...)
11:59fippohsivonen: describes some of the state
12:04jibfippo: right. who?
12:04fippojib: chrome...
12:05fippobefore chrome 60 nobody added an ended listener but now that allows for "broken mic on osx" detection
12:06* jib is not seeing in in 59 or 62
12:08fippoi see it in 59 and 62
12:18hsivonenfippo: thanks. seems complicated
12:24hsivonencan a "failed" RTCPeerConnection be resurrected? How do "failed" and "closed" differ?
12:24hsivonendoes "failed" mean "no more network activity"?
12:25jibyes with ICE restart I believe
12:25jib"closed" only happens from pc.close() and cannot be recovered from
12:26hsivonenjib: is it as explicit action on the part of script as creating a new RTCPeerConnection?
12:26hsivonenjib: restart that is
12:26hsivonenjib: between "failed" and restart, is there any network activity?
12:27hsivonencurrently, "failed" inhibits putting the page in the back/forward cache. is that the way it should be?
12:27hsivonenin other words, is "failed" but not restarted a state where it's OK to freeze the JS program without network getting confused?
12:28jibthat doesn't seem right. What does ICE state have to do with page load?
12:29hsivonenjib: it looks like we don't want to cache pages that have active network connections
12:29* jib doesn't know what "freeze the JS program" means. Is this some sort of optimization?
12:29hsivonenjib: optimization, yes
12:30hsivonenjib: I don't understand WebRTC well enough to draw a conclusion from that spec link
12:31hsivonenI'm trying to understand what RTCPeerConnection states actually mean that there's network activity that needs ongoing processing
12:32jibI don't understand enough about this optimization, so let me give you the info. AFAIK it's possible to get out of "failed" state by calling await pc.createOffer({iceRestart: true})
12:33jibwhich will reset the ICE agent, and make it try again
12:33jibthe last part won't happen until pc.setLocalDescription() is called though
12:34jibe.g. await pc.setLocalDescription(await pc.createOffer({iceRestart: true}))
12:34jibour old cable-box hoop of an API
12:34fippo -- this has a full sample (but you'd need to hook it up to iceconnectionstatechange)
12:34hsivonenjib, fippo: thanks
12:35jibfippo: thanks!
12:38fippo has some nice background info too
16:35ngpehrsons: ping
16:50pehrsonsng: pong, though I'm not working for another two weeks
16:53ngpehrsons: oops sorry, could you point me towards someone who knows about the fake camera device in windows
17:40jibng: the {fake: true} camera device is not per-platform
17:40jibexcept on linux where we have a low-level loopback device, but that's different
17:41jibhmm backscroll is not working
17:42ngjib: thanks
17:44jibng: also, a heads up that mchiang is also working in the MediaEngine/CamerasParent areas atm on bug 1286945
17:44firebot NEW, Offer downscaled resolutions and decimated framerates in getUserMedia.
17:45jibso keep that in mind, you guys may end up bitrotting each other if you're doing major surgery
17:45jibon the structure
17:47ngjib: my new working theory is that the fake camera device is not being enumerated in the gUM screen test
17:47ngwhen I plug in a camera, suddenly the tests pass
17:47jibng: as I recall, a pref is needed to enumerate them
17:47* jib looks
17:48ngI found it
17:48jibthat one
17:50jibng: gum screen test, as in screensharing?
17:51ngjib: err gtest, it includes tests for various combinations of gUM types
17:53jibscreen devices aren't normally enumerated fwiw, (except when called from chrome-code for the screenshare preview in the permission dropdown)
18:32qDotI ran into a content process hang when trying to load videos via URL objects: Is this actually a bug, or is it a situation where I should load a file to a media stream, assuming that's possible? I noticed we don't support setting HTMLMediaElement.srcObject with file objects yet.
18:32firebotBug 1388125 NEW, Video elements with URL Object srcs pointing to large video files can hang content process on MediaC
18:33sheppyHas LocalMediaStream been removed from the specifications or moved into one I just can't find?
20:11nghmmm ... --disable-optimize on Windows 10 is earning me GPU process crashes on startup after failing a large allocation
20:17dmajorheh, ouch
20:18dmajorng: do you have a crash ID?
20:20ngdmajor: is that generated by the crash reporter? I have only been running mochitests, so not launching it proper.
20:20dmajorng: ah, ok
20:22dmajorstill, I hope we're not _actually_ running out of memory in a fresh process. I wonder if there's some latent bug that's exposed by --disable-optimize.
20:24ngdmajor: I already rebuilt, I will rebuild again with --diable-optimize and see if I can't get you that crash ID.
22:12sheppyAsked a while ago, but repeating since folks have come and gone since then: does LocalMediaStream serve any purposes at all? I assume it's deprecated?
22:27qDotkentuckyfriedtakahe: ping
23:59karltsheppy: perhaps related to; i don't know; jesup or pehrsons may know
8 Aug 2017
No messages
Last message: 13 days and 20 hours ago