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

227 Коммитов

Автор SHA1 Сообщение Дата
Ehsan Akhgari e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Andreas Pehrson 88cb071d63 Bug 1513638 - Rename DispatchToMainThreadAfterStreamStateUpdate to DispatchToMainThreadStableState. r=jya,karlt
Differential Revision: https://phabricator.services.mozilla.com/D14421

--HG--
extra : moz-landing-system : lando
2018-12-19 04:34:10 +00:00
Jan-Ivar Bruaroey 7cc33e93cf Bug 1497175 - Have DOMMediaStream::TrackPort::BlockSourceTrackId() return a promise. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D8010

--HG--
extra : moz-landing-system : lando
2018-11-30 05:14:40 +00:00
Andreas Pehrson f0bf48464f Bug 1509548 - Make MediaStreamGraph pull data per track instead of per stream. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D13086

--HG--
extra : moz-landing-system : lando
2018-11-29 17:37:42 +00:00
Andreas Pehrson 7348d2a804 Bug 1509548 - Rename track-end-time methods in StreamTracks. r=padenot
They deserve descriptive names.

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

--HG--
extra : moz-landing-system : lando
2018-11-29 17:37:17 +00:00
Andreas Pehrson a02fa011f0 Bug 1509548 - Remove the concept of a known tracks time from MediaStreamGraph. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D12923

--HG--
extra : moz-landing-system : lando
2018-11-29 17:37:06 +00:00
Andreas Pehrson 60f5d461f2 Bug 1423241 - Remove MediaStreamListener \o/. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D12284

--HG--
extra : moz-landing-system : lando
2018-11-23 15:03:00 +00:00
Andreas Pehrson 28dcbfa728 Bug 1423241 - Ignore runnables for main thread after next stream state update, after entering shutdown. r=padenot
They may hang on to references causing leaks.

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

--HG--
extra : moz-landing-system : lando
2018-11-23 15:02:42 +00:00
Andreas Pehrson e80887ac8d Bug 1423241 - Return appended StreamTime samples appended through AppendToTrack. r=padenot
This allows DecodedStream to accurately track how many samples have been
appended to a track, even with resampling enabled.

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

--HG--
extra : moz-landing-system : lando
2018-11-23 15:01:48 +00:00
Andreas Pehrson 80cde33d12 Bug 1423241 - Always add tracks at the stream's current time. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D12271

--HG--
extra : moz-landing-system : lando
2018-11-23 15:01:42 +00:00
Andreas Pehrson 84905ffbe9 Bug 1423241 - Expose MSG's GraphTime through main-thread-Watchable and move media element to it. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D9101

--HG--
extra : moz-landing-system : lando
2018-11-23 15:01:13 +00:00
Andreas Pehrson c4ef19aea8 Bug 1423241 - Implement NotifyPull for MediaStreamTrackListener. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D12267

--HG--
extra : moz-landing-system : lando
2018-11-23 15:00:14 +00:00
Sylvestre Ledru 804b8b8883 Bug 1204606 - Reformat of dom/media r=jya
# skip-blame

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

--HG--
extra : moz-landing-system : lando
2018-11-19 13:25:37 +00:00
Karl Tomlinson 254f2a1003 Bug 1503132 remove unused HasAudioOutput() r=padenot
Depends on D10172

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

--HG--
extra : moz-landing-system : lando
2018-10-30 15:01:50 +00:00
Karl Tomlinson 0c06d3b60c Bug 1503132 remove special-case sync dispatch for not-started offline RunAfterPendingUpdates() r=padenot
Depends on D10170

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

--HG--
extra : moz-landing-system : lando
2018-10-30 15:01:28 +00:00
Karl Tomlinson 95a0d00031 Bug 1503132 remove unused ProcessedMediaStream::QueueFinish() r=padenot
Depends on D10166

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

--HG--
extra : moz-landing-system : lando
2018-10-30 09:51:07 +00:00
Karl Tomlinson cd96c8e631 Bug 1503132 remove unused MediaStream::ConsumerCount() r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D10159

