Despite wording of the documentation to the contrary, we can't provide a static pointer to an immutable object.
Apparently, it's always been that way.
Differential Revision: https://phabricator.services.mozilla.com/D4323
--HG--
extra : moz-landing-system : lando
We rename a method in FrameStatistics to better match what it's actually doing.
Differential Revision: https://phabricator.services.mozilla.com/D4213
--HG--
extra : moz-landing-system : lando
We rename a method in FrameStatistics to better match what it's actually doing.
Differential Revision: https://phabricator.services.mozilla.com/D4213
--HG--
extra : moz-landing-system : lando
We rename a method in FrameStatistics to better match what it's actually doing.
Differential Revision: https://phabricator.services.mozilla.com/D4213
--HG--
extra : moz-landing-system : lando
In order to allow JS callers to use nsISimpleEnumerator instances with the JS
iteration protocol, we'll need to additional methods to every instance. Since
we currently have a large number of unrelated implementations, it would be
best if they could share the same implementation for the JS portion of the
protocol.
This patch adds a stub nsSimpleEnumerator base class, and updates all existing
implementations to inherit from it. A follow-up will add a new base interface
to this class, and implement the additional functionality required for JS
iteration.
Differential Revision: https://phabricator.services.mozilla.com/D3725
--HG--
extra : rebase_source : ad66d7b266856d5a750c772e4710679fab9434b1
extra : histedit_source : a83ebffbf2f0b191ba7de9007f73def6b9a955b8
We would allow media without audio track to autoplay after it had loaded the metadata.
If media hasn't loaded metadata yet, we would treat it as audible media and then block it.
Differential Revision: https://phabricator.services.mozilla.com/D3670
--HG--
extra : moz-landing-system : lando
We would allow media without audio track to autoplay after it had loaded the metadata.
If media hasn't loaded metadata yet, we would treat it as audible media and then block it.
Differential Revision: https://phabricator.services.mozilla.com/D3670
--HG--
extra : moz-landing-system : lando
We report the number of frames dropped by the compositor because they were too late through:
ImageComposite -> ImageHost -> CompositableTransactionParent -> ImageBridgeParent -> IPDL -> ImageBridgeChild -> ImageContainerListener -> ImageContainer -> VideoSink
Differential Revision: https://phabricator.services.mozilla.com/D2177
These stopped having any effect when we switched to ChromeUtils.generateQI,
which does not support automatic nsIClassInfo forwarding.
Differential Revision: https://phabricator.services.mozilla.com/D3707
--HG--
extra : rebase_source : 62a3690304ad7baa760c41eba777aa17b9af33f0
A mDisplay vs mImage mixup. We also set both values in CreateTrackInfoWithMIMETypeAndContainerTypeExtraParameters to prevent similar issues in the future.
Differential Revision: https://phabricator.services.mozilla.com/D3788
--HG--
extra : moz-landing-system : lando
This ensures on platform that requires it, that only a single decoder at a time are used, in effect serialising all the MediaCapabilities.decodingInfo requests.
Differential Revision: https://phabricator.services.mozilla.com/D3679
This method will allocate a decoder according to the GlobalAllocPolicy. On Android API 18 and lower, there can only be a single decoder created at a time. The promise returned by CreateDecoder will only be resolved once the allocation policy permits a new decoder to be created.
Differential Revision: https://phabricator.services.mozilla.com/D3678
We extract the GlobalAllocationPolicy and the MediaDataDecoder wrapper from MediaFormatReader.
They will be used to create a new wrapping class that will serialize allocation and initalization of decoders if the platform requires it.
Differential Revision: https://phabricator.services.mozilla.com/D3676
Bug 1481139 - p1: handle invalid file descriptors.
Bug 1481139 - p2: add dummy fds for GMP process.
Two file descriptors were added in bug 1438678 and 1471025 for content/child
process but not GMP process, and it breaks the IPC channel on Android.
Add dummy values to make it work for now before bug 1440207 clean up the mess.
Differential Revision: https://phabricator.services.mozilla.com/D3541
--HG--
extra : moz-landing-system : lando
This initial implementation does twice the necessary processing for mono input,
but that will be addressed in bug 1474222.
MozReview-Commit-ID: AZQ7Zb8jEtK
--HG--
extra : rebase_source : 9feeb254217dc4e14b78cb03315fb948e3477a16
This prevents XBL binding from being attached, and create the Shadow Root to
host controls to be created by the script.
Shadow Root and the JS controls are lazily constructed when the controls
attribute is set.
Set nsVideoFrame as dynamic-leaf so it will ignore content child frames when
the controls are XBL anonymous content, and handles child frames from controls
in the Shadow DOM. The content nodes are still ignored since there is no
<slot>s in our Shadow DOM.
MozReview-Commit-ID: 3hk41iMa07n
--HG--
extra : rebase_source : f6f8a3facc9d83f5626cf5f3b4e3fa27438a8a8f
We do not perform any channels placement, instead we leave the channels in the order they come in.
Add corresponding tests.
Differential Revision: https://phabricator.services.mozilla.com/D3153
These are derived from single precision AudioParam values
and so there is little to gain from using double.
double has the disadvantage that values intended to be integer
frame counts are less likely to be integer. e.g.
(rr) print ((float)(128.0/48000.0))*48000.f
$91 = 128
(rr) print ((float)(128.0/48000.0))*48000.0
$92 = 127.99999862909317
(rr) print ((float)(128.0/44100.0))*44100.f
$93 = 128
(rr) print ((float)(128.0/44100.0))*44100.0
$94 = 127.99999765120447
(rr) print ((float)(768.0/48000.0))*48000.f
$95 = 768.000061
(rr) print ((float)(768.0/48000.0))*48000.0
$96 = 768.0000364780426
(rr) print ((float)(768.0/44100.0))*44100.f
$97 = 768
(rr) print ((float)(768.0/44100.0))*44100.0
$98 = 768.00002697855234
MozReview-Commit-ID: FlmZJeBjUYY
--HG--
extra : rebase_source : 5c4f4a68383468c6afd15de43526eae42b01154b
When maxDelay was mMaxDelayTicks and these were an integer multiple of block
size, the +1 for determining oldestChunk was enough to wrap around the buffer
and find the most recent chunk, which may have a different channel count to
that of the oldest.
MozReview-Commit-ID: KakFeGzuvsW
--HG--
extra : rebase_source : 51c2ab1dffb7ffa9e941b06e379eacacfaa6904a