Граф коммитов

21120 Коммитов

Автор SHA1 Сообщение Дата
Brad Werth 5ece66ed4c Bug 1773353: Prevent ResourceQueue::EvictAll and ::EvictBefore from attempting to retrieve elements of an empty queue. r=media-playback-reviewers,padenot
These early exits prevent calls to `ResourceAt(0)` on an empty queue. Such
a call emits an NS_WARN message. Both calls can either start with an empty
queue or loop until they empty the queue. Since these functions are called
frequently, the NS_WARN messages can fill up the console.

Differential Revision: https://phabricator.services.mozilla.com/D148678
2022-06-09 17:28:12 +00:00
Cosmin Sabou 882f253121 Backed out 4 changesets (bug 1773373) for causing hybrid build bustages. CLOSED TREE
Backed out changeset c705807d3549 (bug 1773373)
Backed out changeset 0806b667b3ac (bug 1773373)
Backed out changeset 121fba1d1b49 (bug 1773373)
Backed out changeset 41232e986121 (bug 1773373)
2022-06-09 18:47:16 +03:00
Michael Froman 16ad6c2366 Bug 1773373 - pt3 - Remove dependency on webrtc::Config r=ng
Differential Revision: https://phabricator.services.mozilla.com/D148692
2022-06-09 15:02:05 +00:00
Michael Froman 87b56161da Bug 1773373 - pt2 - Move CaptureDeviceType and CaptureDeviceInfo from libwebtc to VideoEngine r=ng
Differential Revision: https://phabricator.services.mozilla.com/D148691
2022-06-09 15:02:05 +00:00
Michael Froman 78a40709e8 Bug 1773373 - pt1 - Remove unused mConfig and related methods in VideoEngine r=ng
Differential Revision: https://phabricator.services.mozilla.com/D148690
2022-06-09 15:02:04 +00:00
alwu c883782c7b Bug 1771986 - introduce new thread count strategy for dav1decoder. r=jrmuizel,media-playback-reviewers,azebrowski
Differential Revision: https://phabricator.services.mozilla.com/D148703
2022-06-08 23:26:19 +00:00
Mike Hommey 7b0456f26a Bug 1773231 - Remove CR_SYSROOT_HASH from build config. r=mjf
It's not doing anything useful and only adds noise to our moz.build files.

Differential Revision: https://phabricator.services.mozilla.com/D148630
2022-06-08 22:52:03 +00:00
Jan-Ivar Bruaroey ea7a74a678 Bug 1773067 - Test that getStats on closed peer connection rejects and doesn't hang. r=jesup,jrmuizel
Depends on D148562

Differential Revision: https://phabricator.services.mozilla.com/D148563
2022-06-07 21:21:14 +00:00
Jan-Ivar Bruaroey 49fc429bf7 Bug 1773067 - Restore previous behavior of rejecting getStats if invoked on closed peer connection. r=jesup,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D148562
2022-06-07 21:21:14 +00:00
Mark Banner 254a0dc016 Bug 1770727 - Fix remaining ESLint rules for sjs files. r=Gijs,necko-reviewers,kershaw
Depends on D147082

Differential Revision: https://phabricator.services.mozilla.com/D147083
2022-06-07 19:14:09 +00:00
Mark Banner eadf832cfb Bug 1770727 - Fix failures of ESLint rule mozilla/use-includes-instead-of-indexOf in sjs files. r=Gijs
Depends on D147081

Differential Revision: https://phabricator.services.mozilla.com/D147082
2022-06-07 19:14:08 +00:00
Mark Banner 61c02dadbe Bug 1770727 - Fix ESLint rule mozilla/use-services on sjs files and expose Services to sjs files. r=Gijs
Depends on D147080

Differential Revision: https://phabricator.services.mozilla.com/D147081
2022-06-07 19:14:08 +00:00
Mark Banner 61e9715e53 Bug 1770727 - Fix some more ESLint rules on sjs files. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D147080
2022-06-07 19:14:08 +00:00
Sylvestre Ledru 42f6811d95 Bug 1519636 - Reformat recent changes to the Google coding style r=andi,media-playback-reviewers,necko-reviewers,padenot,dragana
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D148375
2022-06-07 12:32:55 +00:00
Tooru Fujisawa 096b62d9f0 Bug 1772094 - Part 5: Use plain object for lazy getter in dom/media/. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D147912
2022-06-07 04:29:13 +00:00
serge-sans-paille 2f3f06ad63 Bug 1772747 - Cleanup dom/geolocation, dom/system, dom/battery and dom/canvas includes r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D148351
2022-06-06 08:13:34 +00:00
Kagami Sascha Rosylight d7301d29b5 Bug 1769290 - Part 9: Apply mozilla-js-handle-rooted-typedef against dom/localstorage,locks,media,midi,notification,payments r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D148282
2022-06-05 20:54:59 +00:00
serge-sans-paille d1fbd5e212 Bug 1771948 - Cleanup dom/canvas dom/geolocation and some dom/media includes r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D147769
2022-06-05 09:23:00 +00:00
Paul Adenot f40adcf8b3 Bug 1771411 - Use LifecycleStateRef() in an MTG lifecycle assertion. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D148115
2022-06-03 10:04:35 +00:00
Tom Ritter cbfea2e77d Bug 1692609 - Update tests for a higher-precision RFP r=jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D148123
2022-06-02 18:27:49 +00:00
Mike Hommey 46156fb100 Bug 1710421 - [webdriver] Update warp and hyper dependencies. r=mjf,webdriver-reviewers
At the same time, update mdns_service to socket2 0.4 to avoid a duplicate.

Differential Revision: https://phabricator.services.mozilla.com/D147479
2022-06-01 22:05:53 +00:00
Chun-Min Chang 1ee18d1a61 Bug 1764186 - Make ConnectTo(Non)NativeDevice main-thread only r=padenot
After making `MediaInputPort::Get{Source, Destination}` graph-thread
only, we can no longer use them in `ConnectToNativeDevice` and
`ConnectToNonNativeDevice` since their caller run these two functions in
the main thread in our tests.

It's better to re-implement `ConnectToNativeDevice` and
`ConnectToNonNativeDevice` as main-thread APIs now.

Depends on D143780

Differential Revision: https://phabricator.services.mozilla.com/D147790
2022-06-01 16:52:07 +00:00
Chun-Min Chang 21d234b564 Bug 1764186 - Make sure MediaInputPort::Get{Source, Destination} are graph-thread only r=bwc,padenot
`MediaInputPort::Get{Source, Destination}` should be graph-thread only since the `MediaInputPort`'s `mSource` and `mDest` will be cleaned up on the graph thread [1], in case of causing some potential racing issues.

[1] https://searchfox.org/mozilla-central/rev/10edce3685369a4c73955cc8d5fcbc5a9d7598af/dom/media/MediaTrackGraph.cpp#2944-2945

Differential Revision: https://phabricator.services.mozilla.com/D143780
2022-06-01 16:52:07 +00:00
Marian-Vasile Laza 03a1ff18e4 Backed out 6 changesets (bug 1772068, bug 1710421) for causing multiple web-platform failures. CLOSED TREE
Backed out changeset 7dc183461431 (bug 1772068)
Backed out changeset 437682fe4871 (bug 1772068)
Backed out changeset 717912ea0672 (bug 1772068)
Backed out changeset 6790f990c322 (bug 1772068)
Backed out changeset 33831638ba99 (bug 1710421)
Backed out changeset b35aaa56fa54 (bug 1710421)
2022-06-01 15:01:10 +03:00
Mike Hommey d50e4bf7f4 Bug 1710421 - [webdriver] Update warp and hyper dependencies. r=mjf,webdriver-reviewers
At the same time, update mdns_service to socket2 0.4 to avoid a duplicate.

Differential Revision: https://phabricator.services.mozilla.com/D147479
2022-06-01 09:57:13 +00:00
Marian-Vasile Laza 5d7edc0d2e Backed out 2 changesets (bug 1710421) for causing web-platform failures on context.rs. CLOSED TREE
Backed out changeset bdd6f29ebeeb (bug 1710421)
Backed out changeset 1739da34411f (bug 1710421)
2022-06-01 10:34:41 +03:00
Mike Hommey 2bfc571ce5 Bug 1710421 - [webdriver] Update warp and hyper dependencies. r=mjf,webdriver-reviewers
At the same time, update mdns_service to socket2 0.4 to avoid a duplicate.

Differential Revision: https://phabricator.services.mozilla.com/D147479
2022-06-01 06:44:07 +00:00
Brad Werth 8626787faa Bug 1768824 Part 2: Set macOS transfer functions independently of colorSpace. r=media-playback-reviewers,alwu
This creates a helper function in a new class gfxMacUtils that makes the
software and hardware decoders use the same logic. The new class was
necessary because gfxUtils is included in many files that don't include
CoreFoundation headers and would hit namespace collision if it was included
there.