--HG--
extra : moz-landing-system : lando
2018-10-30 23:49:55 +00:00
Andreas Pehrson 7561a1fdef Bug 1258143 - Remove LocalMediaStream. r=jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D8064

--HG--
extra : moz-landing-system : lando
2018-10-15 08:17:07 +00:00
Paul Adenot cfcb3f6cae Bug 1487057 - Part 2 - Remove RegisterForAudioMixing/NeedsMixing, they are unused. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D5436

--HG--
extra : rebase_source : 107c7ff741569744c556ef0583c5c7231b502620
2018-08-29 15:29:08 +02:00
Paul Adenot a1777772d7 Bug 1404977 - Part 13 - Remove useless mutex, and assert why they were useless, in WebRTCAudioDataListeners. r=pehrsons
MozReview-Commit-ID: 2Mb5WZXbYgS

--HG--
extra : rebase_source : c4a7c8874919901eb11327cfb5f86d6b185be388
2018-05-31 16:44:00 +02:00
Paul Adenot 064d4d9b47 Bug 1404977 - Part 8 - Tell the MSG the MediaEngineAudioSource are now independent and that we can have multiple of them, cleanup the MSG-side API for managing them. r=pehrsons
The MSG now can feed microphone data to all its input listeners. This paves the
way for multiple input device, if we feel it's needed at some point, but does
not implement it.

The method for adding/removing inputs are also cleaned up.

MozReview-Commit-ID: 9OX4Da6Gjq2

--HG--
extra : rebase_source : 043c486e53f9220ae61fd788ed86064ba723f1a4
2018-04-30 16:01:38 +02:00
Paul Adenot 2ba8afaf4c Bug 1404977 - Part 5 - Allow querying the number of input channels from a WebRTCAudioDataListener. r=pehrsons
MozReview-Commit-ID: JkpEZOJpOTl

--HG--
extra : rebase_source : 055d86792861028c9a998b9731651b7e121f9bb0
2018-04-30 15:30:58 +02:00
Paul Adenot f412eb58ae Bug 1456115 - Re-serialize inbound NotifyPull. r=jya
We made NotifyPull parallel to try to lower the load, and we initially measured
an improvement. However, we did the measurements with a profiler that did an
aggregation of the results. Our results had an high variance, so the mean load
was in fact not meaningful.

More careful measurement performed without doing any aggregation show that,
under load, relying on the fact that the scheduler schedules the tasks on time
is too risky, and that the code is fast enough to not have to parallelize.

MozReview-Commit-ID: CMhSn8Sc0OO

--HG--
extra : rebase_source : cfb41f861089bce9e10446bee81c13f8565ba90e
2018-04-12 14:23:03 +02:00
Narcis Beleuzu d6e889b127 Backed out 4 changesets (bug 1456115) for Asan Mochitest filures "AddressSanitizer: stack-overflow /celt/bands.c:1437:4 in quant_all_bands". CLOSED TREE
Backed out changeset 3379d4fc07f6 (bug 1456115)
Backed out changeset 9c77f5b53b56 (bug 1456115)
Backed out changeset e48268ffa4d8 (bug 1456115)
Backed out changeset bffecfd92808 (bug 1456115)
2018-04-24 21:47:07 +03:00
Paul Adenot 0640ca7fdb Bug 1456115 - Re-serialize inbound NotifyPull. r=jya
We made NotifyPull parallel to try to lower the load, and we initially measured
an improvement. However, we did the measurements with a profiler that did an
aggregation of the results. Our results had an high variance, so the mean load
was in fact not meaningful.

More careful measurement performed without doing any aggregation show that,
under load, relying on the fact that the scheduler schedules the tasks on time
is too risky, and that the code is fast enough to not have to parallelize.

MozReview-Commit-ID: CMhSn8Sc0OO

