Commit Graph

16009 Commits

Author SHA1 Message Date
Dan Minor
70005885cc Bug 1554976 - Disable host address obfuscation for simulated NAT mochitests; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38497

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:35 +00:00
Dan Minor
2da923ff0b Bug 1554976 - Add plumbing to enable/disable host address obfuscation; r=mjf
This only enables mDNS on OS X for now. Some versions of Windows lack mDNS
support, there are some oddities with resolving IPv6 addresses on Linux, and
Android has not yet been tested. All of these will be addressed in follow on
bugs.

Differential Revision: https://phabricator.services.mozilla.com/D38496

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:33 +00:00
Dan Minor
717793ab02 Bug 1554976 - Copy actual address to CandidateInfo in MediaTransportHandler; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38494

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:20 +00:00
Andreas Pehrson
680502c0ac Bug 1572858 - Tighten MSG::AddStream assert. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D43596

--HG--
extra : moz-landing-system : lando
2019-08-27 22:56:49 +00:00
Andreas Pehrson
0005a9e68a Bug 1571667 - Lift constraint checking of deviceId and groupId out of MediaEngineSources. r=jib
Before this patch, it was unclear who was responsible for checking deviceId and
groupId constraints for devices. MediaManager was doing it through one path for
getUserMedia, with the help of the devices, as part of selecting the
best-fitting device. However, Reconfigure() took another path where the regular
backends for camera and microphone were implemented correctly, but fake devices
were left out so automated tests for applyConstraints were failing.

This patch lifts the responsibility for checking deviceId and groupId
constraints out of the MediaEngineSources into MediaDevice, which already is the
owner of the anonymized ids that MediaEngineSources are unaware of.
This makes constraints checking a two-staged approached where deviceId and
groupid goes first. If they satisfy the constraints, the underlying device is
queried for whether the constraints fit.

As a bonus, this unclutters a lot of the MediaEngineSource interface.

Differential Revision: https://phabricator.services.mozilla.com/D40834

--HG--
extra : moz-landing-system : lando
2019-08-28 08:39:57 +00:00
Andreas Pehrson
b150866dce Bug 1571667 - Memoize capabilities in MediaEngineRemoteVideoSource. r=jib,dminor
Differential Revision: https://phabricator.services.mozilla.com/D41241

--HG--
extra : moz-landing-system : lando
2019-08-28 08:39:50 +00:00
fbcbb8bd8b Bug 1573381 - "gtest MediaMIMETypes.MediaCodecs fails: Bug in MediaCodecs::ContainsPrefix()". r=bvandyk
--HG--
extra : rebase_source : d27b22af894d26dd7c46f90e6e83c831c54e3985
2019-08-13 00:50:00 +03:00
Andreas Pehrson
a6e5ed4ab7 Bug 1573536 - Allow gUM with audio:{mediaSource:audioCapture} and video:true simultaneously. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D42531

--HG--
extra : moz-landing-system : lando
2019-08-26 14:54:22 +00:00
Andreas Pehrson
b0320d7a8a Bug 1573536 - Add crashtest. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D42530

--HG--
extra : moz-landing-system : lando
2019-08-27 07:36:40 +00:00
alwu
c5413ef080 Bug 1572939 - part2 : remove editable content tests. r=masayuki
As we will allow user inputs on editable content to activate document, we should remove them from black list test.

Differential Revision: https://phabricator.services.mozilla.com/D43533

--HG--
extra : moz-landing-system : lando
2019-08-27 04:46:13 +00:00
Chun-Min Chang
ce631c35ff Bug 1523920 - P4: Move the state from SpeechSynthesisUtterance to nsSpeechTask. r=eeejay
It would be easier to reuse the utterance if it's stateless. The state
could still be tracked by moving from SpeechSynthesisUtterance to
nsSpeechTask, which is the place to change the state in original
implementation. By removing state in utterance, we don't need to check
the state of utterance when it's pushed into the speech queue.

Differential Revision: https://phabricator.services.mozilla.com/D35464

--HG--
extra : moz-landing-system : lando
2019-08-21 20:37:02 +00:00
Chun-Min Chang
a6590ebebf Bug 1523920 - P2: Destroy AudioChannelAgent when error occurs. r=eeejay
When error occurs, there is no need to use audio.

Differential Revision: https://phabricator.services.mozilla.com/D35462

--HG--
extra : moz-landing-system : lando
2019-08-21 20:11:27 +00:00
Chun-Min Chang
cd92fea69f Bug 1523920 - P1: Align the LOG policy in the nsSpeechTask. r=eeejay
All the LOG are placed in Dispatch*Impl except DispatchErrorImpl. Move
the LOG from DispatchError to DispatchErrorImpl to align the LOG policy
in the nsSpeechTask.

Differential Revision: https://phabricator.services.mozilla.com/D35461

--HG--
extra : moz-landing-system : lando
2019-08-21 20:11:17 +00:00
Andreas Pehrson
3321f57840 Bug 1573524 - In MediaRecorder::MediaStreamReady, get the graph rate from a track that's guaranteed live. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D42525

--HG--
extra : moz-landing-system : lando
2019-08-26 07:48:23 +00:00
Csoregi Natalia
77448b7aee Bug 1554808 - Disabled test_streams_element_capture.html on all platforms. r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D43235

--HG--
extra : moz-landing-system : lando
2019-08-23 17:56:52 +00:00
Gerald Squelart
e46f3b6c3a Bug 1571648 - Only allow DecoderDoctorLogger on Nightly - r=drno
Differential Revision: https://phabricator.services.mozilla.com/D43228

--HG--
extra : moz-landing-system : lando
2019-08-23 20:06:33 +00:00
Kashav Madan
508a24d1a6 Bug 1562264 - Update skip-if annotations, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D41763

--HG--
extra : moz-landing-system : lando
2019-08-23 16:05:08 +00:00
Christian Holler
a5c67a2bba Bug 1567170 - Avoid thread leak in media fuzzing target. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D41719

--HG--
extra : moz-landing-system : lando
2019-08-22 10:29:29 +00:00
Andrew McCreight
62bd52a17f Bug 1575343, part 1 - Avoid a gratuitous string copy by calling the nsAString overload of GetCallingLocation. r=smaug
The nsAString overload of GetCallingLocation directly converts the
original source file name string into an nsAString. A number of
callers that want the source file name in an nsAString are calling the
nsACString overload of GetCallingLocation, then calling
NS_ConvertUTF8toUTF16. This results in an extra intermediate copy of
the original string data.

Differential Revision: https://phabricator.services.mozilla.com/D42727

--HG--
extra : moz-landing-system : lando
2019-08-20 22:53:49 +00:00
Ryan Alderete
4b595ec1a8 Bug 1570158 - Add proxy information to candidates table in about:webrtc r=bwc,baku
This adds a field to about:webrtc which indicates whether an associated
candidate is behind a proxy or not.

Differential Revision: https://phabricator.services.mozilla.com/D39974

--HG--
extra : moz-landing-system : lando
2019-08-21 10:04:45 +00:00
Alastor Wu
2e47becfef Bug 1571908 - part6 : add debug logs. r=heycam
Add debug logs to show which mode we're using to adjust cue's position.

Differential Revision: https://phabricator.services.mozilla.com/D42434

--HG--
extra : moz-landing-system : lando
2019-08-21 07:10:27 +00:00
Alastor Wu
b43ac32ce9 Bug 1571908 - part4 : remove redudant function. r=heycam
We have already had a exactly same function, so can remove a redundant one.

Differential Revision: https://phabricator.services.mozilla.com/D41132

--HG--
extra : moz-landing-system : lando
2019-08-21 07:10:26 +00:00
Alastor Wu
139cf6cc13 Bug 1571908 - part3 : optimize the result of adjusting position for cues with 'snapToLines=false'. r=heycam
When adjusting cues with `snapToLines=false`, first we would generate an array with all different axises which we would use to move cue on the specific direction.

However, for the different writing directions, we should have different priority for the moving directions.
For example, if the wriring direction is `horizontal`, which means cues will grow from the top to the bottom, then moving cues along the `y` axis should be more important than moving cues along the `x` axis, and vice versa for those cues growing from the left to right, or from the right to the left.

After decided the moving direction, then we have to decide the moving offset. Now we use line box's Bsize as a basic moving unit.

Moving cues, however, by such as large distance as a time would cause too many redudant space between cue boxes, which doesn't provide a good enough visual arrangement result. Therefore, we divide the Bsize by a factor, which can control the granularity of the moving unit and can still preverse a reasonable space between boxes. That can provide way better visual result than the one we had used before, and still has certain good performance comparing with moving 1px at a time.

Differential Revision: https://phabricator.services.mozilla.com/D41131

--HG--
extra : moz-landing-system : lando
2019-08-21 07:10:26 +00:00
Alastor Wu
f5fee479ba Bug 1571908 - part2 : return null if we can't place the cue box inside the video rendering area. r=heycam
When adjusting the position of the cue box, if we can't find a proper place to display the cue within the video rendering area, we should return `null` and not to show it on the screen.

Differential Revision: https://phabricator.services.mozilla.com/D40901

--HG--
extra : moz-landing-system : lando
2019-08-21 07:10:25 +00:00
Alastor Wu
80cb50a3a9 Bug 1571908 - part1 : use correct width and height to compute position percentage. r=heycam
When calculating position percentage, `top` should divide the height of the video rendering area, and `left` should divide the width of the video rendering area.

Differential Revision: https://phabricator.services.mozilla.com/D40900

--HG--
extra : moz-landing-system : lando
2019-08-21 07:10:31 +00:00
Alastor Wu
9bd4a96457 Bug 1568101 - part5 : implement encoding. r=jolin,jya
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
2019-08-20 07:41:33 +00:00
Alastor Wu
9fd259ee61 Bug 1568101 - part1 : implement a basic interface for WebrtcMediaDataEncoderCodec. r=jolin
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
2019-08-09 20:58:06 +00:00
John Lin
81f1bc6269 Bug 1571127 - p2: enhance unit test. r=jya
- animating input
- minor code cleanup