Differential Revision: https://phabricator.services.mozilla.com/D146735
2022-05-31 23:06:16 +00:00
Brad Werth a020cf9407 Bug 1768824 Part 1: Track transfer characteristics for BT709. r=media-playback-reviewers,alwu
BT709 transfer characteristics may be specified in videos even if they don't
use the BT709 colorSpace. This change also makes BT709 the default, since it
is the safest option for unspecified cases.

Differential Revision: https://phabricator.services.mozilla.com/D146734
2022-05-31 23:06:15 +00:00
Serge Guelton 32148d64d5 Bug 1770463 - cleanup dom/media/webrtc/transport includes r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D146926
2022-05-27 14:21:05 +00:00
Iulian Moraru fde9af09c2 Backed out changeset 8ff752dc79b2 (bug 1764186) for causing gtest failures on MediaTrackGraph. CLOSED TREE 2022-05-27 03:23:26 +03:00
Chun-Min Chang 73fb2e3f53 Bug 1764186 - Make sure MediaInputPort::Get{Source, Destination} are graph-thread only r=bwc,padenot
`MediaInputPort::Get{Source, Destination}` should be graph-thread only since the `MediaInputPort`'s `mSource` and `mDest` will be cleaned up on the graph thread [1], in case of causing some potential racing issues.

[1] https://searchfox.org/mozilla-central/rev/10edce3685369a4c73955cc8d5fcbc5a9d7598af/dom/media/MediaTrackGraph.cpp#2944-2945

Differential Revision: https://phabricator.services.mozilla.com/D143780
2022-05-26 23:17:49 +00:00
Alexandre Lissy c53de97817 Bug 1767930 - Enable Utility AudioDecoder for Android r=jolin
Differential Revision: https://phabricator.services.mozilla.com/D145785
2022-05-26 23:00:07 +00:00
Jeff Muizelaar f1980a4fbf Bug 1767170 - Add some more outbound-rtp stats. r=ng,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D145177
2022-05-26 17:35:14 +00:00
Jeff Muizelaar 79ba6a28b6 Bug 1771309. Fill in encoded width and height values for h264. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D147434
2022-05-26 17:26:03 +00:00
Masayuki Nakano c8fc1057ba Bug 1680611 - part 2: Mark `nsFocusManager::SetFocusedWindowWithCallerType` and its callers in `nsFocusManager` as `MOZ_CAN_RUN_SCRIPT` r=smaug,media-playback-reviewers,chunmin
Differential Revision: https://phabricator.services.mozilla.com/D147061
2022-05-26 04:37:18 +00:00
Alexandre Lissy 43ff7d79dd Bug 1770558 - Ensure proper handling of returned promise r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D147158
2022-05-26 01:03:50 +00:00
stransky 2f42463868 Bug 1770691 [FFMPEG] Print/log error codes better r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D147056
2022-05-25 06:22:16 +00:00
sotaro 67c9303612 Bug 1766684 - Use compositor device for hardware video decoding only with hardware WebRender r=jrmuizel,gfx-reviewers
Do not use compositor device for decoder device when SW-WR + D3D11 is used.

When SW-WR + D3D11 is used, there is a case that RenderDXGITextureHost::MapPlane() is called. It readbacks video frame data from ID3D11Texture2D. Before doing the readback, copying video data/decoding video data needs to be completed. But we could not use keyed mutex for the ID3D11Texture2D.

To prevent the problem, SyncObjectD3D11Client::Synchronize() is called in D3D11DXVA2Manager::CopyToImage(). But the Synchronize() is called only when decoder device is not compositor device. Then when compositor device is not used for decoder device, the readback problem does not happen.

Differential Revision: https://phabricator.services.mozilla.com/D147049
2022-05-25 01:41:03 +00:00
Marian-Vasile Laza 9902932742 Merge autoland to mozilla-central. a=merge 2022-05-25 00:42:50 +03:00
Lee Salzman 8fde381a77 Bug 1770504 - Disable test_mediarecorder_record_changing_video_resolution.html on Linux tsan/asan. r=aosmond,gfx-reviewers
test_mediarecorder_record_changing_video_resolution.html is very sensitive to timing,
and tsan/asan builds plus accelerated Canvas2D can mess with the timing enoug to cause
these tests to fail more frequently.

Differential Revision: https://phabricator.services.mozilla.com/D146982
2022-05-24 14:42:01 +00:00
Lee Salzman e5c713daca Bug 1719881 - Disable test_capture_stream_av_sync.html on Linux debug. r=aosmond,gfx-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D147015
2022-05-24 14:41:28 +00:00
Molnar Sandor 05e3775a6c Backed out 4 changesets (bug 1770727) for causing mochitest failures in test_bug1180105/test_access_control. CLOSED TREE
Backed out changeset 6323b526b0ac (bug 1770727)
Backed out changeset fc7ea80aa2ff (bug 1770727)
Backed out changeset 2a358ba86652 (bug 1770727)
Backed out changeset 464d1af6523b (bug 1770727)
2022-05-24 17:24:40 +03:00
Paul Adenot 0a42587468 Bug 1743834 - Ensure AudioSink are shut down properly when dispatching fails, after they have been initialized. r=alwu
This patch handles this case:
https://searchfox.org/mozilla-central/rev/97c902e8f92b15dc63eb584bfc594ecb041242a4/xpcom/threads/TaskQueue.h#90-93

When the dispatch fails, we can't shutdown the AudioSink properly from the call
site after checking the return value because it's a UniquePtr transferred to the
closure, so we need to do it in the dtor.

Differential Revision: https://phabricator.services.mozilla.com/D146304
2022-05-24 13:09:12 +00:00
Paul Adenot c3ebcd4b77 Bug 1743834 - Handle the fact that it is possible to not have the ended promise on AudioSink shutdown, when muting. r=alwu
It can be resolved from the audio callback thread, which isn't synchronized with
the MDSM thread event loop.

Differential Revision: https://phabricator.services.mozilla.com/D146198
2022-05-24 13:09:11 +00:00
Paul Adenot 8d6098089e Bug 1743834 - Add logging in all branches of AudioSinkWrapper. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D146197
2022-05-24 13:09:11 +00:00
Paul Adenot b495101342 Bug 1743834 - Do not update variable that hold the media time if not playing in OnMuted. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D146196
2022-05-24 13:09:10 +00:00
Paul Adenot 50239a799b Bug 1743834 - Split AudioSink into its own log module. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D146195
2022-05-24 13:09:10 +00:00
Paul Adenot b5ae667a29 Bug 1743834 - Trigger the audibility event at the beginning of the initialization of an audio stream, when un-muting. r=alwu
The initialization itself can take some time and this audibility event is used
to prioritize the process, that will soon become audible, on at least Windows,
so it's better to get prioritized slightly ahead of time.

We should eventually untie audibility from priorities, but this hasn't happened
yet. Instead, we should make it so silent audio for an extended period of time
causes a shutdown of the cubeb stream, it's a lot more efficient.

Differential Revision: https://phabricator.services.mozilla.com/D145328
2022-05-24 13:09:10 +00:00
Paul Adenot 6612306c97 Bug 1743834 - After unmuting, re-initialize the AudioSink asynchronously. r=alwu
On Windows (in particular, but also not quick on other OS, depending on the
hardware being used), opening a system-level audio stream (using cubeb)
can be very long. It's a blocking call from the MDSM thread. The MDSM can't
query the clock and update video frames while the stream is being opened,
resulting in the video freezing.

On the other hand, we don't want the clock starting to increase while first
starting the media, it's better to block the MDSM in this case.

This patch changes `AudioSinkWrapper::StartAudioSink` to have two modes:
- A synchronous mode for the first opening (and therefore for seeking, etc.)
- An asynchronous mode to use when the stream is unmuted: the AudioSinkWrapper
will continue to use a clock based on the system clock, until the system-level
audio stream is effectively opened, at which point it will switch to using it
for the clock.

This new mode does the initialization on a background thread, but starts the
system-level audio stream from the MDSM thread (it's fast enough and simplifies
the code a lot).

The promises are created synchronously, because this is what the MDSM expects,
but they are rejected in case of failure.

Finally, an edge case is handled: if the stream is stopped while it's being
opened asynchronously. This is detected, and instead of starting the
system-level audio stream, the stream is shut down.

Differential Revision: https://phabricator.services.mozilla.com/D145000
2022-05-24 13:09:09 +00:00
Paul Adenot 8e14b4cc53 Bug 1743834 - Split initialization and start in AudioSinkWrapper. r=alwu
No change in functionality, this is to prepare for the next patch that will do
the initialization asynchronously because it's expensing and blocking.

