FFVPXRuntimeLinker could not handle file paths that contain characters outside the current system code page on Windows. This patch will fix it by using wide char APIs.
MozReview-Commit-ID: 9ES1xFELjDs
--HG--
extra : rebase_source : 4bdc082bd6db9263b41fe74d524e0a4d98802ea8
extra : intermediate-source : 8afa22df3893c678884e3a0811fb6c82790c1a3c
extra : source : c6f916a967a78e176bdb699a85e194bbdc372bce
If a camera returns no capabilities we interpret it as it being able to handle
any capability we throw at it. However, we also end up trying to start it with
the default capability of 0x0@0. This often works, but we can crash when
rescaling it to the chosen target capability 0x0@0.
With this patch we inject up to two default capabilities, one at 640x480@30 and
one at 1280x720@30. With constraints present we'll try to adjust these defaults
so they fit within the constraints while at the same time preserve the
aspect ratio given by prefs.
MozReview-Commit-ID: 3mr7Li5TTbV
--HG--
extra : rebase_source : c525c2fd8d60f5dece548216caefc4976e9afb0b
This will lead to less ipc calls, hopefully speeding up getUserMedia for many
devices.
This also lets us inject any hardcoded capabilities into the candidateSet in
the future (read: next patch).
MozReview-Commit-ID: HjIhRK1nVA1
--HG--
extra : rebase_source : f58e16c45f7bd6738ce0a0527dc86854f804bc7b
Remove references to the mp4parse_log() method which was
removed in this release. Instead we default to the logging
implementation provided by libgkrust.
MozReview-Commit-ID: KKzeEcB5UiP
--HG--
extra : rebase_source : 2777f13a006c09afb82772475d25245b2752524c
The change to RootAccessible.cpp fixes an obvious bug introduced in bug 741707.
The visibility changes in gfx/thebes are because NS_DECL_ISUPPORTS has a
trailing "public:" that those classes were relying on to have public
constructors.
MozReview-Commit-ID: IeB8KIJCGhU
There are a few different reasons why tests needed updating (not an exhaustive list):
- Tests assume that successive operations take place at different times.
- Tests assume that an operation took a minimum amount of time.
- Tests hardcodes a specific delay.
In most cases we hardcode the preference off. In some cases this is the best approach,
in others, we would like to improve. The bug for tracking those improvements is Bug 1429648
An improvement that is present in some tests is to hardcode a specific precision reduction
that is acceptable based on the confides of the test. (Obviously this needs to be a fix for
the test framework and not a requirement on the feature being tested.)
In a few places, the test itself can be fixed, for example to no longer require the end
time of an operation to be strictly greater than the start time, and allows it to be equal
to it.
MozReview-Commit-ID: J59c7xQtZZJ
--HG--
extra : rebase_source : df8a03e76eaf9cdc9524dbb3eb9035af237e534b
It seems reasonable to assume that when a page has been granted permission
to capture camera/microphone, the user intends it to play audible media.
MozReview-Commit-ID: 1RdsPK1vRPt
--HG--
extra : rebase_source : 688b68c29d73f117a2cc376233d664bc9cdb5d52
Not all devices have capabilities. Our code is already setup to handle that
case by defaulting to a capability with width,height,maxFPS=0 and propagating
the failure to start.
MozReview-Commit-ID: AZJKZeBrYC2
--HG--
extra : rebase_source : f1030fc97416f9b3b8e363edcbf440f6f250c749
Getting zeroes here is rare, but the numbers come from a platform API so no
guarantees are given for them. This patch makes it as permissive as possible.
MozReview-Commit-ID: 2bjPRzhk1L7
--HG--
extra : rebase_source : 0a3bf122f79d4ff69c0d471dde32d5865edbfce5
Usually, mShouldFallbackIfError has been reset to false in DataCallback()
before Stop() is called. However, if fallback to a system clock driver due to
cubeb error had already occurred, then mShouldFallbackIfError would not have
been reset, and Stop() is still called. With mShouldFallbackIfError still
true, a cubeb error in stop would have created another fallback thread.
I expect that resetting mShouldFallbackIfError in Stop() would also be an
effective alternative solution, but resetting on StateCallback() happens
earlier, which would be an advantage if any additional errors could possibly
be reported to StateCallback().
MozReview-Commit-ID: E9j7PQmS3O4
--HG--
extra : rebase_source : 200993c9e99475101c429005cfadb7260df29067
This adds back the `framerate` update that was removed in bug 1299515.
It also fixes a threading issue (not really an issue, but it broke the
documented policy) where Start() wrote to mCapability without holding mMutex.
MozReview-Commit-ID: Jda5moNhlkM
--HG--
extra : rebase_source : a8f27f064b9f818eb29aa72a18605786c474631b
Most importantly, this reduces the number of copies to 1 in the common case.
In a case where we are rescaling because there are competing gUM requests
this does two copies, where one is the crop-and-scale operation itself.
In the worst case we do two allocations, but with a buffer pool and a recycling
ImageContainer we allocate very rarely in practice.
MozReview-Commit-ID: B0Et4wZol9n
--HG--
extra : rebase_source : e0950a53278336773570c9e989a21392195f8898
This patch was autogenerated by my decomponents.py
It covers almost every file with the extension js, jsm, html, py,
xhtml, or xul.
It removes blank lines after removed lines, when the removed lines are
preceded by either blank lines or the start of a new block. The "start
of a new block" is defined fairly hackily: either the line starts with
//, ends with */, ends with {, <![CDATA[, """ or '''. The first two
cover comments, the third one covers JS, the fourth covers JS embedded
in XUL, and the final two cover JS embedded in Python. This also
applies if the removed line was the first line of the file.
It covers the pattern matching cases like "var {classes: Cc,
interfaces: Ci, utils: Cu, results: Cr} = Components;". It'll remove
the entire thing if they are all either Ci, Cr, Cc or Cu, or it will
remove the appropriate ones and leave the residue behind. If there's
only one behind, then it will turn it into a normal, non-pattern
matching variable definition. (For instance, "const { classes: Cc,
Constructor: CC, interfaces: Ci, utils: Cu } = Components" becomes
"const CC = Components.Constructor".)
MozReview-Commit-ID: DeSHcClQ7cG
--HG--
extra : rebase_source : d9c41878036c1ef7766ef5e91a7005025bc1d72b
Before bug 1299515 we assigned stream and track id in Allocate(), meaning that
any Deallocate() had a guarantee of them being set.
This changed to require an extra step of SetTrack() to assign stream and
track id. Deallocate() needs to handle this, which it does with this patch.
MozReview-Commit-ID: Js0cXXOR2Bb
--HG--
extra : rebase_source : f90dc1345ae0c034d2237d771630055729180df4
- add new component_id field to NrIceCandidatePair
- add the candidate pair component_id to RTCIceCandidatePairStats in
RecordIceStats_s
- add new column in ice stats table for component id
- sort ice stats by component id first
MozReview-Commit-ID: J89ZIYEUyRk
--HG--
extra : rebase_source : 681a5afa1303b4e377fcc14d099ce0b3d852f22c