Differential Revision: https://phabricator.services.mozilla.com/D41108

--HG--
extra : moz-landing-system : lando
2019-08-19 16:50:19 +00:00
John Lin
0951fc6fdd Bug 1571127 - p1: retain input image until CVPixelBuffer is released. r=jya
Input could be released during encoding if not retained.

Differential Revision: https://phabricator.services.mozilla.com/D41107

--HG--
extra : moz-landing-system : lando
2019-08-20 12:27:12 +00:00
Bryce Seager van Dyk
6becef12e3 Bug 1571081 - Make MediaKeys correctly specify a NS_INTERFACE_MAP_ENTRY for nsISupports. r=mccr8
Bug 1522547 overlooked the need for specifying map entries for both nsISupports
and nsIDocumentActivity and only had the latter. This changeset adds the missing
nsISupports case.

Differential Revision: https://phabricator.services.mozilla.com/D42563

--HG--
extra : moz-landing-system : lando
2019-08-19 21:45:41 +00:00
Mike Hommey
0058f2a284 Bug 1531309 - Don't use __PRETTY_FUNCTION__ or __FUNCTION__ as format strings. r=sylvestre
__PRETTY_FUNCTION__ and __FUNCTION__ are not guaranteed to be a string
literal, and only string literals should be used as format strings. GCC
9 complains about this with -Werror=format-security.

Differential Revision: https://phabricator.services.mozilla.com/D42459

--HG--
extra : moz-landing-system : lando
2019-08-19 07:49:00 +00:00
Andreas Pehrson
735f1e66eb Bug 1571705 - Allow allocating an input port from a destroyed source. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D42341

--HG--
extra : moz-landing-system : lando
2019-08-19 16:53:44 +00:00
Andreas Pehrson
49244b4fad Bug 1571705 - Clarify mInputStream guarantees in MediaStreamTrack. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D41508

--HG--
extra : moz-landing-system : lando
2019-08-19 19:26:25 +00:00
Ciure Andrei
2443b6b31a Backed out 2 changesets (bug 1571705) for causing liux debug gtest asertion failures CLOSED TREE
Backed out changeset 3d33cae2d9f9 (bug 1571705)
Backed out changeset decff7a230b7 (bug 1571705)
2019-08-19 19:48:25 +03:00
Bryce Seager van Dyk
6924e0a5d3 Bug 1573976 - Undef Status in GMPMessageUtils to avoid bustages in Linux unified build. r=dminor
If Status is defined (X11 headers define it as int), it ends up busting the
Status enum used in the Widevine headers. Avoid this by undeffing it before
including headers.

Differential Revision: https://phabricator.services.mozilla.com/D42335

--HG--
extra : moz-landing-system : lando
2019-08-16 17:28:09 +00:00
Bryce Seager van Dyk
f695322b92 Bug 1573976 - Update hdcp version strings used in GetStatusForPolicy. r=dminor,alwu
These strings are detailed at
https://github.com/WICG/hdcp-detection/blob/master/explainer.md, and were
changed since the original implementation of this feature.

Differential Revision: https://phabricator.services.mozilla.com/D42062

--HG--
extra : moz-landing-system : lando
2019-08-16 17:17:32 +00:00
Bryce Seager van Dyk
b692482432 Bug 1573976 - Fix GetStatusForPolicy handling of unrecognized values. r=dminor,alwu
GetStatusPolicy should not treat unrecognized values as if they were no hdcp
policy. A trivial example is that if we do not recognize a newer hdcp string,
say "2.3", then we should not query if the CDM supports this policy as if it
were no hdcp.

This patch means that we surface and error to JS if we do no recognize an hdcp
string.

Differential Revision: https://phabricator.services.mozilla.com/D42061

--HG--
extra : moz-landing-system : lando
2019-08-16 17:47:21 +00:00
Andreas Pehrson
7f846ebc2b Bug 1571705 - Allow allocating an input port from a destroyed source. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D42341

--HG--
extra : moz-landing-system : lando
2019-08-19 14:07:23 +00:00
Andreas Pehrson
2c2d552b7b Bug 1571705 - Clarify mInputStream guarantees in MediaStreamTrack. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D41508

--HG--
extra : moz-landing-system : lando
2019-08-19 12:46:43 +00:00
Andreas Pehrson
c0bcfa05f3 Bug 1411152 - Serialize MediaRecorder::Session::GatherBlob calls. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D41591

--HG--
extra : moz-landing-system : lando
2019-08-19 13:54:59 +00:00
Andrew McCreight
c749e75350 Bug 1574627 - Fix some "disbaled" typos. DONTBUILD r=njn
Differential Revision: https://phabricator.services.mozilla.com/D42376

--HG--
extra : moz-landing-system : lando
2019-08-16 23:23:05 +00:00
Razvan Maries
595de881b0 Backed out 2 changesets (bug 1562264) for causing Android perma fails. CLOSED TREE
Backed out changeset b66eec7d2e55 (bug 1562264)
Backed out changeset 445eadfd8ce3 (bug 1562264)
2019-08-17 02:24:40 +03:00
Kashav Madan
f74ee91093 Bug 1562264 - Update skip-if annotations, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D41763

--HG--
extra : moz-landing-system : lando
2019-08-16 17:31:52 +00:00
Dan Minor
e6817b0e4d Bug 1573541 - Fix assertion failure in PannerNode.h; r=karlt
This removes the call to SetThreeDPointParameter which is no longer necessary
now that we're using AudioParams for position and orientation. Doing the
conversion can cause an assertion failure when the AudioParams have a scheduled
future value.

Differential Revision: https://phabricator.services.mozilla.com/D42023

--HG--
extra : moz-landing-system : lando
2019-08-15 21:17:36 +00:00
Sylvestre Ledru
37db1730c6 Bug 1573833 - Add missing & and parentheses r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D41957

--HG--
extra : moz-landing-system : lando
2019-08-16 08:11:39 +00:00
Markus Stange
0d99ec9a50 Bug 1573668 - Use CFTypeRefPtr for managing the IOSurfaceRef in MacIOSurface. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41843

--HG--
extra : moz-landing-system : lando
2019-08-14 14:53:45 +00:00
Markus Stange
c31b8d8a28 Bug 1573668 - Use the real IOSurfaceRef type in MacIOSurface. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41841

--HG--
extra : moz-landing-system : lando
2019-08-14 14:50:25 +00:00
Gabriele Svelto
14db2c37b8 Bug 1571711 - Factorize crash handling out of the various process IPC classes r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41657

--HG--
extra : moz-landing-system : lando
2019-08-15 12:06:51 +00:00
Perry Jiang
f399d514b9 Bug 1231213 - Properly declare some dependencies so everything will compile with additional files. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26158

--HG--
extra : moz-landing-system : lando
2019-08-15 17:25:44 +00:00
Bogdan Tara
f326b67e0e Backed out changeset c60ee628dd0e (bug 1571711) for RemoteSandboxBroker related bustages CLOSED TREE 2019-08-15 01:50:01 +03:00
Gabriele Svelto
d888c0a6b5 Bug 1571711 - Factorize crash handling out of the various process IPC classes r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41657

--HG--
extra : moz-landing-system : lando
2019-08-13 21:43:00 +00:00
Dorel Luca
73975f1d28 Backed out 22 changesets (bug 1231213) for Browser-chrome failures on /workers/remoteworkers/RemoteWorkerChild.cpp
Backed out changeset 7e09ad9ceea6 (bug 1231213)
Backed out changeset a275eb0b1a19 (bug 1231213)
Backed out changeset 906b80778539 (bug 1231213)
Backed out changeset 6a40ab6852cb (bug 1231213)
Backed out changeset 216591953f97 (bug 1231213)
Backed out changeset 1de357bc1921 (bug 1231213)
Backed out changeset 8e3fedf6502a (bug 1231213)
Backed out changeset 1b9a8b022fce (bug 1231213)
Backed out changeset 85df1959eb98 (bug 1231213)
Backed out changeset 666bf4260046 (bug 1231213)
Backed out changeset 0b03a19a6dc1 (bug 1231213)
Backed out changeset 11f010e6d6e7 (bug 1231213)
Backed out changeset 6ed55807374f (bug 1231213)
Backed out changeset 395062aef2ec (bug 1231213)
Backed out changeset bacf8499ba7b (bug 1231213)
Backed out changeset bf5d60c7a85a (bug 1231213)
Backed out changeset cd434b787ce6 (bug 1231213)
Backed out changeset ee4565104217 (bug 1231213)
Backed out changeset 581653ef33dd (bug 1231213)
Backed out changeset 2d5628a0e52d (bug 1231213)
Backed out changeset 3449c2eba4c6 (bug 1231213)
Backed out changeset ae221b628899 (bug 1231213)
2019-08-15 01:04:46 +03:00
Tarek Ziadé
03685b73e1 Bug 1556637 - Replace all mozDumpDebugInfo calls r=jya,jib
Replaces mozDumpDebugInfo with mozRequestDebugInfo

Differential Revision: https://phabricator.services.mozilla.com/D37836

--HG--
extra : moz-landing-system : lando
2019-08-14 20:32:31 +00:00
Bryce Seager van Dyk
c1bef1695c Bug 1573902 - Fix CDM Init return value name in IPDL. r=dminor
The return value for PChromiumCDM::Init was unused when the IPDL change was
first made. However, that quickly changed, but I failed to update the IPDL to
reflect that the value is now used to propagate the value that CDM interface 10
Widevine modules give us via the OnInitialized callback.

This patch fixes the IPDL to reflect that. The changes in C++ code have already
been made, so no change needed there.

Differential Revision: https://phabricator.services.mozilla.com/D41995

--HG--
extra : moz-landing-system : lando
2019-08-14 19:35:07 +00:00
Markus Stange
979634bacb Bug 1565717 - Remove all dynamic loading of IOSurface functions. r=mattwoodrow
These functions were made public in 10.6. The oldest version we support is 10.9.