Differential Revision: https://phabricator.services.mozilla.com/D144999
2022-05-24 13:09:09 +00:00
Paul Adenot 2efd70ad47 Bug 1765554 - Relax clock monotonicity assertion on Windows, for investigation. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D144195
2022-05-24 13:09:09 +00:00
Paul Adenot dab92f728e Bug 1743834 - Assert the media clock monotonicity with MOZ_ASSERT. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D143823
2022-05-24 13:09:08 +00:00
Paul Adenot 1f44d7e428 Bug 1743834 - When no packet are in the queue when shutting down the AudioStream, try our best to provide timing data. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D141992
2022-05-24 13:09:08 +00:00
Paul Adenot 0eebe8ba74 Bug 1743834 - Fix static-analysis warning. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D141991
2022-05-24 13:09:08 +00:00
Paul Adenot 880373650f Bug 1743834 - Don't start with an AudioSink if muted from the start. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D141990
2022-05-24 13:09:07 +00:00
Paul Adenot f390de1f06 Bug 1743834 - Correctly set the start time when the audio callbacks actually are called, the first time audio audio clock starts to be in use. r=alwu,media-playback-reviewers
The base clock for the new audio stream is precisely the time when the clock
source changes from the system clock to the audio clock, accounting for the time
it takes to actually starts the stream. This allows avoiding discontinuities
when switching clocks.

Differential Revision: https://phabricator.services.mozilla.com/D136237
2022-05-24 13:09:07 +00:00
Paul Adenot a6e5c1f4ff Bug 1743834 - Detect when switching clock provider in AudioSinkWrapper. r=alwu,media-playback-reviewers
This will allow detecting the first time the AudioSinkWrapper starts using the
clock from an audio stream after having been muted (=using the system clock) for
some time, to correct the timing.

Differential Revision: https://phabricator.services.mozilla.com/D136236
2022-05-24 13:09:06 +00:00
Paul Adenot f048891e77 Bug 1743834 - Wait for the audio callbacks to start being called before using the audio clock. r=alwu,media-playback-reviewers
Because we're generally using high latency on the cubeb stream used by
AudioStream instance, it can take some time for the callbacks to start being
called, and the for the audio clock (cubeb_stream_get_position(...)) to advance.

This waits for the first callback to be called before using the clock of the
audio stream, and the system clock keeps being in use until then.

Differential Revision: https://phabricator.services.mozilla.com/D136235
2022-05-24 13:09:06 +00:00
Paul Adenot 024b4fe28b Bug 1743834 - Shut down the AudioSink when audio is muted. r=alwu,media-playback-reviewers
This does the following:
- When the media is muted, shut down and release the AudioSink ;
- While the media is muted, use the system clock to make video advance ;
- Each time the clock is queried, check if some audio packets should be
discarded because they are in the past, compared to the media time ;
- While muted, if the audio finished, resolve the EndedPromise ;
- When the media is un-muted, a new AudioSink is created, and its clock starts
to be in use.

This works well and A/V sync is correct, but a micro-stuttering is perceptible
on the video when looking carefully, because of the time it takes to open the
audio stream. This is fixed in subsequent patches.

Differential Revision: https://phabricator.services.mozilla.com/D136234
2022-05-24 13:09:06 +00:00
Paul Adenot 017bb613c7 Bug 1743834 - Create and manage the lifetime of the AudioStream EndedPromise in AudioSinkWrapper. r=alwu,media-playback-reviewers
We're going to shutdown the AudioStream in a subsequent patch, when audio is
muted. This will allow resolving it at the right time when the media ends while
muted.

This also extracts a method to start an AudioSink, because it's going to be
started in multiple locations in a future patch.

Differential Revision: https://phabricator.services.mozilla.com/D136233
2022-05-24 13:09:05 +00:00
Paul Adenot 5ac8c5f580 Bug 1743834 - Add a logging module for AudioSink. r=alwu,media-playback-reviewers
Depends on D133642

Differential Revision: https://phabricator.services.mozilla.com/D133643
2022-05-24 13:09:05 +00:00
Paul Adenot 8b1e4a744d Bug 1743834 - Make GetClock() non-const on MediaSink, and allow the AudioSink to modify the AudioQueue. r=alwu,media-playback-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D133642
2022-05-24 13:09:04 +00:00
Mark Banner 5364458f47 Bug 1770727 - Fix remaining ESLint rules for sjs files. r=Gijs,necko-reviewers,kershaw
Depends on D147082

Differential Revision: https://phabricator.services.mozilla.com/D147083
2022-05-24 12:59:10 +00:00
Mark Banner 18b014551e Bug 1770727 - Fix failures of ESLint rule mozilla/use-includes-instead-of-indexOf in sjs files. r=Gijs
Depends on D147081

Differential Revision: https://phabricator.services.mozilla.com/D147082
2022-05-24 12:59:09 +00:00
Mark Banner dac6401c3b Bug 1770727 - Fix ESLint rule mozilla/use-services on sjs files and expose Services to sjs files. r=Gijs
Depends on D147080

Differential Revision: https://phabricator.services.mozilla.com/D147081
2022-05-24 12:59:09 +00:00
Mark Banner ef5633d319 Bug 1770727 - Fix some more ESLint rules on sjs files. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D147080
2022-05-24 12:59:08 +00:00
Paul Adenot 9154798471 Bug 1767549 - Move a particular crashtest that requires a working audio stack at the beginning of the test suite. r=karlt
Some of the tests in the webrtc and playback crash tests open/close lots of
stream at once, frequently putting the system audio stack in error, and no new
streams can be opened.

This patch moves a particular test that requires a working audio stack at the
beginning of the suite to make it pass consistently.

Differential Revision: https://phabricator.services.mozilla.com/D147093
2022-05-24 11:41:08 +00:00
Paul Adenot d558cd8795 Bug 1767549 - Ensure that AudioContext state transition happen at the right time w.r.t. cubeb stream initialization time. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D146713
2022-05-24 11:41:07 +00:00
Paul Adenot a8d47185e0 Bug 1767549 - Allow delaying the start of a cubeb stream for test purposes. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D146712
2022-05-24 11:41:07 +00:00
Paul Adenot 126921cf95 Bug 1767549 - Fix test_currentTime.html to wait for the initial "suspended" -> "running" transition. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D147086
2022-05-24 11:41:06 +00:00
Paul Adenot 210c49a96c Bug 1767549 - Don't (re)start an AudioContext when still on a FallbackDriver. r=karlt
Original idea by :karlt.

Differential Revision: https://phabricator.services.mozilla.com/D147085
2022-05-24 11:41:06 +00:00
Cosmin Sabou bf621169ff Backed out changeset df0ce31b1c48 (bug 1770691) for linux toolchain bustage on FFmpegVideoDecoder.cpp. 2022-05-24 14:40:49 +03:00
stransky 8775616bc9 Bug 1770691 [FFMPEG] Print/log error codes better r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D147056
2022-05-24 09:37:35 +00:00
Bogdan Szekely 0f9ad660dd Backed out 4 changesets (bug 1767549) for causing mda failures on test_slowStart.html
Backed out changeset 859a07722632 (bug 1767549)
Backed out changeset 46187304029d (bug 1767549)
Backed out changeset 8aa67afb67c4 (bug 1767549)
Backed out changeset 75326cb6e15e (bug 1767549)
2022-05-24 12:47:50 +03:00
Paul Adenot 3a97cb073e Bug 1767549 - Move a particular crashtest that requires a working audio stack at the beginning of the test suite. r=karlt
Some of the tests in the webrtc and playback crash tests open/close lots of
stream at once, frequently putting the system audio stack in error, and no new
streams can be opened.

This patch moves a particular test that requires a working audio stack at the
beginning of the suite to make it pass consistently.

Differential Revision: https://phabricator.services.mozilla.com/D147093
2022-05-24 08:52:14 +00:00
Paul Adenot 376ac34fe5 Bug 1767549 - Ensure that AudioContext state transition happen at the right time w.r.t. cubeb stream initialization time. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D146713
2022-05-24 08:52:13 +00:00
Paul Adenot 3f95ffa19f Bug 1767549 - Allow delaying the start of a cubeb stream for test purposes. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D146712
2022-05-24 08:52:13 +00:00
Paul Adenot 5f88cd32c1 Bug 1767549 - Fix test_currentTime.html to wait for the initial "suspended" -> "running" transition. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D147086
2022-05-24 08:52:12 +00:00
Paul Adenot fe3de99635 Bug 1770073 - Add a crashtest for an ADTS file. r=kinetik
Media file generated with:

> cd dom/media/test/crashtests/
> ffmpeg -i test.mp4 -c:v none test.aac

Differential Revision: https://phabricator.services.mozilla.com/D146807
2022-05-23 11:59:44 +00:00
Paul Adenot 02b7d6a058 Bug 1770073 - Allow AudioCodecSpecificBinaryBlob in WMF and ffmpeg decoders, for AAC. r=kinetik,media-playback-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D146806
2022-05-23 11:59:44 +00:00
Alexandre Lissy fa426f0db4 Bug 1769033 - Dont use major version for libavcodec on OpenBSD r=gaston,media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D146444
2022-05-20 08:25:03 +00:00
stransky 96eb6af142 Bug 1767568 Test AV1 decode from mp4 container only if ffvpx is used for video decode, r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D146415
2022-05-20 07:12:38 +00:00
sotaro 4f8549101c Bug 1766282 - Do not use SharedHandle of ID3D11Texture2D of hardware decoded video during no video copy r=jgilbert,jrmuizel,gfx-reviewers
With CI's NVIDIA GPU, SharedHandle of ID3D11Texture2D of hardware decoded video during no video copy caused rendering problem. When SharedHandle is not used, the rendering problem did not happen. But when video is rendered to WebGL texture, SharedHandle need to be used.
In this case, D3D11TextureIMFSampleImage copies original ID3D11Texture2D to a new ID3D11Texture2D and use a shared handled of the copied texture. And no video copy of future video frames are disabled.

