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

17320 Коммитов

Автор SHA1 Сообщение Дата
Paul Adenot 25c8980495 Bug 1645416 - Fix the TracePayload layout on 32bits and re-enable the static assert that check the struct has a size that is a power of two. r=achronop
Differential Revision: https://phabricator.services.mozilla.com/D80696
2020-06-24 14:31:07 +00:00
Paul Adenot fc302cd8b4 Bug 1647717 - Fix audio thread registration to the profiler in AudioStream.cpp. r=achronop
More or less the same as GraphDriver.cpp but simpler because there is only one
return statement.

Differential Revision: https://phabricator.services.mozilla.com/D80857
2020-06-24 12:45:36 +00:00
Razvan Maries 15c6376141 Backed out changeset 3a956cf3b8d3 (bug 1645416) for build bustages on MPSCQueue.h. CLOSED TREE 2020-06-24 15:31:34 +03:00
Paul Adenot 1a80554253 Bug 1645416 - Fix the TracePayload layout on 32bits and re-enable the static assert that check the struct has a size that is a power of two. r=achronop
Differential Revision: https://phabricator.services.mozilla.com/D80696
2020-06-24 12:05:04 +00:00
Corentin Arnould 76419cd0d4 Bug 1618225 - Added wpt test for loop with duration r=padenot
Silenced the mochitest

Differential Revision: https://phabricator.services.mozilla.com/D79875
2020-06-24 12:00:18 +00:00
Corentin Arnould 2ef567c825 Bug 1618225 - Updated mochitest for loop with duration r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D79874
2020-06-24 12:00:11 +00:00
Corentin Arnould d3cc80aa8c Bug 1618225 - Set stop time when using loop with duration. r=padenot
The AudioBufferSourceNode can now be looping and stop after duration.

Differential Revision: https://phabricator.services.mozilla.com/D79873
2020-06-24 11:59:53 +00:00
alwu 2c3533116e Bug 1642715 - part7 : add test. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D79786
2020-06-24 00:46:51 +00:00
alwu 4f5d63572f Bug 1642715 - part6 : notify change for fullscreen and picture-in-picture. r=chunmin
This patch would
- introduce new methods `SetEnableFullScreen()` and `SetEnablePictureInPictureMode()` on `MediaControlKeySource`
- notify the change of enabling/disabling the fullscreen and picture-in-picture mode to `MediaControlKeySource`

The advantage of doing this is
- to allow the key source to do corresponding operations when media enters/leaves the fullscreen/picture-in-picture
eg. GeckoView would use them to implement its API, `onFullscreen()` and `onPictureInPicture()`

Differential Revision: https://phabricator.services.mozilla.com/D79785
2020-06-24 05:54:03 +00:00
alwu d72eadc6eb Bug 1642715 - part5 : activate a controller when its media enters fullscreen or picture-in-picture mode. r=chunmin
This patch would
- active the controller when it enters fullscreen or picture-in-picture mode

The advantage of doing this is
- allow to control media even if media doesn't start

Differential Revision: https://phabricator.services.mozilla.com/D79766
2020-06-24 05:53:36 +00:00
alwu 1c96a4a7d4 Bug 1642715 - part4 : notify media controller when media enters/leaves fullscreen. r=chunmin,smaug
This patch would
- notify media controller when media enters/leaves fullscreen

The advantage of doing this is
- prework of being able to control media when media enters fullscreen

Differential Revision: https://phabricator.services.mozilla.com/D79765
2020-06-24 05:53:08 +00:00
alwu b83eca9ce8 Bug 1642715 - part3 : prevent controlling inactive controller. r=chunmin
This patch would
- stop notifying media key to media in content process is the controller is inactive

The advantage of doing this is
- to prevent unexpectedly controlling an inactive controller

Differential Revision: https://phabricator.services.mozilla.com/D79235
2020-06-24 05:52:40 +00:00
alwu 305a14713f Bug 1642715 - part1 : move timer to media controller. r=chunmin
This patch would
- move the mechanism of creating a stop timer from media element to media controller

The advantage of doing this is
- to remove redundant timers in the content process, because we only need to maintain one global timer for a whole tab