--HG--
extra : rebase_source : cfb41f861089bce9e10446bee81c13f8565ba90e
2018-04-12 14:23:03 +02:00
Paul Adenot a1cfe22210 Bug 1444976 - Use the AsyncLog to implement a tracing subsystem for real-time media. r=pehrsons
Use it like this:

MOZ_DISABLE_CONTENT_SANDBOX=1 MOZ_LOG=MSGTracing:5,sync,raw MOZ_LOG_FILE=trace.log ./mach run

Now open `chrome://tracing` and load the file.

Lanes are threads, thread 0 is the audio callback thread, the other thread have
normal numbers.

Thread 1 shows the theoretical budget we have for a particular audio callback.

MozReview-Commit-ID: 87woGiFT4ID

--HG--
extra : rebase_source : 03cefb8edf12b077607ae71aeb999fd0ac966674
extra : source : 14929579ba3f71f14c9d81b6ed88563d35da11e0
2018-03-20 18:22:08 +01:00
Andreea Pavel 14ac5e554d Backed out 3 changesets (bug 1444976) for failing android at dom/media/tests/mochitest/test_getUserMedia_mediaStreamTrackClone.html a=backout
Backed out changeset 79b7ee8b01ee (bug 1444976)
Backed out changeset 35ca96cabe3c (bug 1444976)
Backed out changeset 2512c9c24244 (bug 1444976)
2018-04-18 21:25:14 +03:00
Paul Adenot a28be80f69 Bug 1444976 - Use the AsyncLog to implement a tracing subsystem for real-time media. r=pehrsons
Use it like this:

MOZ_DISABLE_CONTENT_SANDBOX=1 MOZ_LOG=MSGTracing:5,sync,raw MOZ_LOG_FILE=trace.log ./mach run

Now open `chrome://tracing` and load the file.

Lanes are threads, thread 0 is the audio callback thread, the other thread have
normal numbers.

Thread 1 shows the theoretical budget we have for a particular audio callback.

MozReview-Commit-ID: 87woGiFT4ID

--HG--
extra : rebase_source : b4310af51efa83c6670ba4e37433f7a23a575bba
extra : source : 14929579ba3f71f14c9d81b6ed88563d35da11e0
2018-03-20 18:22:08 +01:00
Cosmin Sabou 2680ecadac Backed out 3 changesets (bug 1444976) for build bustages on dom/media/AsyncLogger. CLOSED TREE
Backed out changeset b021b33ddf74 (bug 1444976)
Backed out changeset 822a57090d84 (bug 1444976)
Backed out changeset 0fa5f7cfee1d (bug 1444976)
2018-04-17 13:07:12 +03:00
Paul Adenot 7e374f59ca Bug 1444976 - Use the AsyncLog to implement a tracing subsystem for real-time media. r=pehrsons
Use it like this:

MOZ_DISABLE_CONTENT_SANDBOX=1 MOZ_LOG=MSGTracing:5,sync,raw MOZ_LOG_FILE=trace.log ./mach run

Now open `chrome://tracing` and load the file.

Lanes are threads, thread 0 is the audio callback thread, the other thread have
normal numbers.

Thread 1 shows the theoretical budget we have for a particular audio callback.

MozReview-Commit-ID: 87woGiFT4ID

--HG--
extra : rebase_source : 52d0b6a3b054238c79f1b224d6cbfcbaec743a67
extra : source : 14929579ba3f71f14c9d81b6ed88563d35da11e0
2018-03-20 18:22:08 +01:00
Alex Chronopoulos 2ef6a59abe Bug 1387454 - Create a MediaStreamGraph according to the given sample rate. r=padenot
MozReview-Commit-ID: 4YP8oWIVyjy

--HG--
extra : rebase_source : 54c83c0aa122fecc9e07868405e42d31b2172516
2018-04-03 20:02:15 +03:00
Andreas Pehrson 7835856206 Bug 1447563 - Clear direct track listeners from TrackUnionStream during shutdown. r=padenot
MozReview-Commit-ID: 9PbpQpOaIIh