NoCopyNV12Texture is renamed to ZeroCopyNV12Texture to clarify its meaning.

Differential Revision: https://phabricator.services.mozilla.com/D144598
2022-05-20 04:37:53 +00:00
Marian-Vasile Laza dfc5ffc7fa Backed out changeset 9bd60f359de2 (bug 1767899) for causing build bustages on EventTargetCapability.h. 2022-05-20 04:58:00 +03:00
Bryce Seager van Dyk 97a8f6862e Bug 1767899 - Guard some members that expect to be accessed on event target in TrackBuffersManager. r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D145529
2022-05-20 01:27:07 +00:00
Alexandre Lissy edeb9a2237 Bug 1770086 - Cleanup static on shutdown r=alwu
Depends on D146567

Differential Revision: https://phabricator.services.mozilla.com/D146848
2022-05-19 23:50:59 +00:00
Joel Maher 4645118c87 Bug 1392106 - remove obsolete reftest win7 conditions. r=aryx
Differential Revision: https://phabricator.services.mozilla.com/D146633
2022-05-19 12:27:29 +00:00
Mark Banner 7c198e01fd Bug 1769569 - Fix remaining ESLint no-undef and no-unused-vars issues in sjs files. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D146452
2022-05-18 08:13:19 +00:00
Mark Banner 3924c8914b Bug 1769569 - Automatically replace Components.* with C* in sjs files. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D146451
2022-05-18 08:13:19 +00:00
Bryce Seager van Dyk 3df14aa79d Bug 1747760 - P10: Remove AudioInfo.mExtraData. r=kinetik
This is no longer needed as the codec specific data member covers all codec
specific data.

Differential Revision: https://phabricator.services.mozilla.com/D145523
2022-05-17 23:09:08 +00:00
Bryce Seager van Dyk 45ccca4aaf Bug 1747760 - P9: Handle Vorbis data with Vorbis codec specific variant. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D145522
2022-05-17 23:09:08 +00:00
Bryce Seager van Dyk d9f0575073 Bug 1747760 - P8: Handle Opus data using Opus codec specific variant. r=kinetik.
This means as of this patch
- All mp4 specific audio codecs are handled. There's some more we could
  theoretically get, stuff like ALAC, but it's not clear to me we handle them
  following demuxing. I've left a catch all in the mp4 demuxing code just in
  case.
- We no longer pack the codec-delay/preskip at the head of the opus binary blob.
  This means that the binary blob is just the opus header data and the container
  specific preskip has its own member. My hope is this is clearer and easier to
  understand. It also means we can drop some of the code we had for packing the
  delay/preskip into a binary blob.

Differential Revision: https://phabricator.services.mozilla.com/D145521
2022-05-17 23:09:07 +00:00
Bryce Seager van Dyk 8f2f3c219d Bug 1747760 - P7: Handle aac codec specific data using aac codec specific variant. r=kinetik
This should be the last change needed for a number of our platform specific
decoders to be switched entirely over to the new variant types. As such, we can
move them from the lenient `ForceGetAudioCodecSpecificBlob` and to
`GetAudioCodecSpecificBlob` to enforce handling of codecs that don't use
trivially blob like codec specific data.

Differential Revision: https://phabricator.services.mozilla.com/D145520
2022-05-17 23:09:07 +00:00
Bryce Seager van Dyk a9c5796d3d Bug 1747760 - P6: Use Wave specific codec data for Wave audio. r=kinetik
We don't store Wave specific info, but this means that we have a struct in place
if we ever want to add such data + gives us more typing info for codec specific
data.

Differential Revision: https://phabricator.services.mozilla.com/D145519
2022-05-17 23:09:07 +00:00
Bryce Seager van Dyk 8ea4c13088 Bug 1747760 - P5: Handle flac codec specific data using flac codec specific variant. r=kinetik
This also populates flac codec specific data for flac in mp4, which appears to
have been overlooked.

Depends on D134730

Differential Revision: https://phabricator.services.mozilla.com/D134731
2022-05-17 23:09:06 +00:00
Bryce Seager van Dyk a56255ef1f Bug 1747760 - P4: Handle mp3 codec specific data using mp3 codec specific variant. r=kinetik
This switches the mp3 codec specific handling from using a binary blob to
instead use a typed structure.

Depends on D134729

Differential Revision: https://phabricator.services.mozilla.com/D134730
2022-05-17 23:09:06 +00:00
Bryce Seager van Dyk 60ac1098c6 Bug 1747760 - P3: Rework audio codec specific data to use new variant with a generic blob. r=kinetik
This switches existing code to use the new variant style codec specific
information for audio, but retains the binary blob style apporach everywhere.

There should be no functional changes following this refactor. Internally all
codec specific data is still stored in blobs. This allows a baseline from which
we can modify specific codecs to use more constrained versions of the variant.

Depends on D134728

Differential Revision: https://phabricator.services.mozilla.com/D134729
2022-05-17 23:09:05 +00:00
Bryce Seager van Dyk 713bc6678c Bug 1747760 - P2: Add IPC code for new codec types. r=kinetik
This updates our IPC code so we can send and receive the new types introduced in
the prior patch.

Depends on D134727

Differential Revision: https://phabricator.services.mozilla.com/D134728
2022-05-17 23:09:05 +00:00
Bryce Seager van Dyk 7c0e11d14c Bug 1747760 - P1: Add audio codec specific info variant to help give more type info for codec specific data. r=kinetik
This introduces structures that will be used to store different audio codec
specific data. The idea is that we can communicate stricter type information
with these + better document the different structures. My primary goal is to aid
in developer comprehension, and to make changes around our codec handling easier
and less opaque.

Differential Revision: https://phabricator.services.mozilla.com/D134727
2022-05-17 23:09:05 +00:00
Chun-Min Chang 0cf97957c8 Bug 1765230 - Rename test name and correct comments r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D146476
2022-05-17 23:08:04 +00:00
Chun-Min Chang c5d44ed663 Bug 1765230 - Wait for error stop before `StopAudio()` r=padenot
`TestDeviceInputTrack.ErrorCallback` has the same racing issue as the
bug 1765312's one (See D144637). We should wait for the
cubeb-stream-stop called by the forced-error's background thread before
calling `NonNativeInputTrack::StopAudio()` to avoid getting the stopped
state callback before the error callback.

Differential Revision: https://phabricator.services.mozilla.com/D146475
2022-05-17 23:08:04 +00:00
Andrew McCreight c8c5c819df Bug 1514936, part 1 - Remove the outer argument to nsIFactory::createInstance. r=xpcom-reviewers,preferences-reviewers,nika,Gijs
This patch won't actually build, because a few bits of code are used
for both nsIFactory::createInstance and static components, and static
components are not fixed until the next patch.

The first place is nsLoadGroupConstructor, which uses an nsIFactory
macro to create a static component constructor. (This could be worked
around by expanding the macro to the state before this patch.)

The other issue is that nsAppShellConstructor is used in an nsIFactory
on OSX, but as a static component on all other platforms. This could
be worked around by wrapping nsAppShellConstructor in an adaptor that
passes in the extra null argument to nsAppShellConstructor.

Differential Revision: https://phabricator.services.mozilla.com/D146456
2022-05-17 20:24:19 +00:00
Sebastian Hengst c552340e0c Backed out 5 changesets (bug 1769569) for causing devtools' browser/browser_page_redirection.js to fail. CLOSED TREE
Backed out changeset 66a42eb3a366 (bug 1769569)
Backed out changeset d3cc9629cd9a (bug 1769569)
Backed out changeset edcd3dade079 (bug 1769569)
Backed out changeset 29d8dd058b7a (bug 1769569)
Backed out changeset 1aed34fdf2d3 (bug 1769569)
2022-05-17 19:49:17 +02:00
Mark Banner 5865f044db Bug 1769569 - Fix remaining ESLint no-undef and no-unused-vars issues in sjs files. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D146452
2022-05-17 16:50:33 +00:00
Mark Banner 4acbb4ff59 Bug 1769569 - Automatically replace Components.* with C* in sjs files. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D146451
2022-05-17 16:50:33 +00:00
Nico Grunbaum f1908f161d Bug 1760843 - P0 - fix desktop capture frame timing;r=jib
A previous patch introduced an inner loop within the desktop capture run
loop. The PlatformUIThread always does a single execution of the run
loop before it goes into its alertable sleep -> dispatch -> repeat
cycle. We should not be looping within the desktop capture impl and
should allow the platform UI thread to repeated dispatch to the capture
impl instead. Additionally the startup code was racy with the shutdown
code. Fixing the former caused lock ups durring shutdown while startup
was still happening. Static analysis guards were added in this patch
to help reduce the fragility of this code.