Differential Revision: https://phabricator.services.mozilla.com/D79233
2020-06-24 05:52:30 +00:00
Junior Hsu 9c796f571b Bug 1633935 - P6 Skip one media track failure caused by performance gain, r=alwu
Depends on D76972

Differential Revision: https://phabricator.services.mozilla.com/D76973
2020-06-23 16:57:21 +00:00
alwu 790d329788 Bug 1645852 - do not call `BrowsingContext::Get()` after XPCOM shutdown. r=bryce
If XPCOM has been shutdown, then we should not access the `BrowsingContext::Get()` because `sBrowsingContexts` has also been destroyed.

Differential Revision: https://phabricator.services.mozilla.com/D80559
2020-06-23 18:39:57 +00:00
Andrew McCreight 01610277f9 Bug 1647795 - Remove some uses of "blacklist" from dom/ipc/. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D80694
2020-06-23 17:50:23 +00:00
Paul Adenot bdd0a1286c Bug 1646348 - Fix unified compilation. r=achronop
Differential Revision: https://phabricator.services.mozilla.com/D80467
2020-06-23 16:43:52 +00:00
Paul Adenot f2a2fb7d24 Bug 1646348 - Use the AudioThreadRegistry in GraphDriver.cpp. r=achronop
This patch changes the type of mAudioThreadId because `std:🧵:id` is
non-memovable and AudioThreadRegistry uses an nsTArray, that needs elements to
be memovable.

Differential Revision: https://phabricator.services.mozilla.com/D80466
2020-06-23 16:43:40 +00:00
Paul Adenot ddee5175d5 Bug 1646348 - Expose an AudioThreadRegistry in CubebUtils. r=achronop
Differential Revision: https://phabricator.services.mozilla.com/D80465
2020-06-23 16:43:22 +00:00
Paul Adenot a995dc9849 Bug 1646348 - Introduce the AudioThreadRegistry. r=achronop
This keeps track of how many users of an audio thread there is, and takes care
of registring or unregistring those threads to the Gecko Profiler.

Differential Revision: https://phabricator.services.mozilla.com/D80464
2020-06-23 16:43:09 +00:00
Paul Adenot 5272ad6142 Bug 1646348 - Fix audio thread registration in GraphDriver.cpp. r=achronop
Differential Revision: https://phabricator.services.mozilla.com/D80000
2020-06-23 16:42:57 +00:00
Dan Minor 56605a5c2c Bug 1647368 - Update build files; r=ng
Depends on D80545

Differential Revision: https://phabricator.services.mozilla.com/D80546
2020-06-22 21:10:05 +00:00
Dan Minor 63eae5e0e9 Bug 1647368 - Fix include paths in moved files; r=ng
Depends on D80544

Differential Revision: https://phabricator.services.mozilla.com/D80545
2020-06-22 21:09:52 +00:00
Dan Minor 0868cb89d3 Bug 1647368 - Move objc video capture code to dom/media/systemservices; r=ng
All changes in these files are a result of code formatting being applied.
When these files were under webrtc, they were treated as third party code and
not formatting. By moving them, formatting is now applied.

Differential Revision: https://phabricator.services.mozilla.com/D80544
2020-06-22 21:09:34 +00:00
Danny b870232f08 Bug 1622660 - Removed else after return r=sotaro
Differential Revision: https://phabricator.services.mozilla.com/D80471
2020-06-23 10:47:05 +00:00
Butkovits Atila 7916df7f02 Backed out changeset 5614bcd268d1 (bug 1337953) for bustage at FuzzyLayer.cpp. CLOSED TREE 2020-06-23 11:01:37 +03:00
Jean-Yves Avenard 87438519f0 Bug 1637500 - P2. Rename methods as they are not always dealing with "threads". r=froydnj
Before P1, GetCurrentThreadSerialEventTarget would have always returned the same data as NS_GetCurrentThread, making the comment incorrect Now it will properly return the running TaskQueue if any.

This change of name more clearly exposes what they are doing, as we aren't always dealing with threads directly; but a nsISerialEventTarget

