This was originally meant to allow `virtualenv`s to use packages from a parent Python environment without having to re-install them. This turned out to not pan out as we would have liked, so we're going another way to solve the same problem. Bug 1660351 walked back a bunch of this logic; this patch deletes the rest of it.
Differential Revision: https://phabricator.services.mozilla.com/D89492
Without setting this variable, the call to `mach python` in `taskcluster/scripts/builder/build-linux.sh` will create a `virtualenv` in the default location -- on Linux in CI, that's `obj-x86_64-pc-linux-gnu`. Everything else about the build is going to end up in `obj-build`, so just set `MOZ_OBJDIR` appropriately to point to that directory.
Doing so enables us to land bug 1663755, as it causes the logic added to `symbols_archive.py` as part of bug 1654994 to behave as expected.
Differential Revision: https://phabricator.services.mozilla.com/D89975
This also doubles the memory we allocate for DEVMODEs, when that value has been
returned from the other uses of DocumentProperties, because apparently some
drivers do not return the correct size.
Differential Revision: https://phabricator.services.mozilla.com/D90251
It seems on OSX the default is somehow not zero. This matches
equivalent code for regular paged reftests in
layout/tools/reftest/reftest-content.js
MANUAL PUSH: Orange fix
CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D90280
This patch simplifies the logic by reducing the number of paths, from two to
one method that changes the correction. This method now weighs the calculated
correction by 60% and the previous correction by 40% when setting the new value,
to provide a negative feedback loop that stabilizes around the desired amount of
buffering.
This leads to a smoother output with less noticable changes in the correction
value, while still reaching the desired amount of buffering quickly.
Tests are updated with new expectations accordingly.
Differential Revision: https://phabricator.services.mozilla.com/D89776
The removed logic complicates tests, as the correction code does not always
strive to reach the desired buffering level. If the changes are small enough the
buffer continues to shrink or grow until we get close to the edge and then a
much more abrupt correction change is applied, something noticable by ear.
Differential Revision: https://phabricator.services.mozilla.com/D89775
With this patch, there is a fake audio thread present on a MockCubeb context as
soon as one MockCubebStream is running under that context. When the last running
MockCubebStream is stopped, the fake audio thread is joined and unset.
This adds a tad bit of complexity but results in zero unwanted drift between
MockCubebStreams under the same MockCubeb context. This is essential for stable
CrossGraphTrack tests.
A side effect of this is that the drift factor of a MockCubebStream does not
affect the interval at which data is processed, but rather the amount of data
processed each interval.
This patch also allows us to process data with virtually no wait time between
iterations (as opposed to wall-time 10ms-waits), for (much) speedier tests.
Differential Revision: https://phabricator.services.mozilla.com/D89772
The resampled source clock can become negative with a large desired buffer and
a small current buffer. This patch clamps it above 1 so we never drift-correct
in the wrong direction.
Differential Revision: https://phabricator.services.mozilla.com/D89765
Without this patch we return 0, and that can be misinterpreted by
AudioDriftCorrection so it thinks we have drifted a lot. This becomes more
obvious with a large desired buffer.
Differential Revision: https://phabricator.services.mozilla.com/D89759
This patch lets us pass in a drift factor to allow for testing of the drift
correction code. It also enables output verification for the CrossGraph tests.
Differential Revision: https://phabricator.services.mozilla.com/D89756
In a CrossGraphReceiver there is 100ms worth of buffering in AudioChunks.
Without this patch the graph will buffer 2400 frames in each track before
removing data from them. If a graph contains a CrossGraphReceiver and runs at a
sample rate lower than 24000Hz, that CrossGraphReceiver will run out of chunks
and an assertion failure happens at best.
Differential Revision: https://phabricator.services.mozilla.com/D89755
Because an audio driver starts out with its fallback driver running the graph,
we might use unnecessary amounts of silence for the verification. Especially
with the `GoFaster()` mode turned on, as the fallback driver's thread runs
rarely compared to how often we are feeding the graph audio data from the
MockCubebStream.
Differential Revision: https://phabricator.services.mozilla.com/D89753