Differential Revision: https://phabricator.services.mozilla.com/D141937
2022-05-17 06:06:05 +00:00
Byron Campen 2ac0551241 Bug 1768559: Do something safe in this weird corner case. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D145979
2022-05-17 00:01:26 +00:00
Molnar Sandor c8400a0b45 Backed out 2 changesets (bug 1760843) for causing wpt failures in /screen-capture/getdisplaymedia.https.html CLOSED TREE
Backed out changeset 198b1e078f7e (bug 1760843)
Backed out changeset d4b6bfda83c5 (bug 1760843)
2022-05-17 00:32:39 +03:00
Nico Grunbaum a0bb9c82df Bug 1760843 - P0 - fix desktop capture frame timing;r=jib
A previous patch introduced an inner loop within the desktop capture run
loop. The PlatformUIThread always does a single execution of the run
loop before it goes into its alertable sleep -> dispatch -> repeat
cycle. We should not be looping within the desktop capture impl and
should allow the platform UI thread to repeated dispatch to the capture
impl instead. Additionally the startup code was racy with the shutdown
code. Fixing the former caused lock ups durring shutdown while startup
was still happening. Static analysis guards were added in this patch
to help reduce the fragility of this code.

Differential Revision: https://phabricator.services.mozilla.com/D141937
2022-05-16 18:12:35 +00:00
stransky 6e9d95d04a Bug 1759784 [Linux] Pass frame size to VideoFramePool r=alwu
This is similar to Bug 1750858 but for VA-API.

Depends on D146086

Differential Revision: https://phabricator.services.mozilla.com/D146087
2022-05-14 06:48:37 +00:00
stransky 62fb18fc79 Bug 1759784 [Linux] Update VideoFramePool to pass frame size along VA-API surface decriptor r=alwu
This is similar to Bug 1750858 but for VA-API, in this patch we set cropped frame size.

Depends on D146085

Differential Revision: https://phabricator.services.mozilla.com/D146086
2022-05-14 06:48:37 +00:00
Jens Stutte 13675ac0e6 Bug 1766572: Part 1 - Remove obsolete ShutdownPhase::XPCOMShutdownLoaders. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D145082
2022-05-13 15:47:52 +00:00
Paul Adenot 3d44a8f8d1 Bug 1762620 - Add a test with a wav file that has 255 audio channels. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D143624
2022-05-13 08:35:53 +00:00
Mike Hommey a1a746f5b9 Bug 1768999 - Replace unqualified use of std::move in ChromiumCDMAdapter.cpp. r=media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D146153
2022-05-13 00:45:24 +00:00
Dana Keeler fb67326470 Bug 1768047 - introduce HMAC C++ helper and remove nsICryptoHMAC r=jschanck,necko-reviewers,kershaw,padenot
This patch removes the redundant nsICryptoHMAC interface and implementation,
updates front-end code to use WebCrypto, and changes back-end code to use the
helper class HMAC introduced by this patch.

This also removes the last uses of nsIKeyObject and nsIKeyObjectFactory, and
thus those interfaces and implementations as well.

Differential Revision: https://phabricator.services.mozilla.com/D145656
2022-05-12 22:24:29 +00:00
Randell Jesup 39e3372695 Bug 1207753 - netwerk/dns thread-safety annotations r=necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D130580
2022-05-12 21:55:01 +00:00
stransky c0cb7fd820 Bug 1750388 [Linux] Switch back to SW decode if HW decode is slow r=alwu
Switch back to SW decode when frame decode time and averange decode time is bigger
than frame interval for defined number of frames.

Differential Revision: https://phabricator.services.mozilla.com/D145871
2022-05-12 12:40:14 +00:00
criss 715c6ab9a9 Backed out 10 changesets (bug 1747760) for causing wpt failures on mediasource-correct-frames-after-reappend.html. CLOSED TREE
Backed out changeset aae68dac17d0 (bug 1747760)
Backed out changeset dbb36eb962f7 (bug 1747760)
Backed out changeset 51ded936bda1 (bug 1747760)
Backed out changeset 706c89c31a6d (bug 1747760)
Backed out changeset ede5ba8832cb (bug 1747760)
Backed out changeset 4740c9cf6d51 (bug 1747760)
Backed out changeset 71e0dd7f0dad (bug 1747760)
Backed out changeset 0f6c6489a2c6 (bug 1747760)
Backed out changeset ad0284c66cb0 (bug 1747760)
Backed out changeset b0b666cba2ce (bug 1747760)
2022-05-12 01:37:32 +03:00
Bryce Seager van Dyk 6dc932b8e0 Bug 1747760 - P10: Remove AudioInfo.mExtraData. r=kinetik
This is no longer needed as the codec specific data member covers all codec
specific data.

Differential Revision: https://phabricator.services.mozilla.com/D145523
2022-05-11 19:20:05 +00:00
Bryce Seager van Dyk b1bdfce5fc Bug 1747760 - P9: Handle Vorbis data with Vorbis codec specific variant. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D145522
2022-05-11 19:20:04 +00:00
Bryce Seager van Dyk 8c1b8958f3 Bug 1747760 - P8: Handle Opus data using Opus codec specific variant. r=kinetik.
This means as of this patch
- All mp4 specific audio codecs are handled. There's some more we could
  theoretically get, stuff like ALAC, but it's not clear to me we handle them
  following demuxing. I've left a catch all in the mp4 demuxing code just in
  case.
- We no longer pack the codec-delay/preskip at the head of the opus binary blob.
  This means that the binary blob is just the opus header data and the container
  specific preskip has its own member. My hope is this is clearer and easier to
  understand. It also means we can drop some of the code we had for packing the
  delay/preskip into a binary blob.

Differential Revision: https://phabricator.services.mozilla.com/D145521
2022-05-11 19:20:04 +00:00
Bryce Seager van Dyk 2bd1dfbe36 Bug 1747760 - P7: Handle aac codec specific data using aac codec specific variant. r=kinetik
This should be the last change needed for a number of our platform specific
decoders to be switched entirely over to the new variant types. As such, we can
move them from the lenient `ForceGetAudioCodecSpecificBlob` and to
`GetAudioCodecSpecificBlob` to enforce handling of codecs that don't use
trivially blob like codec specific data.

Differential Revision: https://phabricator.services.mozilla.com/D145520
2022-05-11 19:20:04 +00:00
Bryce Seager van Dyk 59a6df4acd Bug 1747760 - P6: Use Wave specific codec data for Wave audio. r=kinetik
We don't store Wave specific info, but this means that we have a struct in place
if we ever want to add such data + gives us more typing info for codec specific
data.

Differential Revision: https://phabricator.services.mozilla.com/D145519
2022-05-11 19:20:03 +00:00
Bryce Seager van Dyk bf2f3ab323 Bug 1747760 - P5: Handle flac codec specific data using flac codec specific variant. r=kinetik
This also populates flac codec specific data for flac in mp4, which appears to
have been overlooked.

Depends on D134730

Differential Revision: https://phabricator.services.mozilla.com/D134731
2022-05-11 19:20:03 +00:00
Bryce Seager van Dyk 4fe6f9c9af Bug 1747760 - P4: Handle mp3 codec specific data using mp3 codec specific variant. r=kinetik
This switches the mp3 codec specific handling from using a binary blob to
instead use a typed structure.

Depends on D134729

Differential Revision: https://phabricator.services.mozilla.com/D134730
2022-05-11 19:20:03 +00:00
Bryce Seager van Dyk 50cd3726bf Bug 1747760 - P3: Rework audio codec specific data to use new variant with a generic blob. r=kinetik
This switches existing code to use the new variant style codec specific
information for audio, but retains the binary blob style apporach everywhere.

There should be no functional changes following this refactor. Internally all
codec specific data is still stored in blobs. This allows a baseline from which
we can modify specific codecs to use more constrained versions of the variant.

Depends on D134728

Differential Revision: https://phabricator.services.mozilla.com/D134729
2022-05-11 19:20:02 +00:00
Bryce Seager van Dyk 80991759c8 Bug 1747760 - P2: Add IPC code for new codec types. r=kinetik
This updates our IPC code so we can send and receive the new types introduced in
the prior patch.

Depends on D134727

Differential Revision: https://phabricator.services.mozilla.com/D134728
2022-05-11 19:20:02 +00:00
Bryce Seager van Dyk 967f559a4e Bug 1747760 - P1: Add audio codec specific info variant to help give more type info for codec specific data. r=kinetik
This introduces structures that will be used to store different audio codec
specific data. The idea is that we can communicate stricter type information
with these + better document the different structures. My primary goal is to aid
in developer comprehension, and to make changes around our codec handling easier
and less opaque.

Differential Revision: https://phabricator.services.mozilla.com/D134727
2022-05-11 19:20:01 +00:00
Bryce Seager van Dyk 36ec87d3bc Bug 1768409 - Don't log mType everywhere in TrackBuffersManager. r=alwu
Only log mType when we're updating it or using it.