--HG--
extra : rebase_source : d37a941097e921de5b83753244ab1523b34157b8
2018-03-26 19:20:44 +02:00
Andreas Pehrson 2b25cd7258 Bug 1299515 - Signal SetPullEnabled with a message. r=padenot
With the added invariant that NotifyPull() needs a MediaStreamListener present
to not underrun, we need SetPullEnabled() and AddListener() to stay in sync by
using the same signaling mechanism.

MozReview-Commit-ID: 49KWdiTOG98

--HG--
extra : rebase_source : d0ad44d7ce431aa792c4908f96baf0c0920dbe90
2018-01-03 11:59:41 +01:00
Jean-Yves Avenard 0a4ce68473 Bug 1425623 - Don't allocate array on the heap. r=padenot
Instead allocate it on the stack and provide it as out parameter.

MozReview-Commit-ID: 9fSJ68EfAga

--HG--
extra : rebase_source : 81430b45e4341d0f4208097f021c2a917e8e2645
2017-12-17 15:47:44 +01:00
Jean-Yves Avenard 1fc0ccabbd Bug 1404997 - P20. Make MediaStreamListener::NotifyPull asynchronous. r=padenot
The operations is done in two ways:
1- Process all the MediaStreamListener at once, which returns a promise that will be resolved once the operation is completed.
2- As the Cubeb audio callback must be resolved immediately, the MSG will wait for all the promises to be resolved until it continues the operation of feeding the callback the necessary data.

This will allow to parallelize the stream's tracks' audio decoding.

MozReview-Commit-ID: EeoDvxnJyWV

--HG--
extra : rebase_source : 3d09af5aa3c80c4892a4d9af80842541d8fc33bb
2017-12-10 21:33:43 +01:00
Jean-Yves Avenard 8ee5b6a296 Bug 1404997 - P17. Split ExtractPendingInput into two methods. r=padenot
There were two steps happening inside ExtractPendingInput:
1- Retrieve the data from the StreamTracks
2- Process any pending pending states change

We split it so that the retrieval from the StreamTrack can be promisified in an upcoming change

MozReview-Commit-ID: 53O4fXWMDGL

--HG--
extra : rebase_source : da082fa8db3a9029dc05d845cb9f58514f5ffcff
2017-12-07 20:52:56 +01:00
Jean-Yves Avenard d62fc9df33 Bug 1404997 - P15. Move MSG::FinishStream logic to MediaStream. r=padenot
It is good practice for the MSG to now know the implementation details of the MediaStream.

Additionally, this will allow to make a thread-safe version later.,

MozReview-Commit-ID: CTacCLSeKRP

--HG--
extra : rebase_source : 4feb4beb12f4cd2a6fb67fd6a18f003ea8b18869
2017-12-07 16:12:19 +01:00
Jean-Yves Avenard a21ef82be7 Bug 1404997 - P14. Rename members to clarify the finish meaning. r=padenot
We have different concept of "finish" between the base class and its hierarchy.
Attempt to clear the sitatuation by renaming the members and related methods.

MozReview-Commit-ID: vFsXhMK5GY

--HG--
extra : rebase_source : 65eda9257e447584161da51af7c240e31027c501
2017-12-06 19:00:22 +01:00
Jean-Yves Avenard 55065b688d Bug 1404997 - P13. Move ExtractPendingInput logic to SourceMediaStream. r=padenot
The MSG shouldn't have to know about the inner details of the SourceMediaStream

MozReview-Commit-ID: 2S81SPzy09E

--HG--
extra : rebase_source : dff8384b19442e7686cef42420372e39f10094b6
2017-12-06 16:55:56 +01:00
Jean-Yves Avenard d1be81a96e Bug 1415556 - P10. Make functions const where needed. r=padenot
MozReview-Commit-ID: EBEgDVCTewa

