In order to encode video frame, we have to convert `webrtc::VideoFrame` to gecko's video data, and then send this YUV-based video data to the encoder.
The encoder won't return an encoded frame everytime when we call its `encode()`, so we have to wait until there are valid samples added to `mEncodedFrames`.
Then, convert the `MediaRawData` to `webrtc::EncodedImage` and provide an NAL entries list to indicate where the NALs are in the encoded bytes stream and how large they are. We would send those data back
to the consumer of the encoder via calling a callback function `OnEncodedImage()`.
Differential Revision: https://phabricator.services.mozilla.com/D40532
--HG--
extra : moz-landing-system : lando
`RefCountedWebrtcVideoEncoder` is a generic interface which supports refcounting, using that can ensure the encoder is always alive even if using it in an async task.
So now both `WebrtcGmpVideoEncoder` and `WebrtcMediaDataEncoder` would inherit from `RefCountedWebrtcVideoEncoder`.
We can use `WebrtcVideoEncoderProxy` to wrap them and return `WebrtcVideoEncoderProxy` for the use in the WebRTC pineline.
Differential Revision: https://phabricator.services.mozilla.com/D41855
--HG--
extra : moz-landing-system : lando
In this patch, we implement how to create a platform encoder, init an encoder and release it when we don't need it anymore.
In addition, as the encoder factory only supports h264 for now, so all configuration related to encoder would be h264 specific.
Differential Revision: https://phabricator.services.mozilla.com/D40531
--HG--
extra : moz-landing-system : lando
Implement a basic interface for `WebrtcMediaDataEncoder`, which will only be used on OSX for encoding h264 only.
Differential Revision: https://phabricator.services.mozilla.com/D40529
--HG--
extra : moz-landing-system : lando
In the old way, if referrer is ommited we will not be able to go to
download page. In that case, we should use originalReferrer in
ReferrerInfo object
Differential Revision: https://phabricator.services.mozilla.com/D39875
--HG--
extra : moz-landing-system : lando
Optional summary provides a convenient synopsis of matching tests. filter-values regex
was requested for in bug 1568638, like --filter-values='(?<!!)fission'.
Differential Revision: https://phabricator.services.mozilla.com/D42570
--HG--
extra : moz-landing-system : lando
An absent name and an empty string as the inferred name are now
indistinguishable, so we can remove the special case for empty strings in
ObjectEmitter.
Depends on D42154
Differential Revision: https://phabricator.services.mozilla.com/D42155
--HG--
extra : source : 9d1a72c0bb0cb0f3350302187bd68ee013640d7a
Default the "name" property of anonymous class expressions to the empty string
by removing the special case in `JSFunction::infallibleGetUnresolvedName()`.
With that change applied, `infallibleGetUnresolvedName()` never returns nullptr,
so we can remove nullptr handling in its callers. And additionally
`JSFunction::getUnresolvedName()` can be changed back to use `MutableHandleValue`
as its parameter, which also (re-)aligns the function with `getUnresolvedLength()`.
Depends on D42153
Differential Revision: https://phabricator.services.mozilla.com/D42154
--HG--
extra : source : 721c8caa85e358e4ecc7943a30a9f9fda20cd753
This test runs on a cross-process iframe, so some code has to get
moved into a call to SpecialPowers.spawn().
Differential Revision: https://phabricator.services.mozilla.com/D42387
--HG--
extra : moz-landing-system : lando
An absent name and an empty string as the inferred name are now
indistinguishable, so we can remove the special case for empty strings in
ObjectEmitter.
Depends on D42154
Differential Revision: https://phabricator.services.mozilla.com/D42155
--HG--
extra : moz-landing-system : lando
Default the "name" property of anonymous class expressions to the empty string
by removing the special case in `JSFunction::infallibleGetUnresolvedName()`.
With that change applied, `infallibleGetUnresolvedName()` never returns nullptr,
so we can remove nullptr handling in its callers. And additionally
`JSFunction::getUnresolvedName()` can be changed back to use `MutableHandleValue`
as its parameter, which also (re-)aligns the function with `getUnresolvedLength()`.
Depends on D42153
Differential Revision: https://phabricator.services.mozilla.com/D42154
--HG--
extra : moz-landing-system : lando
Update test262 to get the changes from <https://github.com/tc39/test262/pull/2299>.
Differential Revision: https://phabricator.services.mozilla.com/D42158
--HG--
rename : js/src/tests/test262/language/statements/class/elements/prviate-accessor-is-visible-in-computed-properties.js => js/src/tests/test262/language/statements/class/elements/private-accessor-is-visible-in-computed-properties.js
rename : js/src/tests/test262/language/statements/class/elements/prviate-method-is-visible-in-computed-properties.js => js/src/tests/test262/language/statements/class/elements/private-method-is-visible-in-computed-properties.js
extra : moz-landing-system : lando
The patch for [Bug 1559796](https://bugzilla.mozilla.org/show_bug.cgi?id=1559796) has changed the computed value for the default `circle()` basic shape (no coordinates). It now reflects the approach used with default `ellipse()` basic shape (no coordinates), thus addressing the issue with inconsistency raised in Bug 1521508.
The change means the Shape Path Editor's parsing of `circle()` and `ellipse()` need to account for the missing "closest-side" default radius. This patch addresses this need and introduces a test to check whether the Shape Path Editor successfully triggers for basic shapes with default values.
Differential Revision: https://phabricator.services.mozilla.com/D42639
--HG--
extra : moz-landing-system : lando