Differential Revision: https://phabricator.services.mozilla.com/D41813

--HG--
extra : moz-landing-system : lando
2019-08-14 11:06:22 +00:00
Markus Stange
584d4c6a82 Bug 1565717 - Remove dynamic lookup of the kIOSurface constants. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41812

--HG--
extra : moz-landing-system : lando
2019-08-14 11:05:47 +00:00
Markus Stange
75ec9254b7 Bug 1565717 - Don't use dynamic symbol lookup for CVPixelBufferGetIOSurface. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D41811

--HG--
extra : moz-landing-system : lando
2019-08-14 11:05:24 +00:00
Perry Jiang
dd139fd2a4 Bug 1231213 - Properly declare some dependencies so everything will compile with additional files. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26158

--HG--
extra : moz-landing-system : lando
2019-08-14 16:19:28 +00:00
John Lin
22c051e31f Bug 1565838 - don't check timestamp of EOS samples. r=jya
Bug 1540748/D28167 checks the output sample timestamp against the
time parsed by demuxer to determine the validness. However, unlike
Android builtin MP3 decoder which sets EOS flag in the final valid
output, the Samsung MP3 decoder always emit additional EOS sample
with invalid timestamp. To address this, the timestamp check should
be ignore for EOS samples.

Differential Revision: https://phabricator.services.mozilla.com/D41872

--HG--
extra : moz-landing-system : lando
2019-08-14 15:47:52 +00:00
Nathan Froyd
87c432d06a Bug 1570982 - remove CPP_THROW_NEW; r=glandium
We always define it to the same thing, and we're inconsistent in whether
we use `CPP_THROW_NEW` or `throw()`, so we might as well just use the
standard C++ thing and get rid of some baggage.

Differential Revision: https://phabricator.services.mozilla.com/D40425

--HG--
extra : moz-landing-system : lando
2019-08-14 01:32:41 +00:00
Jean-Yves Avenard
68a6daf34d Bug 1567170 - P1. Shutdown demuxer earlier. r=decoder
If for some reason mDecoder didn't exist, we would get an assertion inside FinalizeShutdown().

Differential Revision: https://phabricator.services.mozilla.com/D41359

--HG--
extra : moz-landing-system : lando
2019-08-12 12:04:42 +00:00
Alex Chronopoulos
55d8678fc1 Bug 1573184 - Add unit test to DecoderBenchmark. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D41581

--HG--
extra : moz-landing-system : lando
2019-08-14 10:41:25 +00:00
Alex Chronopoulos
dca6336ea7 Bug 1573184 - Add gtests to BenchmarkStorage classes. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D41580

--HG--
extra : moz-landing-system : lando
2019-08-14 10:41:18 +00:00
Alex Chronopoulos
1d15c845c0 Bug 1573184 - Add unit tests to KeyValueStorage class. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D41577

--HG--
extra : moz-landing-system : lando
2019-08-14 10:41:16 +00:00
Alex Chronopoulos
5720325b70 Bug 1573184 - Update comments in TestAudioCallbackDriver. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D41576

--HG--
extra : moz-landing-system : lando
2019-08-14 10:41:14 +00:00
Cosmin Sabou
85a8083871 Backed out 22 changesets (bug 1231213) for build bustages on /mozilla/Attributes.h CLOSED TREE
Backed out changeset 4a45f2c447fd (bug 1231213)
Backed out changeset bcb4d348a847 (bug 1231213)
Backed out changeset ae78ac86cc86 (bug 1231213)
Backed out changeset d681c92a7f05 (bug 1231213)
Backed out changeset 1ac9661e7fb4 (bug 1231213)
Backed out changeset 796c617b989f (bug 1231213)
Backed out changeset c46b31113adb (bug 1231213)
Backed out changeset ea7334da65d9 (bug 1231213)
Backed out changeset 6e9273940bf5 (bug 1231213)
Backed out changeset 7df0e0ff9a82 (bug 1231213)
Backed out changeset 12aba06d169c (bug 1231213)
Backed out changeset e7d6d8d64e8a (bug 1231213)
Backed out changeset 097a29f3ff9a (bug 1231213)
Backed out changeset 1b7169b75760 (bug 1231213)
Backed out changeset 0fd1fd7c3f06 (bug 1231213)
Backed out changeset 3d539eb7faff (bug 1231213)
Backed out changeset 419f9bb7be3c (bug 1231213)
Backed out changeset caede0e4e888 (bug 1231213)
Backed out changeset 778eade5085d (bug 1231213)
Backed out changeset a84b262ff6f8 (bug 1231213)
Backed out changeset 97328368da02 (bug 1231213)
Backed out changeset 9c845d7e3b29 (bug 1231213)
2019-08-14 00:10:48 +03:00
John Lin
656842376a Bug 1571586 - p3: return proper error when initializating. r=jya
Depends on D41106

Differential Revision: https://phabricator.services.mozilla.com/D41294

--HG--
extra : moz-landing-system : lando
2019-08-13 04:51:33 +00:00
John Lin
752f10f4e3 Bug 1571586 - p2: set realtime properties when initializing. r=jya
With minor code cleanup.

Differential Revision: https://phabricator.services.mozilla.com/D41106

--HG--
extra : moz-landing-system : lando
2019-08-08 22:51:54 +00:00
John Lin
8dd4e83f54 Bug 1571586 - p1: cast bitrate to correct type and set it when initializing. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D41105

--HG--
extra : moz-landing-system : lando
2019-08-08 22:55:12 +00:00
Perry Jiang
da3e06a0c9 Bug 1231213 - Properly declare some dependencies so everything will compile with additional files. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26158

--HG--
extra : moz-landing-system : lando
2019-08-13 19:54:58 +00:00
Cosmin Sabou
f870af790d Backed out 22 changesets (bug 1231213) for build bustages on RemoteWorkerChild.cpp. CLOSED TREE
Backed out changeset 06dba269fcfe (bug 1231213)
Backed out changeset 20b1ec70a6d0 (bug 1231213)
Backed out changeset be99adfb84ab (bug 1231213)
Backed out changeset 8cb30e5ef8d7 (bug 1231213)
Backed out changeset bdeff3d76292 (bug 1231213)
Backed out changeset 783bd2856798 (bug 1231213)
Backed out changeset e52869704d4d (bug 1231213)
Backed out changeset df97ea0bbe79 (bug 1231213)
Backed out changeset 822ade495b97 (bug 1231213)
Backed out changeset 06281fe76994 (bug 1231213)
Backed out changeset c8c1d3aa27c6 (bug 1231213)
Backed out changeset b96a12cd2c73 (bug 1231213)
Backed out changeset a1dcf2ea83be (bug 1231213)
Backed out changeset 6e2934410f95 (bug 1231213)
Backed out changeset d4ffae32539b (bug 1231213)
Backed out changeset d99f2cbe0ed2 (bug 1231213)
Backed out changeset 3bbea49c6d03 (bug 1231213)
Backed out changeset dac29b0340ce (bug 1231213)
Backed out changeset 0591a2a0cc41 (bug 1231213)
Backed out changeset afc3b2b9d472 (bug 1231213)
Backed out changeset 89fffd7b8740 (bug 1231213)
Backed out changeset 30b9a65a6294 (bug 1231213)
2019-08-13 21:30:20 +03:00
Perry Jiang
2f87473079 Bug 1231213 - Properly declare some dependencies so everything will compile with additional files. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26158

--HG--
extra : moz-landing-system : lando
2019-08-13 04:57:55 +00:00
Cosmin Sabou
60accf3a0d Backed out 4 changesets (bug 1573184) for causing build bustages on TestOpusParser.cpp.
Backed out changeset dd058b64c376 (bug 1573184)
Backed out changeset a56fabd724f6 (bug 1573184)
Backed out changeset ffd7b6d1c83e (bug 1573184)
Backed out changeset 7b2f517fe428 (bug 1573184)
2019-08-13 20:42:37 +03:00
Alex Chronopoulos
30ba1491fb Bug 1573184 - Add unit test to DecoderBenchmark. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D41581

--HG--
extra : moz-landing-system : lando
2019-08-13 10:09:04 +00:00
Alex Chronopoulos
590d647d81 Bug 1573184 - Add gtests to BenchmarkStorage classes. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D41580

--HG--
extra : moz-landing-system : lando
2019-08-13 05:14:22 +00:00
Alex Chronopoulos
adea85c408 Bug 1573184 - Add unit tests to KeyValueStorage class. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D41577

--HG--
extra : moz-landing-system : lando
2019-08-13 10:24:02 +00:00
Alex Chronopoulos
75c480e322 Bug 1573184 - Update comments in TestAudioCallbackDriver. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D41576

--HG--
extra : moz-landing-system : lando
2019-08-13 05:08:27 +00:00
Alex Chronopoulos
060c64a502 Bug 1572043 - Check the version of the stored benchmarks when a video decoder is initialized.r=jya
Introduce a static method to call the CheckVersion method of the IPDL protocol from the content process. Every time a video decoder is initialized, the method is called to verify the version of the stored benchmark entries.

Differential Revision: https://phabricator.services.mozilla.com/D41003

--HG--
extra : moz-landing-system : lando
2019-08-13 09:54:27 +00:00
Alex Chronopoulos
04185356f6 Bug 1572043 - Introduce a check version method in the benchmark storage IPDL protocol.r=jya
The new protocol method transfers the database name and the version number from the content to the parent process. Then the parent process retrieves the stored version number from the database and compares it to the provided version number. If they are the same it stops there, otherwise it erases all the entries from the database and stores the new version number.

Differential Revision: https://phabricator.services.mozilla.com/D41002

--HG--
extra : moz-landing-system : lando
2019-08-13 09:29:19 +00:00
Alex Chronopoulos
ef37f88221 Bug 1572043 - Introduce a method to clear all the entries of a database.r=jya
Add a new method in the key-value wrapper (KeyValueStorage) to clear all the entries of a database.