--HG--
extra : rebase_source : 282ea4f98d253e9235f159afd7d3f88a4f26d6b1
2017-11-10 20:01:27 +01:00
Jean-Yves Avenard 2eda28dd35 Bug 1415556 - P3. clearly mark functions' thread use. r=padenot
MozReview-Commit-ID: BXmdk4zBo28

--HG--
extra : rebase_source : 4afd6fa5e887aff093e7a9e629e8c93573f17631
2017-11-10 18:24:20 +01:00
Jean-Yves Avenard d79f854f37 Bug 1415556 - P1. Add precision on thread access with some members. r=padenot
Describe which members are accessed on the main threads. Other members are only accessed on MSG thread.

MozReview-Commit-ID: CFU4ipRHB1P

--HG--
extra : rebase_source : ad4843da513997a633d2d402384f9478df29c3a7
2017-11-10 17:28:59 +01:00
Andreas Pehrson e22e9cf471 Bug 1407542 - Implement MediaStreamGraph::GetInstanceIfExists. r=padenot
MozReview-Commit-ID: EAd0rIrZg43

--HG--
extra : rebase_source : 2fdfc1ce361b9f9d6c43ffa887c54c88e6157f11
2017-10-23 19:08:40 +02:00
Andreas Pehrson 71cacec3d5 Bug 1410829 - Signal listeners removed on shutdown so they can clean up. r=padenot
When shutting down we shut modules down in the order of
[media, gfx, cycleCollector].

At the same time we rely on destructors to clean up resources for MediaStreams
and MediaStreamTracks, but these objects may be held until cycleCollector
shutdown. Gfx resources are not allowed to be released after gfx shutdown, which
is where we this approach hits a wall.

This patch will signal them through the three available listener types to clean
up during media shutdown.

MozReview-Commit-ID: FwsG3ukV29P

--HG--
extra : rebase_source : 554ec29a43b7551b3b5570577b0559285e36d4fd
2017-10-26 16:13:38 +02:00
Karl Tomlinson 449d985d8e bug 1406831 don't tolerate just owning the monitor if AssertOnGraphThreadOrNotRunning() is not called on the correct thread r=pehrsons
Owning the monitor is not sufficient for consistent state if state can be
accessed without the monitor.

The requirements for SetCurrentDriver() are tighted to require both the
monitor and correct thread, as CurrentDriver() can be called either with the
monitor or on the graph thread.

MozReview-Commit-ID: 90q7Pfa8jxn

--HG--
extra : rebase_source : 6cbcc334dc2bd355d2e9afdebda45a9624edda4b
2017-09-28 15:30:48 +13:00
Andreas Pehrson d918302551 Bug 1319446 - DirectMediaStreamListener, you are dead to me. r=padenot
MozReview-Commit-ID: KwztE5ogSj9

--HG--
extra : rebase_source : e8e6bb3548c5697c5db901c0310ea5067a30c895
2017-09-27 12:01:46 +02:00
Matthew Gregan 2f8cc7804c Bug 1388236 - Remove B2G-only AudioChannel code from MSG. r=padenot 2017-08-10 13:00:08 +12:00
Carsten "Tomcat" Book daa67cc9e3 merge mozilla-inbound to mozilla-central a=merge 2017-06-30 12:59:45 +02:00
Paul Adenot 404c800005 Bug 1341555 - Consolidate use of the MSG's AbstractMainThread, and stop having AbstractMainThread on MediaStreams. r=pehrsons
MozReview-Commit-ID: 5hGDQcfpH6a

--HG--
extra : rebase_source : 41bb678f37cfcdbc9912a25f45a5ca488084aabe
2017-06-29 11:30:57 -07:00
Paul Adenot 91cc425f9a Bug 1341555 - Label MSG runnables. r=pehrsons
MozReview-Commit-ID: 4sfRH3FxtBT

--HG--
extra : rebase_source : 1c473d1f6c7f79462c39126dc7bb9116948cca54
2017-06-29 11:31:17 -07:00