Differential Revision: https://phabricator.services.mozilla.com/D80354
2020-06-23 05:05:36 +00:00
Chris Fronk cea9cef934 Bug 1337953 - Make nsDeque templated on pointer type r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79629
2020-06-23 00:58:13 +00:00
alwu 110c2fe364 Bug 1642590 - part2 : add test. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D79926
2020-06-17 20:50:08 +00:00
tkhan 6ccabd4784 Bug 1602668 - M(1) manifest and test changes. r=kmag,karlt,necko-reviewers,valentin
Differential Revision: https://phabricator.services.mozilla.com/D70362
2020-06-22 19:09:49 +00:00
Jean-Yves Avenard ea34205395 Bug 1646054 - P1. Remove EventTargetWrapper class. r=froydnj
We also establish the intent of bug 1602167 on the TaskQueue object

Differential Revision: https://phabricator.services.mozilla.com/D80351
2020-06-22 13:55:21 +00:00
Andrea Marchesini 7468c2f663 Bug 1642667 - Isolate alt-srv and connection pool per first-party when privacy.partition.network_state is set to true - part 2 - tests, r=dragana,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D78083
2020-06-22 11:03:24 +00:00
Alex Chronopoulos 1de9bc130a Bug 1493990 - Return a null device id when the device is the default one. r=jib.
When the default sink (sink-id equal to an empty string) has been requested,  null device-id is returned. The device-id is propagated all the way down to cubeb. When cubeb is configured with null device-id the default device is chosen. In addition to that, on default device change the new default will be followed. This aligns with the expected behavior for the default sink.

Differential Revision: https://phabricator.services.mozilla.com/D77810
2020-06-12 15:18:53 +00:00
Alex Chronopoulos a5751a189f Bug 1493990 - Enhance AudioStreamTrack to set output device and handle the connection between different graphs. r=padenot
A new method has been added in AudioStreamTrack to allow the change of the output device. Also, the methods that add/remove the AudioOutput or Volume have been enhanced to use the CrossGraphManager, when available, in order to set the AudioOutput or volume to the correct MediaTrack.

Differential Revision: https://phabricator.services.mozilla.com/D77808
2020-06-12 14:03:30 +00:00
Alex Chronopoulos 4a4c9eae75 Bug 1493990 - Create two new MediaTrack able to transfer the audio data between different threads. r=padenot.
The name of the two new tracks is CrossGraphTransmitter and CrossGraphReceiver. They are used together to transfer the audio data of the transmitter to the receiver which belongs to different MTG. In addition to that a CrossGraphManager class has been created that creates the connection between the transmitter and the receiver and can redirect to the correct track some operations like the volume change etc.

Differential Revision: https://phabricator.services.mozilla.com/D77807
2020-06-18 13:58:06 +00:00
Corentin Arnould 5d8eb750cd Bug 1615130 - Fix uninitialized data. r=padenot
Values are set to 0 by default rather than uninitialized. It is useful when JSContext is null.

Differential Revision: https://phabricator.services.mozilla.com/D79986
2020-06-22 10:21:40 +00:00
Martin Stransky 1e7a50774c Bug 1645704 [Wayland] Rename WaylandDMABufSurface to DMABufSurface at ffmpeg, r=jya
Prepare ffmpeg decoding module to X11 dmabuf implementation. In order to cover both X11 and Wayland backend do:

- Use DMABUFSurfaceImage instead of WaylandDMABUFSurfaceImage
- Use DMABufSurface instead of WaylandDMABufSurface
- Rename former DMABufSurface to DMABufSurfaceWrapper to state it actually wraps the DMABufSurface.
- Use DMABufSurfaceYUV instead of WaylandDMABufSurfaceNV12

Differential Revision: https://phabricator.services.mozilla.com/D79638
2020-06-21 13:59:09 +00:00
Chun-Min Chang ce90d9b622 Bug 1623971 - P19: Resolve fetching upon image is ready r=alwu
The FetchImageHelp doesn't need to decode the fetched image before
handing the image to its caller since the decoded raw data won't be used
in the caller. The ImagePromise can be resolved upon image is fetched
(ready) instead.

Differential Revision: https://phabricator.services.mozilla.com/D79736
2020-06-19 00:21:31 +00:00
Chun-Min Chang ab055d290e Bug 1623971 - P17: Set media-session's MediaImage to the SMTC interface r=alwu,thomasmo
This patch does the following things:
1. Use `FetchImageHelper` to fetch the MediaImage defined in
   media-session