Differential Revision: https://phabricator.services.mozilla.com/D145928
2022-05-11 19:15:22 +00:00
alwu 1ba7e83a72 Bug 1756260 - part10 : fix macOS build error. r=media-playback-reviewers,bryce
> /builds/worker/fetches/MacOSX10.12.sdk/usr/include/MacTypes.h:542:16: error: reference to 'Point' is ambiguous

The point type conflicts with the `gfx::Point`, so move the media data out of the unify build.

Differential Revision: https://phabricator.services.mozilla.com/D146021
2022-05-11 17:46:15 +00:00
alwu 37cbb23832 Bug 1756260 - part9 : only execute engine's methods after it got intialized correctly and not in a shutdown state. r=jolin
If we call them too early, the IPC connection might not be created yet.

Differential Revision: https://phabricator.services.mozilla.com/D144629
2022-05-11 17:46:15 +00:00
alwu ba6f805451 Bug 1756260 - part8 : use a light-weight state object on ExternalEngineStateMachine. r=jolin
These state object help to store variables only be used in a certain state, which avoid the chance to modify them in an incorrect state.

Also now it's able to do the cleaning for the state transition.

Differential Revision: https://phabricator.services.mozilla.com/D143678
2022-05-11 17:46:15 +00:00
alwu adc699369a Bug 1756260 - part7 : use ExternalEngineStateMachine in MediaSourceDecoder. r=jolin
Now it's just used for testing and development purpose.

In the future, this should only be used for encrypted playback and we would also need a fallback mechanism if the external engine fails.

Differential Revision: https://phabricator.services.mozilla.com/D140592
2022-05-11 17:46:14 +00:00
alwu 05c11eb55b Bug 1756260 - part6 : create remote decoders based on the engine Id. r=jolin
Implement a new decoder module which would use the media engine Id to create the decoder, which is implemented by WMF Media Engine API.

The actual data flow would be like that, the encoded data would be passed to the RDD process by using the remote decoder, and remote decoder would feed the data into media engine decoder, such as MFMediaEngineVideoStream and MFMediaEngineAudioStream.

Differential Revision: https://phabricator.services.mozilla.com/D143805
2022-05-11 17:46:14 +00:00
alwu ba773486a6 Bug 1756260 - part5 : pass the engine Id via IPC. r=jolin
We need to padd the media engine Id to the remote process in order to create correct remote decoders.

Differential Revision: https://phabricator.services.mozilla.com/D143807
2022-05-11 17:46:13 +00:00
alwu 565f1630ee Bug 1756260 - part4 : set the media engine Id to the format reader, which would be used to find correct remote decoders. r=jolin
In this patch, we assign the Media Engine Id to the format reader, and append that Id into CreateDecoderParams when we want to create a decoder.

That Id would be used as a hint in order to find a correct decoder to send the data to the remote media engine in following patches.

Depends on D139204

Differential Revision: https://phabricator.services.mozilla.com/D140153
2022-05-11 17:46:13 +00:00
alwu 8f62b3b6f3 Bug 1756260 - part3 : implement a mechanism to communicate with the MediaEngine in the remote process. r=jolin
This patch implements a new IPDL which is used for communicating with the remote media engine. It will be used between the content process and the RDD process.

For each media engine pair, they would share an unique ID, which is used to indentify different engine pairs (if any) and for querying a specific engine via Id, which is implemented in the next patch.

Depends on D140014

Differential Revision: https://phabricator.services.mozilla.com/D139204
2022-05-11 17:46:13 +00:00
alwu d072277522 Bug 1756260 - part2 : implement a new state machine for the external engine. r=jolin
This patch introduces a new type of state machine that is used when the playback is controlled by an external playback engine which would provide high level operations but hide most low level tasks from its client. Eg. Media Foundation Media Engine.

The extenral engine should use events to communicate this state machine, and state machine should address those events in order to fullfill the need of the external engine.

Differential Revision: https://phabricator.services.mozilla.com/D140014
2022-05-11 17:46:12 +00:00
alwu 6bf81c9c16 Bug 1756260 - part1 : split some of current state machine methods and variables to another new base class preparing for a new type of state machine. r=jolin
In following patch, we will implement a new type of state machine. In order to avoid redundant code, this patch splits some basic share codes into a new base class.

Differential Revision: https://phabricator.services.mozilla.com/D140013
2022-05-11 17:46:11 +00:00
Cristian Tuns df3db4d641 Backed out 10 changesets (bug 1756260) for causing build bustages on ExternalEngineStateMachine.obj CLOSED TREE
Backed out changeset d2339ec8194e (bug 1756260)
Backed out changeset 391201cf338b (bug 1756260)
Backed out changeset 1a9aa3f175d0 (bug 1756260)
Backed out changeset d624c80ba67f (bug 1756260)
Backed out changeset 46e8a8457044 (bug 1756260)
Backed out changeset 93245b0e2118 (bug 1756260)
Backed out changeset b69ee552b64e (bug 1756260)
Backed out changeset 9fc71b8478d5 (bug 1756260)
Backed out changeset 34b10d427f0f (bug 1756260)
Backed out changeset ed9640359f3a (bug 1756260)
2022-05-10 23:32:51 -04:00
alwu c142fc6abc Bug 1756260 - part10 : fix macOS build error. r=media-playback-reviewers,bryce
> /builds/worker/fetches/MacOSX10.12.sdk/usr/include/MacTypes.h:542:16: error: reference to 'Point' is ambiguous

The point type conflicts with the `gfx::Point`, so move the media data out of the unify build.

Differential Revision: https://phabricator.services.mozilla.com/D146021
2022-05-11 02:57:21 +00:00
alwu 7db2f326f9 Bug 1756260 - part9 : only execute engine's methods after it got intialized correctly and not in a shutdown state. r=jolin
If we call them too early, the IPC connection might not be created yet.

Differential Revision: https://phabricator.services.mozilla.com/D144629
2022-05-11 02:57:21 +00:00
alwu f4b75758e5 Bug 1756260 - part8 : use a light-weight state object on ExternalEngineStateMachine. r=jolin
These state object help to store variables only be used in a certain state, which avoid the chance to modify them in an incorrect state.

Also now it's able to do the cleaning for the state transition.

Differential Revision: https://phabricator.services.mozilla.com/D143678
2022-05-11 02:57:20 +00:00
alwu 0f62b3199d Bug 1756260 - part7 : use ExternalEngineStateMachine in MediaSourceDecoder. r=jolin
Now it's just used for testing and development purpose.

In the future, this should only be used for encrypted playback and we would also need a fallback mechanism if the external engine fails.

Differential Revision: https://phabricator.services.mozilla.com/D140592
2022-05-11 02:57:20 +00:00
alwu a5185fd54e Bug 1756260 - part6 : create remote decoders based on the engine Id. r=jolin
Implement a new decoder module which would use the media engine Id to create the decoder, which is implemented by WMF Media Engine API.

The actual data flow would be like that, the encoded data would be passed to the RDD process by using the remote decoder, and remote decoder would feed the data into media engine decoder, such as MFMediaEngineVideoStream and MFMediaEngineAudioStream.

Differential Revision: https://phabricator.services.mozilla.com/D143805
2022-05-11 02:57:19 +00:00
alwu f1a2bf741a Bug 1756260 - part5 : pass the engine Id via IPC. r=jolin
We need to padd the media engine Id to the remote process in order to create correct remote decoders.

Differential Revision: https://phabricator.services.mozilla.com/D143807
2022-05-11 02:57:19 +00:00
alwu 0d3dd9fe36 Bug 1756260 - part4 : set the media engine Id to the format reader, which would be used to find correct remote decoders. r=jolin
In this patch, we assign the Media Engine Id to the format reader, and append that Id into CreateDecoderParams when we want to create a decoder.

That Id would be used as a hint in order to find a correct decoder to send the data to the remote media engine in following patches.

Depends on D139204

Differential Revision: https://phabricator.services.mozilla.com/D140153
2022-05-11 02:57:18 +00:00
alwu 76281d27f2 Bug 1756260 - part3 : implement a mechanism to communicate with the MediaEngine in the remote process. r=jolin
This patch implements a new IPDL which is used for communicating with the remote media engine. It will be used between the content process and the RDD process.

For each media engine pair, they would share an unique ID, which is used to indentify different engine pairs (if any) and for querying a specific engine via Id, which is implemented in the next patch.

Depends on D140014

Differential Revision: https://phabricator.services.mozilla.com/D139204
2022-05-11 02:57:18 +00:00
alwu 71bcbbf669 Bug 1756260 - part2 : implement a new state machine for the external engine. r=jolin
This patch introduces a new type of state machine that is used when the playback is controlled by an external playback engine which would provide high level operations but hide most low level tasks from its client. Eg. Media Foundation Media Engine.

The extenral engine should use events to communicate this state machine, and state machine should address those events in order to fullfill the need of the external engine.