Differential Revision: https://phabricator.services.mozilla.com/D41001

--HG--
extra : moz-landing-system : lando
2019-08-13 05:05:40 +00:00
Andreas Pehrson
b4858e4f3f Bug 1538933 - Convert remaining TimeStamp checks to use TimeDuration. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D41510

--HG--
extra : moz-landing-system : lando
2019-08-12 16:05:47 +00:00
Emilio Cobos Álvarez
c3ee3ac3a8 Bug 1418624 - Allow mozilla::Result to be moved, make unwrap{,Err}() move, and add inspect() APIs that return references. r=froydnj
Also adjust some of the callers that were either calling unwrap() repeatedly on
the same result, or were doing silly copies, to use inspect().

We could try to use stuff like:

https://clang.llvm.org/docs/AttributeReference.html#consumed-annotation-checking

Differential Revision: https://phabricator.services.mozilla.com/D41425

--HG--
extra : moz-landing-system : lando
2019-08-13 08:26:18 +00:00
Sylvestre Ledru
645f2d5773 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D41559

--HG--
extra : moz-landing-system : lando
2019-08-13 07:15:25 +00:00
Narcis Beleuzu
f53affe1cb Backed out 22 changesets (bug 1231213) for build bustages on RemoteWorkerChild.cpp . CLOSED TREE
Backed out changeset 6f25a7e73fe2 (bug 1231213)
Backed out changeset 5e88c3855fb6 (bug 1231213)
Backed out changeset a78d7b3e44af (bug 1231213)
Backed out changeset eb7f3a9b0a42 (bug 1231213)
Backed out changeset 87575a180ad5 (bug 1231213)
Backed out changeset 4e8369314e87 (bug 1231213)
Backed out changeset 039c34bc043c (bug 1231213)
Backed out changeset 0528ab68d94e (bug 1231213)
Backed out changeset 670e7d61d95c (bug 1231213)
Backed out changeset d61b9d65bd0a (bug 1231213)
Backed out changeset 9042ea694d40 (bug 1231213)
Backed out changeset bc0607e0d50b (bug 1231213)
Backed out changeset 196ee18781cb (bug 1231213)
Backed out changeset 4b588dec466b (bug 1231213)
Backed out changeset be6031a6fca7 (bug 1231213)
Backed out changeset 12e04c22f52f (bug 1231213)
Backed out changeset fd146f327f2d (bug 1231213)
Backed out changeset f2af7b66f50d (bug 1231213)
Backed out changeset 71d93fc98d3f (bug 1231213)
Backed out changeset 280271806864 (bug 1231213)
Backed out changeset ca4e828345a2 (bug 1231213)
Backed out changeset e41b984510ad (bug 1231213)
2019-08-13 07:47:05 +03:00
Perry Jiang
931915402d Bug 1231213 - Properly declare some dependencies so everything will compile with additional files. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26158

--HG--
extra : moz-landing-system : lando
2019-08-13 04:03:11 +00:00
Andreas Pehrson
c61d65f0ab Bug 1563697 - Allow one intermittent assert on Android for bug 1429507 crashtests. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D41348

--HG--
extra : moz-landing-system : lando
2019-08-09 23:26:21 +00:00
Andreas Pehrson
8733478c45 Bug 1563520 - Clarify EbmlComposer. r=bryce
This does the following things:
- Renames mClusters to mCurrentCluster and updates the comment to be accurate.
- Removes the need for mClusterHeaderIndex since it was always 0.
- Removes the need for mWritingCluster since it was redundant with
  mCurrentCluster containing something.
- Renames mClusterLengthLoc to mCurrentClusterLengthLoc to better pair with
  mCurrentCluster.
- Renames mClusterTimecode to mCurrentClusterTimecode to better pair with
  mCurrentCluster.
- Reorders member declarations to better reflect which members group together.
- Fixes static-analysis warnings by removing uint32_t from loop variables.

Differential Revision: https://phabricator.services.mozilla.com/D40835

--HG--
extra : moz-landing-system : lando
2019-08-08 07:45:13 +00:00
Andreas Pehrson
e0628c07c0 Bug 1517022 - Improve logic for ensuring mixed-blobs. r=jib
This changes from trying to encode at the memory-blob-limit to requesting small
blobs for ensuring a memory blob and increasingly large blobs for ensuring a
file blob.

A theory why this would end up failing on Android hw is because fake video on
Android is 320x240 as opposed to 640x480 on other platforms. Add timing changes
from bug 1014393 and the permafail on Android doesn't seem surprising.

Differential Revision: https://phabricator.services.mozilla.com/D40656

--HG--
extra : moz-landing-system : lando
2019-08-12 07:55:20 +00:00
Andreas Pehrson
855e1c95cd Bug 1570958 - Demote some WebMWriter assertions to keep release builds clean and happy. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D40447

--HG--
extra : moz-landing-system : lando
2019-08-07 10:10:57 +00:00
Andreas Pehrson
466372ade8 Bug 1014393 - Use undef-after-def pattern in MediaRecorder and related files. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D37700

--HG--
extra : moz-landing-system : lando
2019-08-05 10:05:28 +00:00
Andreas Pehrson
0ccdec0df1 Bug 1014393 - Minor mochitest fixes. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D35311

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:16 +00:00
Andreas Pehrson
e92c0d273c Bug 1014393 - Unify MediaRecorder session shutdown paths and fix event timing when stopping per spec. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D17814

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:15 +00:00
Andreas Pehrson
804487edc3 Bug 1014393 - Remove MediaRecorder::GetParentObject. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D35308

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:15 +00:00
Andreas Pehrson
92b4bea620 Bug 1014393 - Remove MediaRecorder::Session::PushBlobRunnable. r=bryce
This moves the impl of PushBlobRunnable from a runnable to MozPromise, which
let's us more easily modularize it's parts (gather the blob, fire dataavailable)
to make individual code paths more explicit.

Differential Revision: https://phabricator.services.mozilla.com/D17813

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:20 +00:00
Andreas Pehrson
a0b0c4f23e Bug 1014393 - Add gtests for the standalone muxer. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D35307

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:18 +00:00
Andreas Pehrson
8491bedfad Bug 1014393 - Break out muxing and queueing of track data from MediaEncoder to new Muxer class. r=bryce
This first of all does some refactoring of how metadata is encoded in
MediaEncoder. This is now guided by the new Muxer class. If we're ready to pass
data to the muxer and it does not have metadata yet, we provide metadata before
giving it any media data. This metadata is passed to the muxer in a single call.
The metadata provided in this call must stay valid for the entire recording.
This removes MediaEncoder::GetEncodedMetadata().

This also removes the ctor argument from the WebMWriter since it can now rely on
the single SetMetadata() instead.
To comply with the ContainerWriter::SetMetadata() docs,
WebMWriter::SetMetadata() will now also sanity check metadata.

ContainerWriter instances are updated somewhat, to accommodate these changes.

Lastly, and most important, the new Muxer class manages muxing of the (up to)
two tracks into a single container, ensuring that timestamps increase
monotonically throughout a recording.

Differential Revision: https://phabricator.services.mozilla.com/D35306

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:14 +00:00
Bryce Van Dyk
1fcd6d5f3c Bug 1014393 - Move AudioGenerator to its own files so it can be used in more media gtests. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D35389

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:17 +00:00
Bryce Van Dyk
0fbfac1e9b Bug 1014393 - MediaEncoder better orders frames passed to the muxer. r=pehrsons
Update MediaEncoder to pass frames to the muxer in order of their time stamps.
This should prevent the currently possible scenario where audio and video
frames are written with non-monotonically increasing timestamps (in violation
of the webm spec).

Differential Revision: https://phabricator.services.mozilla.com/D35388

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:17 +00:00
Bryce Van Dyk
9a85afff9a Bug 1014393 - Use MediaQueue to store frames pending write to muxer in MediaEncoder. r=pehrsons
MediaQueue provides a better interface for interleaving frames when writing to
the muxer (this change will follow in another changeset). The queue interface
provides a nicer abstraction than manually managing a nsTArray.

Differential Revision: https://phabricator.services.mozilla.com/D35387

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:17 +00:00
Bryce Van Dyk
95f02fc198 Bug 1014393 - Update EncodedFrame class to more closely resemble MediaData class. r=pehrsons
This changes EncodedFrame to behave more like MediaData, so that EncodedFrame
can be used with the MediaQueue data structure. It also provides a somewhat
more consistent interface across media data types.

Differential Revision: https://phabricator.services.mozilla.com/D35386

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:17 +00:00
Bryce Van Dyk
c47b3f4868 Bug 1014393 - Shift responsibility of adjusting packets with opus codec delay to MediaEncoder. r=pehrsons
Move the responsibility of adjusting opus frame timestamps to the MediaEncoder.
This was previously done by the EbmlComposer, but doing so in the MediaEncoder
means we can have greater control over handling of time codes and interleaving
of frames.

Differential Revision: https://phabricator.services.mozilla.com/D35385

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:16 +00:00
Bryce Van Dyk
f2da582b18 Bug 1014393 - Remove EncodedFrameContainer. r=pehrsons
Remove EncodedFrameContainer and clean up areas where it was used.
EncodedFrameContainer provided a wrapper around an
nsTArray<RefPtr<EncodedFrame>>, but it simplifies the code to simply expose
this array. Also clean up unused enums in EncodedFrame, and clean up some of
the outdated comments for our encoded frame handling.

Differential Revision: https://phabricator.services.mozilla.com/D35384

--HG--
rename : dom/media/encoder/EncodedFrameContainer.h => dom/media/encoder/EncodedFrame.h
extra : moz-landing-system : lando
2019-08-03 17:27:16 +00:00
Bryce Van Dyk
6ada9f5a9e Bug 1014393 - Separate MediaEncoders encode and mux steps. r=pehrsons
Separating the encode and mux steps allows for better control over interleaving
audio and video data. If encode and mux are done in a single step it's possible
to mux large amounts of audio or video data which should have been interleaved
with the other data type to give correctly ordered time stamps in the target
container.

