mozilla :: #media

12 Jul 2017
00:00rilliankinetik: do you understand semarie's abi stability comment in the bug I linked?
00:00rillianthey have some kind of cross-environment targetting libc HEAD, but can't share it?
00:01rillianare they using manual coordination somehow?
00:04kinetikrillian: did you read
00:04kinetiki think it's basically that there is no ABI stability guarantee between OS releases, so you must target specific versions
00:05kinetikwhich makes anything wanting to target the current dev head very difficult if it's not integrated into their base source builds
00:12rilliankinetik: ah, thanks.
00:12rillianso rustup could support releases, but it's hard to bump the current dev?
00:12rillianI guess I don't understand how they migrate across ABI changes. They'd need some kind of cross-compiler, right?
00:14rilliankinetik: do you know if you can run BSDs in qemu under linux? I've been trying to figure out how to dockerize something like openbsd builds.
01:49kinetikrillian: i haven't tried qemu, but it should work?
01:49kinetikrillian: i guess the ABI changes are dealt with by recompiling everything from source
01:50kinetiki don't think you need a cross compiler, you just build on the old system against the updated sources
01:50kinetikthese ABI changes are going to be a nightmare for nix-rust too, they'll need C compilation tests for everything to avoid breakage
03:10kinetikrillian: should i expect to work?
03:15kinetik(i was trying to work out if i updated the deploy section of .travis.yml correctly in
03:26cpearceDo we still use libsoundtouch? it looks like we're building it but not using it anywhere?
03:28cpearceLooks like we use it in the FFVPXRuntimeLinker.cpp as a way to find a symbol in lgpllibs, but don't actually call its code. :P
03:31kinetikit's use for playbackRate
03:33cpearcekinetik: thanks!
03:55kentuckyfriedtakahecpearce: I've got a new camera so we'll try that for the team meeting tomorrow. Can you bring the USB stick required to boot the PC here?
03:56cpearcekentuckyfriedtakahe: sure.
06:12bwujw_wang: bug 1376004.
06:13firebot NEW, Show proper error on UI when getting 404
07:48jyacpearce: we should be using libgpllibs to find the ffvpx decoder. Don't recall changing it to soundtouch
08:10cpearcejya: kinetik also pointed out that we're using libsoundtouch for playbackRate in AudioStream.
08:16cpearcegah! patch tuesday in the US. All my symbols for Windows have to redownload....
08:42jyacpearce: do you know if it's possible to tell windows decoder to output 10 bits YUV (or 12) ?
08:43cpearcejya: the list of supported output formats is here:
08:44cpearceI think all of those are 8bits per color channel
08:44jyayeah, but that list is old, and since they added support for VP9 which can do 10 and 12 bits video (or so I hope)
08:44cpearcewell, that list is for the H264 decoder, not the VP9 decoder
08:44jyaalso MFVideoFormat_YV12 just describe the structure of the plane, it could still be 10 bits
08:46jya indicates that at best it's 10 bits RGB, not YUV
08:46jyamaybe there's a way to tell the VP9 MFT decoder to output that
08:46cpearcejya ha!
08:46jyaoh there is, just below
08:47jyaI have the gutfeel that when you go throught the list of available type, that type will show
08:47jyacrossing fingers
08:50* jya pleased to now get a green blob
13:32mreavypadenot, jya - fyi: standup starting
13:41achronopaudio is very basted for me
14:58jesupdminor: ng: is anyone looking at the AEC logging stuff?
15:01dminorjesup: the logging being broken under e10s?
15:01jesupper nils, probably on mac, it wasn't working e10s on or off
15:01jesupabout to try on linux
15:04jesupdminor: no logs on linux
15:04dminorjesup: ok, I can have a look. is there a bug filed?
15:04jesupI don't think so. non-e10s linux for me
15:05dminoralso, str: just click the button in about:webrtc?
15:05jesuprr will probably track it down quickly
15:05jesupyeah: gum_test, start a stream, open about:webrtc; start logging, stop logging
15:06dminorjesup: thanks. for reference, nils filed bug 1379836, I'll update the summary
15:06firebot NEW, Hide "Start AEC Logging" button under e10s
15:06jesupthis was the patch you did that was merged in the 57 landing:
15:10jibdminor: yes, make sure the three text lines appears below the buttons
15:14ngjesup: started looking yesterday, was interrupted by moving to new laptop.
15:16dminorng: do you want to continue or do you want me to take over?
15:16ng dminor: sure
15:17dminorng: sure you continue or sure I take over?
15:18ngdminor: ha, sorry. Feel free to take over.
15:19dminorng: will do, thanks :)
15:49rilliankinetik: used to work. I don't know what happened to it.
15:50rillianI suggest we point people at instead though.
15:54rillianI don't see the deployment in the travis log or config on the website, but everything looks like it's set up correctly.
15:59rilliankinetik: aha, there's no index page. works
16:21* ng is still having his bizarre issue after moving to the loaner laptop.
16:45dmajorrillian: do you know how I can enable (and where does the output go) of the LOG(...)'s in nsThreadPool.cpp?
16:47* dmajor tries the MOZ_LOG MDN
16:47rilliandmajor: MOZ_LOG=nsThreadPool:5 in the environment
16:47rillianbut you also need --enable-debug
16:47dmajorrillian: :(
16:48rilliandmajor: you might be able to turn on just the logging statements with -DMOZ_LOGGING_ENABLED
16:48dmajorI thought MOZ_LOG was available in all builds nowadays
16:48rillianat compile time
16:48rillianreally? I thought that was too expensive
16:48jyarillian: i think this is no longer a problem with windows anymore
16:48dmajor says all builds
16:48dmajorand I recall erahm greatly expanded its availability a while back
16:49jyawas never an issue on mac and linux, but windows log would only show on debug build
16:49rillianah, that's great news
16:49jyalast i tried (last week) it worked
16:49dmajorjya: while you're here -- I'm planning to look in the log to see if the same task bounces between threads
16:50jyadmajor: it could very well be, but that wouldn't matter. just how TaskQueue is running
16:52dmajorI want to confirm that is the case just to be sure I'm understanding the model correctly :)
16:53dmajoralso I wonder if it hurts caches and branch predictors etc to have this bouncing
16:53dmajorI guess threads can move between cpus on their own anyway so probably not
16:53* dmajor goes to lunch
16:54jyawe have to run each task with memory barriers anyway to ensure that non-threadsafe code that runs in taskqueue (the majority of our decoder falls into this category) can use taskqueues
17:31robswain-Mfippo: new safari tech preview (35) is up if you're interested
18:20erahmLogging generally works, but opt windows builds don't output to the console (or maybe they never do), you can redirect to a file or tell it to spew to OutputDebugString I think. Also sandboxing breaks some logging for content processes
18:34jesupdmajor: on windows, use MOZ_LOG_FILE. and pray to the gods of sandboxing; for some platforms, for a while (?) you had to use NSPR_LOG_MODULES with e10s. Also, e10s and content logging from about:networking (turning on MOZ_LOG on the fly) is iffy last I remember, unless you had a MOZ_LOG_FILE set up before you start the browser
18:34dmajorjesup: the log appeared in my debugger, which was good enough
18:52mjfdrno: ping
19:01drnomjf: pong
19:12jesupdmajor: little-known trick: about:networking has fields to change logging during a run
19:12dmajorjesup: hey, neat!
19:13dmajorhm, adult supervision required.
19:13jesupthough note my comment about e10s; if there's no MOZ_LOG_FILE before starting, you may not be able to use it from about:networking. And can't change it. non-e10s (or non-sandbox), go to town
19:14jesupMOZ_LOG should be changable in any case
19:15dmajorjesup: it says file is set to %TEMP%\log.txt, which must be a default. are you saying I can't use it if I haven't set something else explicitly?
19:15dmajoroh wait
19:16dmajorthe temp is just a suggested file to set; there wasn't anything actually set
19:16* dmajor misread "Current Log File:"
20:11jyamattwoodrow|away: ping
20:32mreavyfyi - standup starting
21:00KiChjangi have a question about webrtc, this really confuses me
21:00KiChjanghow does getUserMedia get its list of devices?
21:00jibwhat do you mean?
21:01KiChjangjib: i mean, when i call getUserMedia using JS, what does the browser actually do in order to find all the available devices
21:01jibwhy do you ask? :)
21:02KiChjangbecause i want to register something as a video device
21:02jibWell that's usually an underlying OS question
21:02jibe.g. on MacOS Firefox uses AVFoundation APIs to enumerate cams and mics
21:04KiChjangi thought it would query the OS to get a list
21:08KiChjangjib: at the very simplest, i'd like to know how i can use webrtc to display stuff on my monitor, instead of using my webcam
21:09jesupKiChjang: that's screensharing (see
21:09jibOh screensharing? Firefox already supports that -
21:09jibbeat me to it ;)
21:10KiChjangokay, perhaps that's not quite i wanted
21:10KiChjangi have a video stream, and i'd like to pipe that to webrtc
21:10KiChjanghow would i do that?
21:10jesupOr use a virtual camera driver
21:10jibYou can use element.captureStream()
21:11jesupAh. THat's captureStream(). mediastream = video.captureStream(...)
21:12jesupalso canvas.captureStream(...) can be used
21:12jesupIn this case, you aren't calling getUserMedia at all
21:14KiChjangjesup, i haven't looked into google hangouts, but do they use getUserMedia at all?
21:14KiChjangif so, then i must somehow support video streaming into getUserMedia
21:16jibGoogle hangouts uses webrtc in theory (in Chrome right now, and soon in Firefox - they're working on it as we speak)
21:16* jib is not sure how you'd stream INTO getUserMedia
21:17KiChjangi think i'd possibly have to go down the virtual camera driver route
21:17KiChjangwhich is fine, but please do elaborate on how that would work
21:18jibI haven't yet heard a need for that
21:20jibI mean there's no need to go through getUserMedia to get to a stream you can send over a peer connection
21:22jibIn any case, we don't have much good info on how to build virtual camera drivers, other than that it would be a lot of work, and would have to be done per platform. We don't even have fake camera drivers for our automated tests, except on linux
21:25KiChjangah i see, this looks like it's more of an OS question
21:48pellenbogenbwc: I was wondering if you knew if there was a reason the serialize methods for SDP code is in the sipcc implementations vs in the generic implementations using the various getters available eg:
22:01jyaturned out I don't have vidyo installed on that box..
22:20jyacpearce: where is it ?
22:21jyathe eme bit
22:21cpearceabout:preferences search for "drm"
22:23jyahow do I see if it's installed or not?
22:23cpearceabout:addons on plugins pane
22:25jyawidevine appears to be working
22:27jyayeah that work
22:36cpearcejya: let me re join
22:36jyaI've lost you
22:36jyame or you?
22:45jyamattwoodrow: ping
22:45mattwoodrowjya: HI
22:46jyai've pushed a new version of the HDR stuff.. I'm pretty stuck with D3D11 compositor, I don't understand how that stuff works.
22:47jyai don't see anyreason why the code with the fixed I've put doesn't work.. but I only ever get a green box
22:47jya(and I never see the CompositorD3D11 object being created either)
22:48jyacould you have a quick look and see if I've missed anything obvious?
22:48mattwoodrowYeah sure, Ill take a look
22:50rilliandrno|irccloud: any suggestions on a webrtc service we could use for team meetings? I hear google hangouts finally works with Firefox, and has a premium conference mux. Anything else?
22:51jibThe webrtc team users for weekly meetings (we have a premium moz-webrtc room)
22:52jibhangouts is almost there
22:53jyamattwoodrow: thanks...
22:54jibthere's also tokbox, jitsi, but haven't tried them in a while
22:54jyamattwoodrow: so I get my head around things... What is the job of TextureClient exactly?
22:55jyaand do you guys have a document describing the gfx/compositor architecture, what does what ?
22:57mattwoodrowjya: TextureClient/TextureHost are for sharing a texture across ipdl
22:57mattwoodrowthose are the two different views onto the shared object
22:58jyai figured as much, but I don't see with TextureHost where the information that it's a 16 bits video is passed on
23:00rillianjib: ok, we'll try
23:00rillianis there still no open source conference mux?
23:01jibregular rooms use mesh calling, which is best for 1-1
23:01mattwoodrowjya: You added the depth to YCbCrDescriptor
23:01rillianI know, and in the office (where ironically it's hard to use firefox for video) there's plenty of bandwidth for n-n
23:02rillianbut if someone's on a poor connection it's nice to have a mux
23:02jib~rillian: dunno about open source. AFAIK this is commonly how webrtc sites make money, but up-selling server use
23:03jibYou might be able to ask fippo about a premium account
23:08rillianlooks like jitsi has an open-source reflector, but it doesn't to re-encoding
23:18mattwoodrowjya: Oh, if youre testing on the latest nightly, then it might be using advanced-layers instead of compositor d3d11
23:18jyathat would explain some stuff for sure !
23:18mattwoodrowEither way you need new shaders, since the values in the texture will be 1/64th of what you want
23:19jyaI had hoped D3D11 would be smart enough to know the image is 10 bits and manage it all :)
23:21jyawhere are the shaders forD3D11 located? (and how can I force the D3D11 compositor back) ?
23:27mattwoodrowNah, were just telling d3d11 that its 16bit
23:27mattwoodrowI dunno if we can tell it about 10bit
23:27jyaaccording to the dxva doc, 10,12 or 16 is the same
23:28jyathere's something about what to do with the extra bit, and that it pretty much assume it's 0
23:30jyaso you can't easily modify the shaders to play with like you do with OGL, you need the microsoft compiler
23:31mattwoodrowunfortunately, yeah
23:33jyai see... well will be 10000 times quicker for you to do it, I'm sure you'll wrap this up in no time
23:37* jya heading to bed.. long day
13 Jul 2017
No messages
Last message: 11 days and 17 hours ago