Differential Revision: https://phabricator.services.mozilla.com/D140014
2022-05-11 02:57:18 +00:00
alwu 2b0a067fdc Bug 1756260 - part1 : split some of current state machine methods and variables to another new base class preparing for a new type of state machine. r=jolin
In following patch, we will implement a new type of state machine. In order to avoid redundant code, this patch splits some basic share codes into a new base class.

Differential Revision: https://phabricator.services.mozilla.com/D140013
2022-05-11 02:57:17 +00:00
Byron Campen 918543a8e9 Bug 1586109: Move RTCRtpTransceiver to c++. r=mjf,emilio
Differential Revision: https://phabricator.services.mozilla.com/D145679
2022-05-10 18:07:19 +00:00
stransky 541fdba919 Bug 1768651 [ffmpeg] Log decode time for every frame r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D145966
2022-05-10 17:39:30 +00:00
Andreea Pavel 390f7009e9 Merge autoland to mozilla-central a=merge 2022-05-10 12:54:35 +03:00
Butkovits Atila 6683515559 Backed out changeset c11ccbe584a2 (bug 1586109) for causing toolchains bustages on central. CLOSED TREE 2022-05-10 08:19:09 +03:00
Narcis Beleuzu bd0e17ff20 Merge autoland to Mozilla-Central. a=merge 2022-05-10 06:47:37 +03:00
Kagami Sascha Rosylight c9828e8f91 Bug 1768189 - Part 22: Apply modernize-concat-nested-namespaces to dom/media/webrtc/transport/ipc/WebrtcTCPSocketParent.h ... r=andi
Depends on D145755

Differential Revision: https://phabricator.services.mozilla.com/D145756
2022-05-09 20:41:11 +00:00
Kagami Sascha Rosylight c4ef20eca6 Bug 1768189 - Part 21: Apply modernize-concat-nested-namespaces to dom/media/webaudio/IIRFilterNode.h ... r=andi
Depends on D145754

Differential Revision: https://phabricator.services.mozilla.com/D145755
2022-05-09 20:41:11 +00:00
Kagami Sascha Rosylight 4283c3f1dc Bug 1768189 - Part 20: Apply modernize-concat-nested-namespaces to dom/media/systemservices/CamerasParent.h ... r=andi
Depends on D145753

Differential Revision: https://phabricator.services.mozilla.com/D145754
2022-05-09 20:41:10 +00:00
Kagami Sascha Rosylight 7795dbcc68 Bug 1768189 - Part 19: Apply modernize-concat-nested-namespaces to dom/media/gmp/GMPStorageParent.h ... r=media-playback-reviewers,bryce
Depends on D145752

Differential Revision: https://phabricator.services.mozilla.com/D145753
2022-05-09 20:41:10 +00:00
Kagami Sascha Rosylight 921c9d66d0 Bug 1768189 - Part 18: Apply modernize-concat-nested-namespaces to dom/media/PrincipalChangeObserver.h ... r=media-playback-reviewers,bryce
Depends on D145751

Differential Revision: https://phabricator.services.mozilla.com/D145752
2022-05-09 20:41:10 +00:00
Kagami Sascha Rosylight 36c4c2abca Bug 1768189 - Part 17: Apply modernize-concat-nested-namespaces to dom/ipc/URLClassifierParent.h ... r=andi
Depends on D145750

Differential Revision: https://phabricator.services.mozilla.com/D145751
2022-05-09 20:41:09 +00:00
Norisz Fay 3ab130ec64 Backed out 15 changesets (bug 1743834, bug 1765554) for causing bug 1768473
Backed out changeset 41d154330f7f (bug 1743834)
Backed out changeset f09bb9e00c17 (bug 1743834)
Backed out changeset 569b8d3a9fcd (bug 1743834)
Backed out changeset 9c37cd8faac3 (bug 1765554)
Backed out changeset 4c12bdcae40a (bug 1743834)
Backed out changeset 1155d1d6db79 (bug 1743834)
Backed out changeset ee700aa90a1b (bug 1743834)
Backed out changeset 150ecd10e53a (bug 1743834)
Backed out changeset 4076e2055960 (bug 1743834)
Backed out changeset 966ceb9947fa (bug 1743834)
Backed out changeset f604fe0f8d02 (bug 1743834)
Backed out changeset 61ec6368ddcd (bug 1743834)
Backed out changeset c0a1eaca1d90 (bug 1743834)
Backed out changeset 798e05478220 (bug 1743834)
Backed out changeset b92a638392da (bug 1743834)
2022-05-09 19:39:59 +03:00
Byron Campen 3a6dbeb8f4 Bug 1586109: Move RTCRtpTransceiver to c++. r=mjf,emilio
Differential Revision: https://phabricator.services.mozilla.com/D145679
2022-05-09 14:30:41 +00:00
Paul Adenot 8573aebfe4 Bug 1743834 - Trigger the audibility event at the beginning of the initialization of an audio stream, when un-muting. r=alwu
The initialization itself can take some time and this audibility event is used
to prioritize the process, that will soon become audible, on at least Windows,
so it's better to get prioritized slightly ahead of time.

We should eventually untie audibility from priorities, but this hasn't happened
yet. Instead, we should make it so silent audio for an extended period of time
causes a shutdown of the cubeb stream, it's a lot more efficient.

Differential Revision: https://phabricator.services.mozilla.com/D145328
2022-05-09 13:20:54 +00:00
Paul Adenot 6900b5e9d0 Bug 1743834 - After unmuting, re-initialize the AudioSink asynchronously. r=alwu
On Windows (in particular, but also not quick on other OS, depending on the
hardware being used), opening a system-level audio stream (using cubeb)
can be very long. It's a blocking call from the MDSM thread. The MDSM can't
query the clock and update video frames while the stream is being opened,
resulting in the video freezing.

On the other hand, we don't want the clock starting to increase while first
starting the media, it's better to block the MDSM in this case.

This patch changes `AudioSinkWrapper::StartAudioSink` to have two modes:
- A synchronous mode for the first opening (and therefore for seeking, etc.)
- An asynchronous mode to use when the stream is unmuted: the AudioSinkWrapper
will continue to use a clock based on the system clock, until the system-level
audio stream is effectively opened, at which point it will switch to using it
for the clock.

This new mode does the initialization on a background thread, but starts the
system-level audio stream from the MDSM thread (it's fast enough and simplifies
the code a lot).

The promises are created synchronously, because this is what the MDSM expects,
but they are rejected in case of failure.

Finally, an edge case is handled: if the stream is stopped while it's being
opened asynchronously. This is detected, and instead of starting the
system-level audio stream, the stream is shut down.

Differential Revision: https://phabricator.services.mozilla.com/D145000
2022-05-09 13:20:54 +00:00
Paul Adenot e2faa2f92c Bug 1743834 - Split initialization and start in AudioSinkWrapper. r=alwu
No change in functionality, this is to prepare for the next patch that will do
the initialization asynchronously because it's expensing and blocking.

Differential Revision: https://phabricator.services.mozilla.com/D144999
2022-05-09 13:20:53 +00:00
Paul Adenot 7a75d02824 Bug 1765554 - Relax clock monotonicity assertion on Windows, for investigation. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D144195
2022-05-09 13:20:52 +00:00
Paul Adenot 78c87cfbc3 Bug 1743834 - Assert the media clock monotonicity with MOZ_ASSERT. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D143823
2022-05-09 13:20:52 +00:00
Paul Adenot db8b7abf47 Bug 1743834 - When no packet are in the queue when shutting down the AudioStream, try our best to provide timing data. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D141992
2022-05-09 13:20:52 +00:00
Paul Adenot 9840a23c31 Bug 1743834 - Fix static-analysis warning. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D141991
2022-05-09 13:20:51 +00:00
Paul Adenot f8ef45ed87 Bug 1743834 - Don't start with an AudioSink if muted from the start. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D141990
2022-05-09 13:20:51 +00:00
Paul Adenot 68188c63fa Bug 1743834 - Correctly set the start time when the audio callbacks actually are called, the first time audio audio clock starts to be in use. r=alwu,media-playback-reviewers
The base clock for the new audio stream is precisely the time when the clock
source changes from the system clock to the audio clock, accounting for the time
it takes to actually starts the stream. This allows avoiding discontinuities
when switching clocks.

Differential Revision: https://phabricator.services.mozilla.com/D136237
2022-05-09 13:20:51 +00:00
Paul Adenot 8a10c3c36c Bug 1743834 - Detect when switching clock provider in AudioSinkWrapper. r=alwu,media-playback-reviewers
This will allow detecting the first time the AudioSinkWrapper starts using the
clock from an audio stream after having been muted (=using the system clock) for
some time, to correct the timing.

Differential Revision: https://phabricator.services.mozilla.com/D136236
2022-05-09 13:20:50 +00:00
Paul Adenot b42e188e30 Bug 1743834 - Wait for the audio callbacks to start being called before using the audio clock. r=alwu,media-playback-reviewers
Because we're generally using high latency on the cubeb stream used by
AudioStream instance, it can take some time for the callbacks to start being
called, and the for the audio clock (cubeb_stream_get_position(...)) to advance.