Differential Revision: https://phabricator.services.mozilla.com/D35383

--HG--
extra : moz-landing-system : lando
2019-08-03 17:27:16 +00:00
Gabriele Svelto
beb62c4c31 Bug 1282776 - Finalize crash reports for child process crashes happening too early r=froydnj
This changes the way crash reports for child processes happening too early
during the child process' startup. Before bug 1547698 we wrote a partial
.extra file with those crashes that lacked the process type. The user would
not be notified of those crashes until she restarted Firefox and even when
submitted those crashes would be erroneously labeled as browser crashes.

After bug 1547698 we stopped writing .extra files entirely for those crashes
which left orphaned .dmp files among the pending crash reports.

This patch does three things to improve the situation:

* It writes a partial .extra file so that the crashes are detected at the next
  startup. So the user is still not notified directly of these crashes but she
  can report them later.
* It adds the process type to the .extra file so that the crash reporters are
  labelled correctly.
* It fixes a leak in the `pidToMinidump` hash-map. Since the crashes were
  not finalized the `ChildProcessData` strucutre associated with them would
  never be fred.

Differential Revision: https://phabricator.services.mozilla.com/D40810

--HG--
extra : moz-landing-system : lando
2019-08-09 14:23:19 +00:00
Nika Layzell
d9b972bae8 Bug 1570369 - Part 8: Use IPDL refcounted for PGMPVideo{Encoder,Decoder}, r=jya
Differential Revision: https://phabricator.services.mozilla.com/D40261

--HG--
extra : moz-landing-system : lando
2019-08-08 16:46:40 +00:00
Nika Layzell
c67bb3eb29 Bug 1570369 - Part 4: Use IPDL refcounted for PChromiumCDM, r=jya
Differential Revision: https://phabricator.services.mozilla.com/D40255

--HG--
extra : moz-landing-system : lando
2019-08-08 16:46:31 +00:00
alwu
df6d8d2448 Bug 1565689 - part7 : add browser test. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D38147

--HG--
extra : moz-landing-system : lando
2019-08-07 01:45:59 +00:00
alwu
9e0f93e8de Bug 1565689 - part6 : add gtests. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D38146

--HG--
extra : moz-landing-system : lando
2019-08-07 01:46:01 +00:00
alwu
0f5563b84f Bug 1565689 - part5 : control media from chrome process. r=farre,baku
This patch implements how to use MediaController to control corresponding media in content processes.

Differential Revision: https://phabricator.services.mozilla.com/D38145

--HG--
extra : moz-landing-system : lando
2019-08-07 01:46:03 +00:00
alwu
caf1ec8024 Bug 1565689 - part4 : notify controller about media active state and audible state changed from content processes. r=baku
We implement some helpful functions in MediaControlUtils which can be used to notify controller when media starts/stops playing or become audible/inaudible.

For now, we can temporarily notify these changes in AudioChannelService where we have already known when media has these kinds of status changing.

Differential Revision: https://phabricator.services.mozilla.com/D38144

--HG--
extra : moz-landing-system : lando
2019-08-08 20:01:19 +00:00
alwu
4f341cb99b Bug 1565689 - part3 : use static pref to control audio competing. r=baku
We don't want to enable audio competing by default, so hide this feature behind a static pref.

Differential Revision: https://phabricator.services.mozilla.com/D38143

--HG--
extra : moz-landing-system : lando
2019-08-07 01:46:06 +00:00
alwu
4e911221c2 Bug 1565689 - part2 : implement AudioFocusManager. r=baku
In order to support audio competing among different tabs, we implement a new class AudioFocusManager.

AudioFocusManager is used to assign the audio focus to different requester and decide which requester can own audio focus when audio competing happens.
When the audio competing happens, the last request would be a winner who can still own the audio focus, and all the other requesters would lose the audio focus.
Now MediaController is the onlt requester, it would request the audio focus when it becomes audible and revoke the audio focus when the controller is no longer active.

Differential Revision: https://phabricator.services.mozilla.com/D38142

--HG--
extra : moz-landing-system : lando
2019-08-07 01:46:08 +00:00
alwu
a9d4b33f07 Bug 1565689 - part1 : implement MediaController and MediaControlService. r=baku
In order to have a centralized audio control in the parent process, we create two new classes here.

* MediaController
MediaController is a class used to control certain amount of media in the content process. Every controller corresponds to a browsing context.
For example, TabMediaController would correspond to the top level browsing context, which mean it can control all media in the specific tab.

* MediaControlService
As there might be multiple tabs playing audio, so there would be multiple controllers. MediaControlService is a place to manage all of them, you can access specific controller through MediaControlService by providing controller ID.
Everytime a controller becomes active, which means there is a media starts in corresponding browsing context, then controller would be added into the list of the MediaControlService. And it would be removed from the list when the media in corresponding browsering context stopped.

Differential Revision: https://phabricator.services.mozilla.com/D38141

--HG--
extra : moz-landing-system : lando
2019-08-07 01:46:10 +00:00
Michael Froman
ec71e08cf2 Bug 1567389 - change OpusDataDecoder to check for CreateDecoderParams::Option::DefaultPlaybackDeviceMono instead of calling IsDefaultPlaybackDeviceMono(). r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D41113

--HG--
extra : moz-landing-system : lando
2019-08-08 19:17:27 +00:00
Andreas Pehrson
b1a9df5eca Bug 1571004 - Check that AddStream() is not too late. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D40796

--HG--
extra : moz-landing-system : lando
2019-08-08 16:41:53 +00:00
Andreas Pehrson
3513fc1358 Bug 1571004 - Release resources last. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D40795

--HG--
extra : moz-landing-system : lando
2019-08-08 16:03:44 +00:00
Jared Wein
90c83c7843 Bug 1571567 - Fix no-fallthrough errors in /dom. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D40874

--HG--
extra : moz-landing-system : lando
2019-08-08 15:18:45 +00:00
Gurzau Raul
ac457c851f Backed out 2 changesets (bug 1571004) for build bustage at MediaStreamGraph.cpp on a CLOSED TREE.
Backed out changeset 3cdfea168207 (bug 1571004)
Backed out changeset 5fcd8b91765c (bug 1571004)
2019-08-08 18:59:54 +03:00
Andreas Pehrson
e4b4a658da Bug 1571004 - Check that AddStream() is not too late. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D40796

--HG--
extra : moz-landing-system : lando
2019-08-08 15:30:55 +00:00
Andreas Pehrson
3a56042205 Bug 1571004 - Release resources last. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D40795

--HG--
extra : moz-landing-system : lando
2019-08-07 09:53:54 +00:00
Bogdan Tara
844afcfb06 Backed out 10 changesets (bug 1571567) complementary backout after es lint failure on the patch CLOSED TREE
Backed out changeset ce83fa75ae32 (bug 1571567)
Backed out changeset 7aa97ba7cce9 (bug 1571567)
Backed out changeset 777d79076e99 (bug 1571567)
Backed out changeset fbdf6b75a484 (bug 1571567)
Backed out changeset e2ed4620f232 (bug 1571567)
Backed out changeset 2c67015f12c6 (bug 1571567)
Backed out changeset 7ec086bb5bd5 (bug 1571567)
Backed out changeset 42df735c8556 (bug 1571567)
Backed out changeset 7d5fc57b2809 (bug 1571567)
Backed out changeset 606bafb8211c (bug 1571567)
2019-08-08 18:13:54 +03:00
Jared Wein
a0b4a0401b Bug 1571567 - Fix no-fallthrough errors in /dom. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D40874

--HG--
extra : moz-landing-system : lando
2019-08-08 01:38:50 +00:00
Andreas Pehrson
0b81e7d768 Bug 1563697 - Move script tags from <head> to <body> to avoid window.open asserts. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D41022

--HG--
extra : moz-landing-system : lando
2019-08-07 23:49:30 +00:00
Andreas Pehrson
84734704ab Bug 1538933 - Compare TimeDuration instead of TimeStamp in TestVideoFrameConverter for sensible logs. r=bwc
Depends on D40599

Differential Revision: https://phabricator.services.mozilla.com/D41020

--HG--
extra : moz-landing-system : lando
2019-08-07 15:12:39 +00:00
Andreas Pehrson
53e4e663a4 Bug 1570673 - Update last frame's time on same-frame-ticks. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D40599

--HG--
extra : moz-landing-system : lando
2019-08-07 15:11:00 +00:00
Andreas Pehrson
50628ddd24 Bug 1570673 - Add an active state to VideoFrameConverter and propagate it from MediaPipeline. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D40598

--HG--
extra : moz-landing-system : lando
2019-08-05 18:00:48 +00:00
Andreas Pehrson
34e0a5f4fe Bug 1570673 - Add mochitest. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D40597

--HG--
extra : moz-landing-system : lando
2019-08-05 17:21:19 +00:00
Michael Froman
1165b8b9e1 Bug 1562910 - Use ShmemPool to reduce shmem thrashing in RDD audio decoding. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D36611

--HG--
extra : moz-landing-system : lando
2019-08-07 01:25:47 +00:00
Andreas Pehrson
01327dd273 Bug 1568999 - Stop-gap fix for in-test GeckoView enumeration permission request. r=snorp
Differential Revision: https://phabricator.services.mozilla.com/D39865

--HG--
extra : moz-landing-system : lando
2019-08-06 20:08:37 +00:00
Bryce Seager van Dyk
48980be9fe Bug 1547784 - Add crashtest for moving media element with media keys to inactive doc. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D40481

