66d4e6df73d288b7b93d691f2c26fe285d6b6d32: Bug 1417251, part 4 - Remove skip-if(styloVsGecko) for various reftests. r=bz
Jonathan Watt <jwatt@jwatt.org> - Thu, 16 Nov 2017 12:36:08 +0000 - rev 395276
Push 98043 by jwatt@jwatt.org at Wed, 06 Dec 2017 13:58:29 +0000
Bug 1417251, part 4 - Remove skip-if(styloVsGecko) for various reftests. r=bz MozReview-Commit-ID: AaI2hdIbn9D
5f8edbddf6b51e1af440c3e5de882d5f7c7e102d: Bug 1417251, part 3 - Tweak the fuzz on four reftests. r=me
Jonathan Watt <jwatt@jwatt.org> - Thu, 16 Nov 2017 11:59:32 +0000 - rev 395275
Push 98043 by jwatt@jwatt.org at Wed, 06 Dec 2017 13:58:29 +0000
Bug 1417251, part 3 - Tweak the fuzz on four reftests. r=me MozReview-Commit-ID: 1zGRbndck9G
bf26cbb99b6acfc4c690b8edb1ec89da89232c67: Bug 1417251, part 2 - Make the reftest harness support loading of consecutive URIs differing only by hash. r=dbaron,bz
Jonathan Watt <jwatt@jwatt.org> - Tue, 14 Nov 2017 15:58:30 +0000 - rev 395274
Push 98043 by jwatt@jwatt.org at Wed, 06 Dec 2017 13:58:29 +0000
Bug 1417251, part 2 - Make the reftest harness support loading of consecutive URIs differing only by hash. r=dbaron,bz MozReview-Commit-ID: 6VVJrtX1KZa
2374657677b7e599ae60a6c994524e6d2c8b44d0: Bug 1417251, part 1 - Fix race in layout/reftests/css-ui/caret-color-01-ref.html. r=me
Jonathan Watt <jwatt@jwatt.org> - Mon, 13 Nov 2017 20:13:45 +0000 - rev 395273
Push 98043 by jwatt@jwatt.org at Wed, 06 Dec 2017 13:58:29 +0000
Bug 1417251, part 1 - Fix race in layout/reftests/css-ui/caret-color-01-ref.html. r=me MozReview-Commit-ID: FwUxjshEkWU
b0b6a108eb5c9646bb77f314e0d785893f089900: Bug 1423228 - Prevent using non-fake devices when testing screen-sharing. r=jib
Paul Adenot <paul@paul.cx> - Mon, 04 Dec 2017 15:34:20 +0100 - rev 395272
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1423228 - Prevent using non-fake devices when testing screen-sharing. r=jib MozReview-Commit-ID: LX2fbVk0VHG
c02fd9acc634860ef540a0cddb1591f294fc1f61: Bug 1397793 - Don't use the AEC on a 440Hz tone when testing that audio is flowing. r=pehrsons
Paul Adenot <paul@paul.cx> - Mon, 04 Dec 2017 18:16:22 +0100 - rev 395271
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Don't use the AEC on a 440Hz tone when testing that audio is flowing. r=pehrsons This brings in a lot of noise and makes the test fail. MozReview-Commit-ID: 70EGM1q1J24
81889a72ac45db0507c38423084f3cfce71d2ecd: Bug 1397793 - Share SharedBuffer accross SourceMediaStream. r=pehrsons
Paul Adenot <paul@paul.cx> - Tue, 28 Nov 2017 18:43:11 +0100 - rev 395270
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Share SharedBuffer accross SourceMediaStream. r=pehrsons MozReview-Commit-ID: 4PEjwiA6PR8
a0d519ba5332cacfa2fa5c070f056318ef786a42: Bug 1397793 - Add asserts for AudioChunk invariants. r=pehrsons
Paul Adenot <paul@paul.cx> - Wed, 29 Nov 2017 19:22:00 +0100 - rev 395269
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Add asserts for AudioChunk invariants. r=pehrsons MozReview-Commit-ID: CFqyMPMMHyA
ea8d6efcf3efbadab838c3f720d4ad73e7afed2e: Bug 1397793 - Remove mRate from MediaEngineDefault and use GraphRate(). r=pehrsons
Paul Adenot <paul@paul.cx> - Wed, 08 Nov 2017 15:16:06 +0100 - rev 395268
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Remove mRate from MediaEngineDefault and use GraphRate(). r=pehrsons MozReview-Commit-ID: D9x3wICAMNA
16f44ac4978a5fbeea4c11d7247a1528972314d6: Bug 1397793 - Make the assertions in the rate conversion functions in StreamTracks.h be fatal. r=pehrsons
Paul Adenot <paul@paul.cx> - Tue, 21 Nov 2017 20:53:51 +0100 - rev 395267
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Make the assertions in the rate conversion functions in StreamTracks.h be fatal. r=pehrsons MozReview-Commit-ID: 8nLask8nqV4
771c95f2963b64f52f32c9d2770136748bbf943a: Bug 1397793 - Use a ControlMessage to switch between passthrough and processing mode for microphone input. r=pehsrons
Paul Adenot <paul@paul.cx> - Wed, 08 Nov 2017 14:10:45 +0100 - rev 395266
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Use a ControlMessage to switch between passthrough and processing mode for microphone input. r=pehsrons MozReview-Commit-ID: EIvQKZf7oGq
1cf542ff868736857488fd1f2bc2271b686b5b56: Bug 1397793 - Refactor the code that sets the processing modes. r=pehrsons
Paul Adenot <paul@paul.cx> - Tue, 07 Nov 2017 14:28:06 +0100 - rev 395265
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Refactor the code that sets the processing modes. r=pehrsons MozReview-Commit-ID: IUgAfHawFIz
d12894d7777055463b68b8d9ea7e3d6c0940b4aa: Bug 1397793 - Allow switching processing on/off dynamically. r=pehrsons
Paul Adenot <paul@paul.cx> - Thu, 23 Nov 2017 15:53:25 +0100 - rev 395264
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Allow switching processing on/off dynamically. r=pehrsons MozReview-Commit-ID: G0NJRkKEVeM
0107b3feb84bbe0e643f505ec58e303dfd94e1a7: Bug 1397793 - Move to APM - Part 2 - Actual processing. r=pehrsons
Paul Adenot <paul@paul.cx> - Mon, 04 Dec 2017 13:34:14 +0100 - rev 395263
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Move to APM - Part 2 - Actual processing. r=pehrsons This also is long, but simple. First, we switch to floats everywhere. This allows to work with any rate, is more flexible with channel layout, and is a stable API (see audio_processing.h in webrtc.org). Then, 10ms worth of audio (already at the graph rate) are poped from the lock-free queue (fed on the other end by the MSG mixer), and does the following: - Down mixing to stereo (if needed) - De-interleaving into planar buffer - Prepare input and output config - Actually make the API call - Free the data Now, first, we should use a ring buffer, and not have to free any data. Then we also should not use a lock-free queue, and synchronously process the reverse-stream, but this is enough code already. Then, the actual mic data processing: - Pop a packet from the packetizer (that gives us 10ms worth of audio, note that we switch from int16_t to float, i.e. we don't do this conversion anymore). - We convert to planar buffers, deinterleaving - Prepare input and output config - Allocate a SharedBuffer of the right size - Process the data with the processing algorithm selected in UpdateSingleSource - Append to the a MediaSegment, and append to the right MediaStreamTrack for the correct SourceMediaStream (the data is already planar and all well). MozReview-Commit-ID: 2IjgHP0GAmw
2c7a56648de9125ae1893d54ec011b6cbb181d86: Bug 1397793 - Move to APM - Part 1 - UpdateSingleSource. r=pehrsons
Paul Adenot <paul@paul.cx> - Tue, 31 Oct 2017 18:25:41 +0100 - rev 395262
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Move to APM - Part 1 - UpdateSingleSource. r=pehrsons This part is about setting on/off audio processing feature. It's long, but it's mostly mechanichal changes, from the old API to the new one. This also covers reseting the processing in case of device changes (with macros). MozReview-Commit-ID: EI2TxHRicEr
a781b123b252b464f805674144cc01d9dd69c391: Bug 1397793 - Remove VoEExternalMedia usage in MediaEngineWebRTCAudio and MediaEngineWebRTC. r=pehrsons
Paul Adenot <paul@paul.cx> - Tue, 31 Oct 2017 18:11:48 +0100 - rev 395261
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Remove VoEExternalMedia usage in MediaEngineWebRTCAudio and MediaEngineWebRTC. r=pehrsons This needs the next patches to build fine, but is split out for the review. A side effect of this patch is to break non-duplex, making the whole init/cleanup phase much simpler. MozReview-Commit-ID: Caqc8v7CWwZ
bf8977e0f440c0280da32a7052214834dc6701ca: Bug 1397793 - Move MediaEngineDefault to use the MSG rate instead of something hard-coded. r=pehrsons
Paul Adenot <paul@paul.cx> - Tue, 31 Oct 2017 17:43:10 +0100 - rev 395260
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Move MediaEngineDefault to use the MSG rate instead of something hard-coded. r=pehrsons This is "just" for testing, but is cleaner, and skips some resampling, and is in line with the other patches, to converge with always using MSG rate when we can. MozReview-Commit-ID: CBQHEDQWJE3
e92ff1339db1ca5affa56ccdbec1c8b3836bcd95: Bug 1397793 - Revert Mozilla changes to OutputMixer r=jesup
Paul Adenot <paul@paul.cx> - Tue, 31 Oct 2017 17:40:19 +0100 - rev 395259
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Revert Mozilla changes to OutputMixer r=jesup The MSG provides the reverse stream, and feed it directly to the APM. MozReview-Commit-ID: A6DO407CJkp
9e92591ba6dcb18364da98756c645c91bfe81517: Bug 1397793 - Move away from VoEExternalMedia "external" API in AudioConduit.cpp. r=dminor
Paul Adenot <paul@paul.cx> - Tue, 31 Oct 2017 17:33:42 +0100 - rev 395258
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Move away from VoEExternalMedia "external" API in AudioConduit.cpp. r=dminor This forces us to do a copy. It's not the end of the world but could be avoided. The number of channels received is now explicit (via `AudioFrame::num_channels_`), instead of being guessed based on the number of samples (considering we're always dealing with 10ms of audio, and we know the rate). It's still coupled a bit with audio devices, but we cheat, and use a "fake audio device", which isn't going to touch actual OS APIs. MozReview-Commit-ID: 1Tfajkv1HQR
a3d9aa2649b95329d0cf686d79aa5179e9f3506d: Bug 1397793 - Use the MSG rate in MediaPipeline/PeerConnectionImpl. r=pehrsons
Paul Adenot <paul@paul.cx> - Tue, 31 Oct 2017 17:24:26 +0100 - rev 395257
Push 98042 by paul@paul.cx at Wed, 06 Dec 2017 13:35:12 +0000
Bug 1397793 - Use the MSG rate in MediaPipeline/PeerConnectionImpl. r=pehrsons We used to fix the rate, arbitrarily, to 32kHz. Because the graph is almost never running at 32kHz (more like 44.1kHz or 48kHz), and the codec would often not be at 32kHz, this meant multiple resampling: - Once here, in MediaPipeline, to bring to 32kHz - Once when getting inserted in the MSG (so that the audio was brought back to MSG rate) - Maybe once in cubeb (depending on the platform) This always removes the second resampling: the track is now at the correct rate, as far as the MSG is concerned. Additionally, if the MSG is running at 48kHz, more resampling are saved, because it's one of the native webrtc.org rates. MozReview-Commit-ID: DBWcwuWxUpu
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip