mozilla :: #media

9 Aug 2017
01:03djg|kamidphishrillian: Ping. Are you still online?
01:30djg|kamidphishkinetik: I'm having trouble getting cubeb-rs to compile on try. I guess vendor rust doesn't work with crates on git. So I guess I have to copy it locally into gecko.
01:31kinetikdjg|kamidphish: oh, bummer
01:31kinetikdjg|kamidphish: hopefully rillian can help when he's around
01:32djg|kamidphishyeah, I was hoping rillian would be online still
01:46rilliandjg|kamidphish: yeah, I think that's true
01:46rillianI was on my way home. working on dinner now, but I can check back periodically
01:48djg|kamidphishrillian: So I have to publish to or copy code locally? because everything is building locally but when I push to try build fails
01:50rilliandjg|kamidphish: the builders aren't supposed to have network access, so everything needs to be in-tree
01:51rillianI can believe `mach vendor rust` doesn't hand git references because of the way it mocks with a vendored repo checkout.
01:51djg|kamidphishrillian: Right. That makes sense. So mach vendor rust should copy into third_party?
01:52rillianso if you can't publish to, do a 'git add' on the crate source in your firefox checkout, and then replace the git reference with a file reference in the caller's Cargo.toml
01:52rilliandjg|kamidphish: mach vendor rust should copy everything used from to third_party/rust
01:53rillianthen the automation builds set CARGO_HOME and compile with --frozen which throws an error if anything's not there.
01:53rillianthat suggests you could also hack your update into thirty_party/rust
01:54rillianbut I don't know anything about what all needs updating. checksums in the manifest, certainly
01:54djg|kamidphishrillian: So that might mean that vendor only checks, not github.
02:03rilliandjg|kamidphish: I haven't verified, but mach vendor just calls cargo vendor and iirc that only does
02:04rillianyou could file an issue against and see what alex says
02:12cpearcejya: FYI
02:12firebotBug 1388288 NEW, Make playback/webaudio code in dom/media build in non-Unified mode
02:12cpearcejya: and review ping on the last patch in bug 1388288
02:15bwugerald: ni ping for bug 1388309 since it is quite important.
02:15firebot NEW, Video decoding is not recovered from GPU process crash.
02:16geraldbwu: Ok will look...
02:18bwugerald: Thanks! kaku is PTO today, so hopefully we can do something today and he could follow up the work tomorrow.
02:49jyacpearce: that's all very weird as I had a bug for exactly that just a couple of weeks ago.
02:50jya(building media in non unified mode)
03:07cpearcejya: Note the build failures I observed were on Windows. I've not tried building non-Unified on other platforms yet.
09:04padenotcpearce, want me to take bug 1388668? I can get you a patch right now
09:04firebot NEW, AudioDestinationNode uses NS_DispatchToCurrentThread()
09:05cpearcepadenot: I was just writing one ;)
09:05padenotah yeah
09:05padenotok then I can review right now :-)
10:36bwukentuckyfriedtakahe: cpearce:
11:27fippojesup|laptop: -- can you consider that patch for cherry-picking? :-)
11:35robswain-Mfippo: i've tried your webrtc-externals extension from in ff55 but it doesn't seem to show any gUMs nor peer connections
11:36robswain-Mand i didn't see any special incantations that one was supposed to do in the article
11:36robswain-Many ideas?
11:47padenotjesup, anything in particular I have to do for a crashtest that uses gum, specifically on OSX ?
11:47padenotjesup, fake devices maybe ?
11:48padenotit's timing out on treeherder now
13:22fipporobswain-M: are you using mozGetUserMedia? that isn't wrapped
13:24robswain-Mi'm using it on a page with adapter.js and the janus JS lib currently
13:25jyapadenot can't make today if we have a meeting. Got stuck outside.
13:25padenotI think we do have a meeting
13:26padenotmaybe you can just fill in the notes in the google doc later ?
13:26padenotmreavy, ^
13:33mreavypadenot, jya - we do have a meeting. It's ok jya if you can't make it. Just fill in the notes when you can.
13:35jyaWill do
13:36jyaWhat I would have liked to discuss is making vp9 the default on machine with vp9 HW decoder
13:36jyaI have the vp9 hardware decoder running on low end amd machines
13:53fipporobswain-M: hm...does the extension work on the webrtc samples?
13:55robswain-Mfippo: for example, it doesn't work on
13:56robswain-Monly the "> Create Dump" part is shown
13:57fipporobswain-M: did you open the background page before the page you're debugging? (i really need to get rid of that restriction)
13:58robswain-Mis it meant to auto-refresh the background page?
13:59robswain-Mi've tried both leaving it alone and refreshing it
13:59robswain-Mneither works
14:00robswain-Mfor what it's worth, it doesn't work on either
14:00fippothat works for me... hrm...
14:07jibpadenot: 1-1?
14:08padenotjib, what room are we using ?
14:08jibmine ok?
14:58padenotjesup, ping
15:37padenotjib, maybe you know, do we need to specify fake: true when writing gUM tests for osx and android ?
15:38padenotjib, see my patch here, it seems to fail without this:
15:43jibsorry still in 1-1, will look soon
15:53jibpadenot: except on linux, fake mic and cam should be the default, so no need for {fake: true}
15:53padenotjib, right, this very test times out, unless I put this fake: true
15:54padenotthis is in a crashtest
15:54jibyeah I know the default is set somewhere in mochitest, so it may not reach crashtests
15:54padenothead.js maybe ?
15:54* jib looks
15:56jibso yeah
15:56padenotI'm just going to push that then
15:57jibsounds good!
20:31mreavybwc, ng - fyi -- standup is now. I know it's been a few weeks :-)
20:33mjfmreavy: ng may already be out for his PTO
20:33mjfI know he filled out the doc, but dont know if he was planning on being online for the call.
20:33mreavymjf: you're right! -- sorry, ng|pto
21:03rillianjya: any MOZ_LOG suggestions for debugging frame drop?
21:04rillianMediaDecoder doesn't mention anything
21:05rillianwell, I guess it stops saying, "playing video frame"
21:05rillianbut not why
21:07jyaOther than the frames dropped by the skip to next key frame algorithm, not really
21:07rillianok. that looks like what it's doing, but I was hoping to confirm
21:08jyado you know,how they are dropped, is that just some frame here and there, or big chunk being dropped?
21:08jyaThen MediaFormatReader:5 will have a line about SkipToNextKeyframe
21:08jyaLet me check
21:12rillianI don't see one
21:13rilliandjg|kamidphish: if I close firefox with video playing I can still hear the audio for a while with processes still running. Could the new audio remoting be blocking shutdown?
21:13rillianI can still hear it for a while after the window goes away, I mean
21:14djg|kamidphishAudio remoting isn't landed so I'd be surprised.
21:14rilliandjg|kamidphish: ah, I thought it was in nightly
21:14rillianmust be something else then!
21:15jyarillian: so you'll see a line SkipVideoDemuxToNextKeyFrame: Skipping Up to ...
21:15rillianjya: yeah, not that either
21:15jyaIs that with the AV1 stream?
21:15rillianyes. new decoder snapshot though, so it may be slower
21:16jyaThere was an issue where if the decoded time stamps weren't correct, and in particular the decoded sample duration wasn't set properly, the VideoQueue would drop them
21:16jyaVideoSink that is. Could that be it?
21:17rilliancould be. it seems to only happen with the higher-bitrate streams, but that doesn't exclude bad sample durations
21:18rillianjya: btw, where can I hook up 16-bit video frames? the new av1 decoder has high bit depth output support.
21:19jyarillian: with the current code, you can't
21:19rillianah. I looked for the code you showed off in SF, but couldn't find it.
21:19jyaWe have work in progress for HDR video, but waiting on mattwoodrow to complete the d3d11 shader
21:20jyarillian: it never went in nightly. It currently only works on OpenGL and basic compositor.
21:21rillian*nod* I remembered that.
21:21jyaAnd the basic compositor is just a 10/12 bits -> 8 bits yuv before converting to rgb
21:21jyaYou can try building on top of the wip one
21:21rilliando we have an efficient downscaler? I wrote a naive one. libyuv does have I420Scale_16, but I didn't find a conversion routine.
21:21jyaIn the decoder, there's a new bitdepth member on the VideoData object
21:22jyaAs efficient as doing / 1024 * 256 :)
21:22jyaFor ogl it's done with a shader
21:23jyaI've opened a bug to do fast yuv -> rgb
21:24jyaWe have in libyuv two methods that will do rgb and downscaling on the fly
21:24jyaRgb conversion that is.
21:24rillianright. now I just have a for loop with *dst++ = (*src++ >> scale) && 0xff
21:24rilliansame as / 1024 * 256 I think
21:24jyaThat's pretty much what I wrote
21:24jyaI was over simplifying, I actually do bit shifting
21:25rilliansimd ought to go ~4x faster. although doing it as part of the copy into VideoData would probably help more.
21:26jyarillian: bug 1215089
21:26firebot UNCONFIRMED, Firefox displays VP9 profiles 1, 2 and 3 incorrectly
21:27rillianjya: great, thanks.
21:27rillianthe frame drop isn't any worse on my macbook than it is on the xeon desktop, so maybe it isn't performance.
21:28jyarillian: in that bugs, there's various blocker/dependencies. One of them is optimising the rgb conversion, including writing those with simd
21:28robswain-Mas a note, is jerky in all versions of firefox on macos and uses quite a chunk of cpu
21:28robswain-Mcompared to chrome 60 which uses barely anything
21:28robswain-Mif i make the video fullscreen it's better
21:28jyarobswain-M: there's a similar bug about nightly sucking CPU wise recently
21:29jyaAnd we have a few bugs that we have a lot of dropped frames with YouTube 4K, even when using full hardware decoding acceleration
21:29jyaI suspect something fishy in the compositor
21:33robswain-Msounds not unreasonable
21:33robswain-Mmy gut said something to do with how ff composites the video into the page, as that's what it wouldn't be doing in fullscreen
21:34rillianmaybe we're doing an unnecessary readback or something
21:35robswain-Mhigh cpu usage and jerkiness with video normally screams some memcpy is going on somewhere to me
22:31jyaWhat was the link for the global entry thing?
22:32rillianjya: I believe it's
22:32jyadjg|kamidphish: how long did that take you to make this page?
22:33* rillian had never applied for any of these things; too classist for me
23:24djg|kamidphishrillian: If you're traveling through the US a lot would it help if you're a citizen?
23:24djg|kamidphishrillian: When I was traveling to Toronto muc more, I would have loved to smooth out the transition via LAX.
23:30djg|kamidphishjya: Which page? The latency one? Not very long.
23:45rilliandjg|kamidphish: I think it's helpful at the land crossings because there's a separate queue. Not sure about airports.
23:45rillianprobably there too
23:46djg|kamidphishrillian: I had a couple of slow crossings are Blaine. One with no car window at 10pm because someone smashed it in Seattle to steal stuff. :-(
23:47djg|kamidphishYeah, spoiled my long weekend in Seattle.
23:50djg|kamidphishHow do you pass configure options to try builds?
23:51rilliandjg|kamidphish: put them in build/mozconfig.common.override and commit that I think
23:51djg|kamidphishrillian: cheers
10 Aug 2017
No messages
Last message: 12 days and 21 hours ago