--HG--
extra : moz-landing-system : lando
2019-08-06 17:48:29 +00:00
Andreea Pavel
eb6f2642fa Backed out 7 changesets (bug 1565689) for assertion failures at MediaControlUtils.h on a CLOSED TREE
Backed out changeset 9ebf6f8a4fda (bug 1565689)
Backed out changeset 49c41a9238f9 (bug 1565689)
Backed out changeset 9014276e070a (bug 1565689)
Backed out changeset d9f7fcbef3ee (bug 1565689)
Backed out changeset d3db3285e933 (bug 1565689)
Backed out changeset 1ca26f550f4b (bug 1565689)
Backed out changeset 1d27d083e974 (bug 1565689)
2019-08-07 04:40:52 +03:00
alwu
267ee7f804 Bug 1565689 - part7 : add browser test. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D38147

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:08 +00:00
alwu
a76dfcbdd5 Bug 1565689 - part6 : add gtests. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D38146

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:08 +00:00
alwu
f8f21d9082 Bug 1565689 - part5 : control media from chrome process. r=farre,baku
This patch implements how to use MediaController to control corresponding media in content processes.

Differential Revision: https://phabricator.services.mozilla.com/D38145

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:07 +00:00
alwu
519f56c448 Bug 1565689 - part4 : notify controller about media active state and audible state changed from content processes. r=baku
We implement some helpful functions in MediaControlUtils which can be used to notify controller when media starts/stops playing or become audible/inaudible.

For now, we can temporarily notify these changes in AudioChannelService where we have already known when media has these kinds of status changing.

Differential Revision: https://phabricator.services.mozilla.com/D38144

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:07 +00:00
alwu
a212936957 Bug 1565689 - part3 : use static pref to control audio competing. r=baku
We don't want to enable audio competing by default, so hide this feature behind a static pref.

Differential Revision: https://phabricator.services.mozilla.com/D38143

--HG--
extra : moz-landing-system : lando
2019-08-06 01:13:09 +00:00
alwu
e76b883c12 Bug 1565689 - part2 : implement AudioFocusManager. r=baku
In order to support audio competing among different tabs, we implement a new class AudioFocusManager.

AudioFocusManager is used to assign the audio focus to different requester and decide which requester can own audio focus when audio competing happens.
When the audio competing happens, the last request would be a winner who can still own the audio focus, and all the other requesters would lose the audio focus.
Now MediaController is the onlt requester, it would request the audio focus when it becomes audible and revoke the audio focus when the controller is no longer active.

Differential Revision: https://phabricator.services.mozilla.com/D38142

--HG--
extra : moz-landing-system : lando
2019-08-06 19:27:34 +00:00
alwu
d64b11e708 Bug 1565689 - part1 : implement MediaController and MediaControlService. r=baku
In order to have a centralized audio control in the parent process, we create two new classes here.

* MediaController
MediaController is a class used to control certain amount of media in the content process. Every controller corresponds to a browsing context.
For example, TabMediaController would correspond to the top level browsing context, which mean it can control all media in the specific tab.

* MediaControlService
As there might be multiple tabs playing audio, so there would be multiple controllers. MediaControlService is a place to manage all of them, you can access specific controller through MediaControlService by providing controller ID.
Everytime a controller becomes active, which means there is a media starts in corresponding browsing context, then controller would be added into the list of the MediaControlService. And it would be removed from the list when the media in corresponding browsering context stopped.

Differential Revision: https://phabricator.services.mozilla.com/D38141

--HG--
extra : moz-landing-system : lando
2019-08-06 19:24:45 +00:00
Andreas Pehrson
213a51d07c Bug 1565344 - Remove unnecessary OutputStreamManager::mPrincipal. r=jib
It would cause an assertion failure when OutputStreamManager was released on
main thread. It could be wrapped in an nsMainThreadPtrHandle instead, but that's
exactly what mPrincipalHandle is, so we can use that for both needs.

Differential Revision: https://phabricator.services.mozilla.com/D40789

--HG--
extra : moz-landing-system : lando
2019-08-06 15:11:45 +00:00
Michael Froman
af196d4cfc Bug 1571568 - Update ShmemPool to work in builds with --disable-webrtc. r=ng
1. ShmemPool.cpp is now built for --disable-webrtc builds.
2. ShmemPool no longer uses the gCamerasParentLog logger, it
   uses its own logger.
3. ShmemPool log macros were updated with a SHMEMPOOL_ prefix
   to avoid undef-ing other log macros.

Differential Revision: https://phabricator.services.mozilla.com/D40722

--HG--
extra : moz-landing-system : lando
2019-08-06 15:09:12 +00:00
Alex Chronopoulos
dae984b098 Bug 1530996 - Use the new storage mechanism to save the current playback benchmark. r=jya
Create an event in MediaFormatReader the will signal to the HTMLMediaElement to initiate a new storing according to the latest VideoInfo. Also when the application is shutting down, trigger a new storing early enough, before all the events are disconnected.

Differential Revision: https://phabricator.services.mozilla.com/D38316

--HG--
extra : moz-landing-system : lando
2019-08-06 09:25:45 +00:00
Alex Chronopoulos
db7dd624ec Bug 1530996 - Use the benchmark class from MediaCapabilities. r=jya
Make use of the new DecoderBenchmark class in MediaCapabilities instead of the old Benchmark mechanism.

Differential Revision: https://phabricator.services.mozilla.com/D38315

--HG--
extra : moz-landing-system : lando
2019-08-06 09:24:40 +00:00
Alex Chronopoulos
d95b52b77f Bug 1530996 - Store the benchmark calculated from the frame statistics. r=jya
Create a class that gets the video properties and the frame statistics, calculates the score in percentage for that video playback, creates a key string according to video properties and trigger the storage of the score.

The video properties used are the resolution, the frame rate and the bitdepth.

For the key, a range of levels has been created for each property and the video is categorised on the closest levels. The key consists of the various levels like: "ResolutionLevel5-FrameRateLevel1-8bit".

Finaly, it uses the IPDL protocol to store the pair of the score and the key.

Differential Revision: https://phabricator.services.mozilla.com/D38314

--HG--
extra : moz-landing-system : lando
2019-08-06 09:24:36 +00:00
Alex Chronopoulos
a930f0bdd1 Bug 1530996 - Create the IPC protocol to access the database from the content process. r=jya
The database is accessible from the parent process due to to the sandbox thus it is required an IPDL protocol that will transfer the queries and the results

Differential Revision: https://phabricator.services.mozilla.com/D38313

--HG--
extra : moz-landing-system : lando
2019-08-06 09:24:34 +00:00
Alex Chronopoulos
9533dca8e9 Bug 1530996 - Create a wrapper around kvstore module. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D38312

--HG--
extra : moz-landing-system : lando
2019-08-06 09:23:28 +00:00
Bogdan Tara
a252740d31 Backed out 7 changesets (bug 1565689) for browser chrome failures CLOSED TREE
Backed out changeset 36ea91bf28f7 (bug 1565689)
Backed out changeset 278340adf69c (bug 1565689)
Backed out changeset 4f508252b015 (bug 1565689)
Backed out changeset faaa4e9ba8d3 (bug 1565689)
Backed out changeset 177f2b26c892 (bug 1565689)
Backed out changeset ba665f96330d (bug 1565689)
Backed out changeset 0de7b1db3ef9 (bug 1565689)
2019-08-06 04:09:19 +03:00
alwu
504dbdbac6 Bug 1565689 - part7 : add browser test. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D38147

--HG--
extra : moz-landing-system : lando
2019-08-05 17:32:34 +00:00
alwu
3bf00f42cd Bug 1565689 - part6 : add gtests. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D38146

--HG--
extra : moz-landing-system : lando
2019-08-05 08:51:22 +00:00
alwu
3608731279 Bug 1565689 - part5 : control media from chrome process. r=farre,baku
This patch implements how to use MediaController to control corresponding media in content processes.

Differential Revision: https://phabricator.services.mozilla.com/D38145

--HG--
extra : moz-landing-system : lando
2019-08-05 17:32:27 +00:00
alwu
0987d9bd13 Bug 1565689 - part4 : notify controller about media active state and audible state changed from content processes. r=baku
We implement some helpful functions in MediaControlUtils which can be used to notify controller when media starts/stops playing or become audible/inaudible.

For now, we can temporarily notify these changes in AudioChannelService where we have already known when media has these kinds of status changing.

Differential Revision: https://phabricator.services.mozilla.com/D38144

--HG--
extra : moz-landing-system : lando
2019-08-05 08:48:51 +00:00
alwu
03eb5ac7ab Bug 1565689 - part3 : use static pref to control audio competing. r=baku
We don't want to enable audio competing by default, so hide this feature behind a static pref.

Differential Revision: https://phabricator.services.mozilla.com/D38143

--HG--
extra : moz-landing-system : lando
2019-08-05 18:53:54 +00:00
alwu
250b9f11c3 Bug 1565689 - part2 : implement AudioFocusManager. r=baku
In order to support audio competing among different tabs, we implement a new class AudioFocusManager.

AudioFocusManager is used to assign the audio focus to different requester and decide which requester can own audio focus when audio competing happens.
When the audio competing happens, the last request would be a winner who can still own the audio focus, and all the other requesters would lose the audio focus.
Now MediaController is the onlt requester, it would request the audio focus when it becomes audible and revoke the audio focus when the controller is no longer active.

Differential Revision: https://phabricator.services.mozilla.com/D38142

--HG--
extra : moz-landing-system : lando
2019-08-05 18:53:41 +00:00
alwu
b17076ef63 Bug 1565689 - part1 : implement MediaController and MediaControlService. r=baku
In order to have a centralized audio control in the parent process, we create two new classes here.

* MediaController
MediaController is a class used to control certain amount of media in the content process. Every controller corresponds to a browsing context.
For example, TabMediaController would correspond to the top level browsing context, which mean it can control all media in the specific tab.

* MediaControlService
As there might be multiple tabs playing audio, so there would be multiple controllers. MediaControlService is a place to manage all of them, you can access specific controller through MediaControlService by providing controller ID.
Everytime a controller becomes active, which means there is a media starts in corresponding browsing context, then controller would be added into the list of the MediaControlService. And it would be removed from the list when the media in corresponding browsering context stopped.