This waits for the first callback to be called before using the clock of the
audio stream, and the system clock keeps being in use until then.

Differential Revision: https://phabricator.services.mozilla.com/D136235
2022-05-09 13:20:50 +00:00
Paul Adenot 7bf06a2b04 Bug 1743834 - Shut down the AudioSink when audio is muted. r=alwu,media-playback-reviewers
This does the following:
- When the media is muted, shut down and release the AudioSink ;
- While the media is muted, use the system clock to make video advance ;
- Each time the clock is queried, check if some audio packets should be
discarded because they are in the past, compared to the media time ;
- While muted, if the audio finished, resolve the EndedPromise ;
- When the media is un-muted, a new AudioSink is created, and its clock starts
to be in use.

This works well and A/V sync is correct, but a micro-stuttering is perceptible
on the video when looking carefully, because of the time it takes to open the
audio stream. This is fixed in subsequent patches.

Differential Revision: https://phabricator.services.mozilla.com/D136234
2022-05-09 13:20:50 +00:00
Paul Adenot 0795585040 Bug 1743834 - Create and manage the lifetime of the AudioStream EndedPromise in AudioSinkWrapper. r=alwu,media-playback-reviewers
We're going to shutdown the AudioStream in a subsequent patch, when audio is
muted. This will allow resolving it at the right time when the media ends while
muted.

This also extracts a method to start an AudioSink, because it's going to be
started in multiple locations in a future patch.

Differential Revision: https://phabricator.services.mozilla.com/D136233
2022-05-09 13:20:49 +00:00
Paul Adenot 7b56cea329 Bug 1743834 - Add a logging module for AudioSink. r=alwu,media-playback-reviewers
Depends on D133642

Differential Revision: https://phabricator.services.mozilla.com/D133643
2022-05-09 13:20:49 +00:00
Paul Adenot 8709902435 Bug 1743834 - Make GetClock() non-const on MediaSink, and allow the AudioSink to modify the AudioQueue. r=alwu,media-playback-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D133642
2022-05-09 13:20:48 +00:00
stransky 4cb28bd2f4 Bug 1768191 [ffmpeg] Calculate and log ffmpeg playback speed r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D145725
2022-05-09 08:53:04 +00:00
Jan-Ivar Bruaroey 3c244c325c Bug 1760765 - Clean up OriginKeyStore handling. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D143097
2022-05-09 01:33:02 +00:00
Cristian Tuns 858d232088 Backed out changeset 63a2716431f9 (bug 1586109) for causing build bustages on RTCRtpTransceiver.cpp CLOSED TREE 2022-05-06 17:03:00 -04:00
Randell Jesup d36e07f860 Bug 1207753 - ffmpeg integration thread-safety annotations r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D132436
2022-05-06 19:53:17 +00:00
Byron Campen db341d7b94 Bug 1586109: Move RTCRtpTransceiver to c++. r=mjf,emilio
Differential Revision: https://phabricator.services.mozilla.com/D145679
2022-05-06 17:39:29 +00:00
sotaro 417b6e90df Bug 1766203 - Release all IMFSamples before destroying video MFTDecoder r=media-playback-reviewers,gfx-reviewers,jrmuizel,alwu
Crashes of Bug 1764753 seemed to happen during closing video MFTDecoder or closing IMFSample after closing video MFTDecoder. We might need to release all IMFSamples before destroying video MFTDecoder.

Differential Revision: https://phabricator.services.mozilla.com/D144537
2022-05-06 15:22:41 +00:00
Jeff Muizelaar e5f178ecd3 Bug 1768033 - Record more detailed telemetry in has_h264. r=alwu
This should let us distinguish between pre-load, during-load
and post-load

Differential Revision: https://phabricator.services.mozilla.com/D145637
2022-05-05 19:24:18 +00:00
Alexandre Lissy c9368d48f0 Bug 1762067 - Distinguish crash in RDD vs Utility r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D145345
2022-05-05 18:02:13 +00:00
stransky 6431645c43 Bug 1767568 Test AV1 decode from mp4 container only if ffvpx is used, r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D145406
2022-05-05 08:59:28 +00:00
stransky eec93043fb Bug 1762725 [VA-API] Keep AVHWFrameContext instead of AVHWDeviceContext r=alwu
This one reverts Bug 1759137 and switch back to reference hw_frames_ctx. We need that as hw_frames_ctx holds surface pool which can be recreated when h.264 VA-API decoder seeks in video stream.

Differential Revision: https://phabricator.services.mozilla.com/D145094
2022-05-05 08:58:09 +00:00
Jeff Muizelaar 87262da293 Bug 1767826 - Fix MEDIA_GMP_UPDATE_CONTENT_PROCESS_HAS_H264 telemetry. r=bryce
HasPluginForAPI in the parent process doesn't really work properly
anymore. Instead just check for the API and tags when building the
capability list.

Differential Revision: https://phabricator.services.mozilla.com/D145474
2022-05-04 19:42:31 +00:00
Lee Salzman 7044dfb26a Bug 1719881 - Disable test_capture_stream_av_sync on Linux asan. r=aosmond
test_capture_stream_av_sync is still intermittent when running under asan,
even though it was disabled for tsan in bug 1713397. This gets much worse
then run under accelerated Canvas2D, so just disable it for asan for now
as well to solve the intermittent.

Differential Revision: https://phabricator.services.mozilla.com/D144981
2022-05-04 16:19:06 +00:00
Norisz Fay 5e0cdd011f Backed out changeset 4192a14c490c (bug 1760765) for causing leakcheck failures 2022-05-04 17:49:45 +03:00
Chris H-C 94867a6ae6 Bug 1763235 - Update metrics.yamls to file-level tags, new front matter r=perry.mcmanis,application-update-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D145141
2022-05-04 14:16:19 +00:00
Jan-Ivar Bruaroey db7f412e31 Bug 1760765 - Clean up OriginKeyStore handling. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D143097
2022-05-04 14:04:23 +00:00
Jeff Muizelaar eb45fac6ab Bug 1767334. Add some telemetry about whether H264 encoding is available in the parent. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D145265
2022-05-03 23:46:05 +00:00
Karl Tomlinson d814d3c0cf Bug 1735923 - error on opacity change r=edenchuang
Differential Revision: https://phabricator.services.mozilla.com/D143865
2022-05-03 22:12:40 +00:00
Zaggy1024 f5adfe31a0 Bug 1767467 - Fix hardware H264 decoding support detection on Windows. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D145383
2022-05-03 22:06:30 +00:00
Mike Hommey a3e1d0e570 Bug 1766371 - Fix class-varargs warnings in Windows builds. r=nika,mjf
dom/bindings/BindingUtils.cpp(202,62): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
                         static_cast<unsigned>(errorNumber), funcNameStr.get(),
                                                             ^
dom/bindings/BindingUtils.cpp(203,26): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
                         ifaceName.get());
                         ^
dom/media/webrtc/transport/third_party/nICEr/src/ice/ice_component.c(582,15): error: passing object of class type 'nr_transport_addr' (aka 'struct nr_transport_addr_') through variadic function [-Werror,-Wclass-varargs]
              component->stream->turn_servers[j].turn_server.addr);
              ^
toolkit/xre/dllservices/tests/gtest/TestUntrustedModules.cpp(44,45): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
        wprintf(L"%s is not registered.\n", aNames[i].get());
                                            ^
toolkit/xre/dllservices/tests/gtest/TestUntrustedModules.cpp(49,30): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
        wprintf(L"%s:%4d\n", aNames[i].get(), *entry);
                             ^
toolkit/xre/dllservices/tests/gtest/TestUntrustedModules.cpp(248,30): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
      wprintf(L"JSON: %s\n", json.get());
                             ^
xpcom/io/nsLocalFileWin.cpp(1647,20): error: passing object of class type 'typename raw_type<char16_t, int>::type' (aka 'char16ptr_t') through variadic function [-Werror,-Wclass-varargs]
                   NS_ConvertASCIItoUTF16(nsDependentCString(aField)).get());
                   ^

Differential Revision: https://phabricator.services.mozilla.com/D144665
2022-05-03 21:48:22 +00:00
Mike Hommey ec71e64fa5 Bug 1766561 - Fix various formatting errors. r=media-playback-reviewers,gfx-reviewers,nika,necko-reviewers,rkraesig,alwu,padenot,kershaw
- Missing/Extra formatting directives
- Typos in formatting directives
- Non-literal strings used as formatting strings
- Wrong types passed as argument
- Swapped/Wrong arguments
- Commas between parts of unique formatting strings

Differential Revision: https://phabricator.services.mozilla.com/D144921
2022-05-03 20:49:10 +00:00
Mike Hommey 08edf30a1b Bug 1766561 - Add missing l modifier for long formatting. r=Jamie,media-playback-reviewers,gfx-reviewers,nika,necko-reviewers,mhowell,rkraesig,gerald,application-update-reviewers,bytesized,alwu,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D144917
2022-05-03 20:49:08 +00:00