2. Upon the above image is fetched, set it to the SMTC's thumbnail

Differential Revision: https://phabricator.services.mozilla.com/D77893
2020-06-19 00:21:21 +00:00
Alex Chronopoulos 4c1d0136c9 Bug 1584959 - Avoid calling the converter if the conversion is not possible. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D56736
2020-06-18 15:50:03 +00:00
Cosmin Sabou 6822e213d4 Backed out changeset f26dbc8340cf (bug 1646348) for assertion failures on core/platform.cpp. CLOSED TREE 2020-06-18 17:18:25 +03:00
Paul Adenot e6c3203e23 Bug 1646348 - Fix audio thread registration in GraphDriver.cpp. r=achronop
Differential Revision: https://phabricator.services.mozilla.com/D80000
2020-06-18 13:23:09 +00:00
alwu ed71ecf758 Bug 1631336 - always disconnect the request. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D79389
2020-06-17 14:58:22 +00:00
Nicholas Nethercote a8f5f49b8a Bug 1645982 - Rename some service getters in `Services.py` to better match the types. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D79791
2020-06-16 23:32:21 +00:00
alwu 9687d47fe3 Bug 1644479 - replace assertions with early returns. r=chunmin
Still can not figure out how did we enable the same action twice, because we would only update the action change when the action handler is set from `null` to `something` or from `something` to `nothing` [1]. In addition, the browsing context Id for a media session is always unchanged, so it's guarantee to set the action on the correct `MediaSessionInfo`.

However, in order to avoid having more crashes, I have to change the assertions to early returns and add logs to help us be aware of this issue if it happens again.

[1] https://searchfox.org/mozilla-central/rev/fac90408bcf52ca88a3dcd2ef30a379b68ab24e2/dom/media/mediasession/MediaSession.cpp#71-75

Differential Revision: https://phabricator.services.mozilla.com/D78947
2020-06-16 19:05:02 +00:00
Sylvestre Ledru 85c05f3a47 Bug 1519636 - Reformat recent changes to the Google coding style r=andi
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D79795
2020-06-16 14:37:23 +00:00
Paul Adenot 1d21042226 Bug 1645766 - Fix build failure in AsyncLogger.h on ppc64le. r=achronop
Thanks to Dan Horák <dan@danny.cz> for the report and fix suggestion.

Differential Revision: https://phabricator.services.mozilla.com/D79683
2020-06-15 13:45:08 +00:00
Martin Stransky 4dbb2503ff Bug 1629788 [Wayland] Implement SW decoding to WaylandDMABufSurface, r=jya
- Use WaylandDMABufSurface for SW decoded frames when they can be converted to NV12 format.
- Rename VAAPIFrameHolder to DMABufSurface and use it as general placeholder for WaylandDMABufSurface surface.
  It's used for VA-API/SW video playback and holds decoded video images until thery are used by gecko rendering engine.
- Implmenet a linked list of DMABufSurface where recently used frames are stored. The frames are recycled by ffmpeg
  decoder for VA-API and SW video playback.

Differential Revision: https://phabricator.services.mozilla.com/D78292
2020-06-13 18:38:38 +00:00
Jean-Yves Avenard 9a7590fb88 Bug 1634904 - Use the last sample's input time when draining. r=bryce
The AAC MFT has a latency of one packet (1024 frames); when we drain the decoder to retrieve that last data, it sets the the decoded data start time to the time of the end of the previous data.

this is the right thing to do under most cases; however when dealing with content with broken timestamps it can lead to bad A/V sync.

Differential Revision: https://phabricator.services.mozilla.com/D79456
2020-06-12 18:51:20 +00:00
Bogdan Tara f3d007c8fd Backed out 3 changesets (bug 1629788) for WaylandDMABufSurface.cpp related bustages CLOSED TREE
Backed out changeset 31fba4d1fe1d (bug 1629788)
Backed out changeset 9d1e4da287a6 (bug 1629788)
Backed out changeset 23791ccf64dd (bug 1629788)
2020-06-13 13:56:04 +03:00