Differential Revision: https://phabricator.services.mozilla.com/D38141

--HG--
extra : moz-landing-system : lando
2019-08-05 17:31:02 +00:00
Andreas Pehrson
a68e624ca6 Bug 1569645 - Remove overzealous asserts. r=bryce
If webm is disabled or not compiled in, the video assert would fail if trying
to record a video track -- we'd only have an ogg/opus encoder.

Differential Revision: https://phabricator.services.mozilla.com/D40648

--HG--
extra : moz-landing-system : lando
2019-08-05 16:40:10 +00:00
Andreas Pehrson
5d91259b9f Bug 1569645 - Add crashtest. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D40647

--HG--
extra : moz-landing-system : lando
2019-08-05 15:56:04 +00:00
Andreas Pehrson
670447873a Bug 1570900 - Remove mStreamTimeOffset and friends from DecodedStream. r=jib
This hasn't been needed since the last larger refactor of DecodedStream
(bug 1423241), but got incorporated wrongly with bug 1493613.

When DecodedStream is Stop()ed and then Start()ed, a track is added to the graph
with a playout position starting at 0, and mStartTime is set to the starting
position, i.e., the seeked position in case of a seek or 0 if decoding from the
start of a file.

Hence, the reported position by DecodedStream should be mStartTime plus the last
reported output time of the tracks.

mStreamTimeOffset was offseting the tracks' reported output time further, so
DecodedStream was reporting a too large number.

Differential Revision: https://phabricator.services.mozilla.com/D40626

--HG--
extra : moz-landing-system : lando
2019-08-05 15:34:24 +00:00
Andreea Pavel
d95d878a50 Backed out 15 changesets (bug 1014393) for causing test_mediarecorder_record_gum_video_timeslice_mixed.html a=backout
Backed out changeset 83a1758bc6fa (bug 1014393)
Backed out changeset be1f1f82f92c (bug 1014393)
Backed out changeset 21ec9e104912 (bug 1014393)
Backed out changeset ea6314a61a77 (bug 1014393)
Backed out changeset e35a1a354bb5 (bug 1014393)
Backed out changeset 5c4b5620be2e (bug 1014393)
Backed out changeset 579d7f15d4f2 (bug 1014393)
Backed out changeset f9a9b2fc3335 (bug 1014393)
Backed out changeset c49241bad727 (bug 1014393)
Backed out changeset fc24872739e4 (bug 1014393)
Backed out changeset fd846ac16731 (bug 1014393)
Backed out changeset 4b11f19aa613 (bug 1014393)
Backed out changeset 4a57b865b461 (bug 1014393)
Backed out changeset 147d5aeaab46 (bug 1014393)
Backed out changeset c58e17df9c99 (bug 1014393)

--HG--
rename : dom/media/encoder/EncodedFrame.h => dom/media/encoder/EncodedFrameContainer.h
2019-08-03 20:23:02 +03:00
Andreea Pavel
8438d93b00 Backed out changeset ff0125384d06 (bug 1570958) for backout conflict with bug 1014393 a=backout 2019-08-03 20:21:43 +03:00
Andreea Pavel
5f860a304f Backed out changeset 6954782553c7 (bug 1014393) for build bustages a=backout 2019-08-03 20:09:29 +03:00
Gurzau Raul
3d31a9b7c0 Backed out 15 changesets (bug 1014393) for permafailing at test_mediarecorder_record_gum_video_timeslice_mixed.html a=backout 2019-08-03 19:22:18 +03:00
Narcis Beleuzu
71ce6058e6 Backed out 2 changesets (bug 1547784) for crashtest failrues on 1547784.html . CLOSED TREE
Backed out changeset 21f0da4d5763 (bug 1547784)
Backed out changeset 54b3b878f07d (bug 1547784)
2019-08-03 02:54:04 +03:00
Bryce Seager van Dyk
07a2753dbb Bug 1547784 - Add crashtest for moving media element with media keys to inactive doc. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D40481

--HG--
extra : moz-landing-system : lando
2019-08-02 21:54:03 +00:00
Alastor Wu
2ae05955ab Bug 1571051 - part4 : use Cb buffer in the second plane. r=jolin
The second plane should store data of the Cb buffer's value, not the Cr's.

Differential Revision: https://phabricator.services.mozilla.com/D40466

--HG--
extra : moz-landing-system : lando
2019-08-02 18:54:02 +00:00
Alastor Wu
e1447216a6 Bug 1571051 - part3 : mark MediaRawData as a keyframe. r=jolin
If the encoded frame is a keyframe, we should also mark the MediaRawData which would contain the data from this encoded frame as a keyframe.

Differential Revision: https://phabricator.services.mozilla.com/D40465

--HG--
extra : moz-landing-system : lando
2019-08-02 18:53:34 +00:00
Alastor Wu
f839b3c72d Bug 1571051 - part2 : keep CodecSpecific const when doing the std::forward. r=jolin
As we are not going to modify the CodecSpecific, it should keep const when we forward it.

Differential Revision: https://phabricator.services.mozilla.com/D40464

--HG--
extra : moz-landing-system : lando
2019-08-02 18:53:12 +00:00
Alastor Wu
6c24473bca Bug 1571051 - part1 : use thread safe refcounting for PlatformEncoderModule. r=jolin
We don't have a contraint for using PlatformEncoderModule in the specific thread only, so we should use thread-safe refcounting for it, like PlatformDecoderModule.

Differential Revision: https://phabricator.services.mozilla.com/D40463

--HG--
extra : moz-landing-system : lando
2019-08-02 18:52:49 +00:00
Edwin Gao
b270bb1353 Bug 1561046 - remove API 17 from manifest files r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D39809

--HG--
extra : moz-landing-system : lando
2019-08-02 20:10:06 +00:00
Brindusan Cristian
f58c7a50ae Backed out changeset 66710416d1e4 (bug 1562910) for MinGW bustages. CLOSED TREE 2019-08-02 22:09:39 +03:00
Dan Minor
082a390c61 Bug 1356046 - Remove expired media telemetry; r=jya,alwu,bryce
This removes all telemetry which expired in Firefox 69 or earlier, with the
exceptions of the following, which we plan to renew:
* AUDIO_TRACK_SILENCE_PROPORTION
* MEDIA_AUTOPLAY_WOULD_BE_ALLOWED_COUNT
* MEDIA_AUTOPLAY_WOULD_NOT_BE_ALLOWED_COUNT
* MEDIACACHESTREAM_LENGTH_KB
* MEDIA_MKV_CANPLAY_REQUESTED
* MEDIA_PAGE_COUNT
* MEDIA_PAGE_HAD_MEDIA_COUNT
* VIDEO_DROPPED_FRAMES_PROPORTION
* VIDEO_PLAY_TIME
* VIDEO_HIDDEN_PLAY_TIME
* VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE
* VIDEO_INFERRED_DECODE_SUSPEND_PERCENTAGE
* VIDEO_INTER_KEYFRAME_AVERAGE_MS
* VIDEO_INTER_KEYFRAME_MAX_MS
* VIDEO_SUSPEND_RECOVERY_TIME_MS
* VIDEO_VP9_BENCHMARK_FPS
* WEB_AUDIO_BECOMES_AUDIBLE_TIME
* WEBVTT_TRACK_KINDS

Differential Revision: https://phabricator.services.mozilla.com/D37313

--HG--
extra : moz-landing-system : lando
2019-08-02 18:17:45 +00:00
Michael Froman
d889971613 Bug 1562910 - Use ShmemPool to reduce shmem thrashing in RDD audio decoding. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D36611

--HG--
extra : moz-landing-system : lando
2019-08-02 18:13:46 +00:00
Andreas Pehrson
19cde46042 Bug 1570958 - Demote some WebMWriter assertions to keep release builds clean and happy. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D40447

--HG--
extra : moz-landing-system : lando
2019-08-02 16:31:04 +00:00
arthur.iakab
7aef316861 Backed out changeset b8661a3b5dc2 (bug 1356046) for causing buid bustages on HTMLMediaElement.cpp CLOSED TREE 2019-08-02 19:00:45 +03:00
Dan Minor
a13ff75b20 Bug 1356046 - Remove expired media telemetry; r=jya,alwu,bryce
This removes all telemetry which expired in Firefox 69 or earlier, with the
exceptions of the following, which we plan to renew:
* AUDIO_TRACK_SILENCE_PROPORTION
* MEDIA_AUTOPLAY_WOULD_BE_ALLOWED_COUNT
* MEDIA_AUTOPLAY_WOULD_NOT_BE_ALLOWED_COUNT
* MEDIACACHESTREAM_LENGTH_KB
* MEDIA_MKV_CANPLAY_REQUESTED
* MEDIA_PAGE_COUNT
* MEDIA_PAGE_HAD_MEDIA_COUNT
* VIDEO_DROPPED_FRAMES_PROPORTION
* VIDEO_PLAY_TIME
* VIDEO_HIDDEN_PLAY_TIME
* VIDEO_HIDDEN_PLAY_TIME_PERCENTAGE
* VIDEO_INFERRED_DECODE_SUSPEND_PERCENTAGE
* VIDEO_INTER_KEYFRAME_AVERAGE_MS
* VIDEO_INTER_KEYFRAME_MAX_MS
* VIDEO_SUSPEND_RECOVERY_TIME_MS
* VIDEO_VP9_BENCHMARK_FPS
* WEB_AUDIO_BECOMES_AUDIBLE_TIME
* WEBVTT_TRACK_KINDS

Differential Revision: https://phabricator.services.mozilla.com/D37313

--HG--
extra : moz-landing-system : lando
2019-08-02 15:37:59 +00:00
Andreas Pehrson
f95bb47fbc Bug 1570684 - Don't access MediaStreamTrack::mStream after the track has ended. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D40397

--HG--
extra : moz-landing-system : lando
2019-08-02 12:02:05 +00:00
Tom Schuster
88855a7ee5 Bug 1558915 - Use infallible nsIURI::SchemeIs in dom/. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D40108

--HG--
extra : source : 3da6e9e86be4a4a9eeaceec222398475b6679193
2019-08-02 08:54:18 +00:00
Mihai Alexandru Michis
0cc257addd Backed out 2 changesets (bug 1558915) for causing bustages. CLOSED TREE
Backed out changeset e44c9fd81e5b (bug 1558915)
Backed out changeset 3da6e9e86be4 (bug 1558915)
2019-08-02 12:17:42 +03:00
Tom Schuster
f115dd9113 Bug 1558915 - Use infallible nsIURI::SchemeIs in dom/. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D40108

--HG--
extra : moz-landing-system : lando
2019-08-02 08:54:18 +00:00
Andreas Pehrson
217959703e Bug 1014393 - Use undef-after-def pattern in MediaRecorder and related files. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D37700

--HG--
extra : moz-landing-system : lando
2019-08-01 08:48:39 +00:00
Andreas Pehrson
f5a11fcfea Bug 1014393 - Minor mochitest fixes. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D35311

--HG--
extra : moz-landing-system : lando
2019-08-01 08:48:32 +00:00
Andreas Pehrson
35b3d95480 Bug 1014393 - Unify MediaRecorder session shutdown paths and fix event timing when stopping per spec. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D17814

--HG--
extra : moz-landing-system : lando
2019-08-01 08:48:23 +00:00
Andreas Pehrson
243ffff1f1 Bug 1014393 - Remove MediaRecorder::GetParentObject. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D35308

--HG--
extra : moz-landing-system : lando
2019-08-01 08:48:16 +00:00
Andreas Pehrson
ab728319e1 Bug 1014393 - Remove MediaRecorder::Session::PushBlobRunnable. r=bryce
This moves the impl of PushBlobRunnable from a runnable to MozPromise, which
let's us more easily modularize it's parts (gather the blob, fire dataavailable)
to make individual code paths more explicit.

Differential Revision: https://phabricator.services.mozilla.com/D17813

--HG--
extra : moz-landing-system : lando
2019-08-01 08:48:09 +00:00
Andreas Pehrson
e77851418e Bug 1014393 - Add gtests for the standalone muxer. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D35307

--HG--
extra : moz-landing-system : lando
2019-08-01 08:48:07 +00:00
Andreas Pehrson
3fdfbbebfb Bug 1014393 - Break out muxing and queueing of track data from MediaEncoder to new Muxer class. r=bryce
This first of all does some refactoring of how metadata is encoded in
MediaEncoder. This is now guided by the new Muxer class. If we're ready to pass
data to the muxer and it does not have metadata yet, we provide metadata before
giving it any media data. This metadata is passed to the muxer in a single call.
The metadata provided in this call must stay valid for the entire recording.
This removes MediaEncoder::GetEncodedMetadata().

This also removes the ctor argument from the WebMWriter since it can now rely on
the single SetMetadata() instead.
To comply with the ContainerWriter::SetMetadata() docs,
WebMWriter::SetMetadata() will now also sanity check metadata.

ContainerWriter instances are updated somewhat, to accommodate these changes.

Lastly, and most important, the new Muxer class manages muxing of the (up to)
two tracks into a single container, ensuring that timestamps increase
monotonically throughout a recording.

Differential Revision: https://phabricator.services.mozilla.com/D35306

--HG--
extra : moz-landing-system : lando
2019-08-01 08:48:05 +00:00
Bryce Van Dyk
5bc9634dd0 Bug 1014393 - Move AudioGenerator to its own files so it can be used in more media gtests. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D35389

--HG--
extra : moz-landing-system : lando
2019-08-01 08:47:58 +00:00
Bryce Van Dyk
43248dc436 Bug 1014393 - MediaEncoder better orders frames passed to the muxer. r=pehrsons
Update MediaEncoder to pass frames to the muxer in order of their time stamps.
This should prevent the currently possible scenario where audio and video
frames are written with non-monotonically increasing timestamps (in violation
of the webm spec).

Differential Revision: https://phabricator.services.mozilla.com/D35388

--HG--
extra : moz-landing-system : lando
2019-08-01 08:47:56 +00:00
Bryce Van Dyk
3709f83504 Bug 1014393 - Use MediaQueue to store frames pending write to muxer in MediaEncoder. r=pehrsons
MediaQueue provides a better interface for interleaving frames when writing to
the muxer (this change will follow in another changeset). The queue interface
provides a nicer abstraction than manually managing a nsTArray.

Differential Revision: https://phabricator.services.mozilla.com/D35387

--HG--
extra : moz-landing-system : lando
2019-08-01 08:47:54 +00:00
Bryce Van Dyk
30807b0d9c Bug 1014393 - Update EncodedFrame class to more closely resemble MediaData class. r=pehrsons
This changes EncodedFrame to behave more like MediaData, so that EncodedFrame
can be used with the MediaQueue data structure. It also provides a somewhat
more consistent interface across media data types.

Differential Revision: https://phabricator.services.mozilla.com/D35386

--HG--
extra : moz-landing-system : lando
2019-08-01 08:47:52 +00:00
Bryce Van Dyk
8153763cf9 Bug 1014393 - Shift responsibility of adjusting packets with opus codec delay to MediaEncoder. r=pehrsons
Move the responsibility of adjusting opus frame timestamps to the MediaEncoder.
This was previously done by the EbmlComposer, but doing so in the MediaEncoder
means we can have greater control over handling of time codes and interleaving
of frames.

Differential Revision: https://phabricator.services.mozilla.com/D35385

--HG--
extra : moz-landing-system : lando
2019-08-01 08:47:51 +00:00
Bryce Van Dyk
bb260c1a1f Bug 1014393 - Remove EncodedFrameContainer. r=pehrsons
Remove EncodedFrameContainer and clean up areas where it was used.
EncodedFrameContainer provided a wrapper around an
nsTArray<RefPtr<EncodedFrame>>, but it simplifies the code to simply expose
this array. Also clean up unused enums in EncodedFrame, and clean up some of
the outdated comments for our encoded frame handling.

Differential Revision: https://phabricator.services.mozilla.com/D35384

--HG--
rename : dom/media/encoder/EncodedFrameContainer.h => dom/media/encoder/EncodedFrame.h
extra : moz-landing-system : lando
2019-08-01 08:47:49 +00:00
Bryce Van Dyk
12d9da22ba Bug 1014393 - Separate MediaEncoders encode and mux steps. r=pehrsons
Separating the encode and mux steps allows for better control over interleaving
audio and video data. If encode and mux are done in a single step it's possible
to mux large amounts of audio or video data which should have been interleaved
with the other data type to give correctly ordered time stamps in the target
container.

Differential Revision: https://phabricator.services.mozilla.com/D35383

--HG--
extra : moz-landing-system : lando
2019-08-01 08:47:47 +00:00
Gurzau Raul
bcc3fa9613 Backed out 15 changesets (bug 1014393) for build bustage at TestMuxer.cpp on a CLOSED TREE.
Backed out changeset e6d834f3786e (bug 1014393)
Backed out changeset 2d880ea6e67c (bug 1014393)
Backed out changeset 9a087b7459cc (bug 1014393)
Backed out changeset 0dd76879ff03 (bug 1014393)
Backed out changeset b88188e0d590 (bug 1014393)
Backed out changeset 24f244ea8fff (bug 1014393)
Backed out changeset 0e85d193f8ff (bug 1014393)
Backed out changeset 12f932aeb3e9 (bug 1014393)
Backed out changeset 8bcbc931942b (bug 1014393)
Backed out changeset a16bcc633362 (bug 1014393)
Backed out changeset bf46f2a2e519 (bug 1014393)
Backed out changeset aa508d83a2c3 (bug 1014393)
Backed out changeset 085fb3e97aaa (bug 1014393)
Backed out changeset e872361b9f3b (bug 1014393)
Backed out changeset b4fb228c8624 (bug 1014393)

--HG--
rename : dom/media/encoder/EncodedFrame.h => dom/media/encoder/EncodedFrameContainer.h
2019-07-31 23:28:47 +03:00
Dan Minor
97c5db53eb Bug 1561923 - Remove expired WebRTC telemetry; r=drno,bwc
Differential Revision: https://phabricator.services.mozilla.com/D37757

--HG--
extra : moz-landing-system : lando
2019-07-31 19:57:55 +00:00
Andreas Pehrson
e69b4c4e72 Bug 1499572 - Use default keyframe interval when no timeslice (aka 0) was passed. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D40043

--HG--
extra : moz-landing-system : lando
2019-07-31 15:37:27 +00:00
Andreas Pehrson
0123e701dd Bug 1014393 - Use undef-after-def pattern in MediaRecorder and related files. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D37700

--HG--
extra : moz-landing-system : lando
2019-07-31 11:30:26 +00:00
Andreas Pehrson
b6a479c75e Bug 1014393 - Minor mochitest fixes. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D35311

--HG--
extra : moz-landing-system : lando
2019-07-31 11:30:11 +00:00
Andreas Pehrson
da4fea8db5 Bug 1014393 - Unify MediaRecorder session shutdown paths and fix event timing when stopping per spec. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D17814

--HG--
extra : moz-landing-system : lando
2019-07-31 11:30:01 +00:00
Andreas Pehrson
b0373ad9e6 Bug 1014393 - Remove MediaRecorder::GetParentObject. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D35308

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:54 +00:00
Andreas Pehrson
e8685eab05 Bug 1014393 - Remove MediaRecorder::Session::PushBlobRunnable. r=bryce
This moves the impl of PushBlobRunnable from a runnable to MozPromise, which
let's us more easily modularize it's parts (gather the blob, fire dataavailable)
to make individual code paths more explicit.

Differential Revision: https://phabricator.services.mozilla.com/D17813

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:47 +00:00
Andreas Pehrson
e22277134b Bug 1014393 - Add gtests for the standalone muxer. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D35307

--HG--
extra : moz-landing-system : lando
2019-07-31 11:29:37 +00:00