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

135 Коммитов

Автор SHA1 Сообщение Дата
Karl Tomlinson c320ab35f2 Bug 1503132 remove mNonRealtimeProcessing r=padenot
Depends on D10171

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

--HG--
extra : moz-landing-system : lando
2018-10-30 15:01:43 +00:00
Karl Tomlinson 7bd0b8545b Bug 1503132 make RoundUpToEndOfAudioBlock() a static member r=padenot
Depends on D10169

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

--HG--
extra : moz-landing-system : lando
2018-10-30 15:00:55 +00:00
Karl Tomlinson daf9a7dbdc Bug 1503132 create offline graph thread on receipt of the first message r=padenot
With this change, the graph is already running when mEndTime is set and so
this must be done on the graph thread for consistent ordering with in-flight
messages.

Depends on D10168

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

--HG--
extra : moz-landing-system : lando
2018-10-30 15:00:43 +00:00
Karl Tomlinson 583e8af90c Bug 1503132 do not shut down graph thread on completion of offline rendering r=padenot
AudioWorket will need to keep processing events on the graph thread.
The graph thread is instead shut down when the AudioContext is destroyed.

Depends on D10165

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

--HG--
extra : moz-landing-system : lando
2018-10-30 14:59:52 +00:00
Karl Tomlinson 056ba195bd Bug 1503132 remove unused MediaStreamGraphImpl::Running() r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D10160

--HG--
extra : moz-landing-system : lando
2018-10-30 23:50:27 +00:00
Paul Adenot 3f4724fcbb Bug 1487057 - Part 4 - Remove AsyncLatencyLogger and associated code. r=pehrsons
It's not maintained and probably does not work anymore.

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

--HG--
extra : rebase_source : ccd622e40844dda5d16266e49991462d4ea94224
2018-08-30 17:11:57 +02:00
Paul Adenot 1c154b62b4 Bug 1483926 - Take into account mInputDeviceID is always nullptr on Android for now. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D3899

--HG--
extra : moz-landing-system : lando
2018-08-21 16:32:24 +00:00
Paul Adenot 3f50ca3b6f Bug 1480036 - Allow scaling all MSG volume with a pref. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D2594

--HG--
extra : rebase_source : 12a931585d95fe190e6fc1e3b4fba9a2f0cd6cd9
extra : histedit_source : 355f316e6eba1feaa0ee3e7750feede92eeae4bc
2018-08-01 12:10:32 +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 ff9c7304e1 Bug 1404977 - Part 12 - Make DeviceChanged() notification thread safe by using the MSG message queue. r=pehrsons
This is slightly slower, especially if the main thread is busy, but it's cleaner
and actually safe.

MozReview-Commit-ID: 4C2FalxmE3L

--HG--
extra : rebase_source : 3f1341397bede31fcc35dab5a0cbf59b893f9b81
2018-05-31 16:42:24 +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
Alex Chronopoulos 43f81a73ac Bug 1460346 - Assert in SetCurrentDriver method of MSG that is called from audio thread or when the thread is not running. r=pehrsons
MozReview-Commit-ID: 7JKcFxxDFCt

--HG--
extra : rebase_source : fe8d0b043117f3b5ecfe3ae36addae340c795875
2018-05-25 11:58:58 +03: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 fbf116232d Bug 1444976 - Trace some initial real-time media stuff. r=pehrsons
MozReview-Commit-ID: 7mmDHVS2t8f

--HG--
extra : rebase_source : ac56722792f99aadd8e359ef9ae4b30f6dc78076
extra : source : 7b9d0ce0b1cb20540d1c5bf4c77596359b5cb73e
2018-04-12 17:51:35 +02: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 f00a090b8a Bug 1444976 - Trace some initial real-time media stuff. r=pehrsons
MozReview-Commit-ID: 7mmDHVS2t8f

--HG--
extra : rebase_source : a6b0bd42a63f3fc6e4a6307249ed447d749f96c4
extra : source : 7b9d0ce0b1cb20540d1c5bf4c77596359b5cb73e
2018-04-12 17:51:35 +02: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 d9b247b0d7 Bug 1444976 - Trace some initial real-time media stuff. r=pehrsons
MozReview-Commit-ID: 7mmDHVS2t8f

--HG--
extra : rebase_source : 0ab839099c0a5d83f639a1157c126d6fae60cb1e
extra : source : 7b9d0ce0b1cb20540d1c5bf4c77596359b5cb73e
2018-04-12 17:51:35 +02:00
Andreas Pehrson d46c8b84c9 Bug 1407549 - Simplify MSGImpl::AudioTrackPresent. r=padenot
MozReview-Commit-ID: 9MBH3xoah1f

--HG--
extra : rebase_source : 536dc84e1fd11e8edbf426067943c8c210ea0327
2018-03-29 16:10:29 +02:00
Andreas Pehrson 60f3567035 Bug 1440040 - Don't round up to next block unless necessary. r=padenot
With block size 128, rounding `128` to end of next block gives `256`, which is
not what we want when running MSG iterations. That could mean over-iterating and
buffering unnecessary amounts of silence.

MozReview-Commit-ID: vW14l2ygRy

--HG--
extra : rebase_source : 8aeedc8958e646f9730c9163447e3355a73fd42e
2018-02-28 22:37:02 +01:00
Paul Adenot e3c5088847 Bug 1428392 - Remove AudioOutputObserver, and feed the reverse-stream directly to the AEC. r=pehrsons
MozReview-Commit-ID: EVpH5LUOZ6g

--HG--
extra : rebase_source : d172cd10dffee89ac48b9ec6b6435dcf0c0581d4
2018-01-05 18:10:23 +01:00
Jean-Yves Avenard 9c5a09051e Bug 1404997 - P26. Give Await the threadpool to use. r=gerald
This allows to re-use the SharedThreadPool across calls, preventing the need to create a new thread on each call.

MozReview-Commit-ID: CbP6OTYKhHL

--HG--
extra : rebase_source : 969f2c74f00614d6265fe0e25abfb36c9648d564
2017-12-15 20:06:38 +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
Karl Tomlinson 7c98745089 bug 1408276 move to LIFECYCLE_WAITING_FOR_MAIN_THREAD_CLEANUP at end of iteration f=pehrsons r=padenot
MozReview-Commit-ID: GbfIOPZPuGu

--HG--
extra : rebase_source : 8a7abbe8a96a90f20dbb0465b6a5f69f05140d4f
extra : amend_source : 41079a2a825b53ed6d4e8cc31fc4c8de2f041e8b
extra : histedit_source : df5b962ac253df34ace8ebc22cdd98b608b6ddfb
2017-10-17 18:14:43 +13: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 78e8270149 Bug 1415556 - P9. Remove unused member. r=padenot
MozReview-Commit-ID: 2LbqhBkmDBF

--HG--
extra : rebase_source : 563337da4aef6a16522ceb9e0862f7a42a6efce6
2017-11-10 19:00:12 +01:00
Jean-Yves Avenard 9f54c61d6e Bug 1415556 - P8. Assert on proper access of mStreams member. r=padenot.
mStreams should only ever be accessed on the MSG thread. However, under some shutdown circumstances, it can be accessed on the main thread while the MSG thread is still alive.

This will be corrected in bug 1408276.

MozReview-Commit-ID: 6xWzxxV1Dv3

--HG--
extra : rebase_source : bce92961609da6ea8609ec8ada5a8a30263a84c9
2017-11-10 18:56:29 +01:00
Jean-Yves Avenard 66c39c273f Bug 1415556 - P6. Ensure mLifecycleState member is always accessed safely. r=padenot
We only access mLifecycleState via a helper which strongly enforced how the member can be accessed.
Two non-safe accesses are corrected.

MozReview-Commit-ID: 6LYk7t4rSyB

--HG--
extra : rebase_source : 9727771e1b04ba1b39f5cf9a6cf94093b7e92b27
2017-11-10 18:38:02 +01:00
Jean-Yves Avenard 95a29ea071 Bug 1415556 - P4. Make members atomics. r=padenot
They are accessed across multiple threads without the use of monitors.
While it could be argued that some use of the monitor in functions accessing those members would set in place memory barriers, making them atomics remove all doubts as to the thread safetyness of their use.

MozReview-Commit-ID: tyTqeGgDNM

--HG--
extra : rebase_source : 420c38abcfeaa5fca2449034d8e1e3d82949d49d
2017-11-10 18:27:39 +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 9b9c8f3ee4 Bug 1415556 - P2. Make member const. r=padenot
MozReview-Commit-ID: JPDW5cX8RvH

--HG--
extra : rebase_source : c83efd6665e23c89922d6d2cfdcd4f9ad3de3afa
2017-11-10 17:30:19 +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
Karl Tomlinson 43bad3ff0d bug 1410043 remove over-zealous graph-thread assert in SetCurrentDriver() r=pehrsons
The reverts to accepting ownership of the monitor regardless of the thread, as
accepted prior to
https://hg.mozilla.org/mozilla-central/rev/e3f39de40209#l1.25

As indicated in the SetCurrentDriver() documentation, it can be called on the
main thread during Revive() before another graph thread is started.

At that point mLifecycleState = LIFECYCLE_RUNNING, and so it is not easy to
adjust AssertOnGraphThreadOrNotRunning() to accept this situation without
making it much more liberal.

An alternative would be to change the Revive() methods to set mDriver
directly, but that would differ from the usual driver-switching pattern.

MozReview-Commit-ID: 9O5qakPVML9

--HG--
extra : rebase_source : 82115938ccd164863ddf6f983e7900705844d0ed
2017-10-20 17:59:19 +13:00
Karl Tomlinson 938c20597e bug 1406830 remove unused RemoveMixerCallback r=padenot
Unused since
https://hg.mozilla.org/mozilla-central/rev/ef761a32a969178df81a61bc2d0a376dde2eec03#l1.144

MozReview-Commit-ID: G0NaZXJLRN9

--HG--
extra : rebase_source : 6c56600734e628f10cb5dc08c6d25d29cbc684ea
2017-09-28 12:26:41 +13: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
Alex Chronopoulos 643923ac4c Bug 1400889 - Keep constant output channels in MediaStreamGraph. r=padenot
MozReview-Commit-ID: JlQdxU0aNOf

--HG--
extra : rebase_source : 25b6f223c2158a4eb9175731cdbb8521de4ce312
2017-10-03 17:56:53 +03:00
Andreas Pehrson eabd4ccaab Bug 1296531 - Break out ShutdownTicket and GetShutdownBarrier from MSG to MediaUtils. r=jib
MozReview-Commit-ID: HVCfuJz1zoA

--HG--
extra : rebase_source : 409867202687a2597f3ede12d06720f4a3e4ac30
2017-05-16 12:39:02 +02:00
Andreas Pehrson d03477d9ee Bug 1296531 - Order MSGImpl.h-includes alphabetically. r=jesup
MozReview-Commit-ID: HklmT8OtzOr

--HG--
extra : rebase_source : ead3b611dcb842a53f06f11c753526aed76fc54a
2017-05-16 12:37:38 +02:00
Alex Chronopoulos c9d4805a3f Bug 1378070 - Implement multichannel WebAudio. r=padenot
* * *
[mq]: rebase

MozReview-Commit-ID: KJwH3ZeJn55

--HG--
extra : rebase_source : 0e9866c8dc5ccb98a9654c1e18b0bcef1ef5afa8
2017-08-28 17:16:20 +03:00
Matthew Gregan 2f8cc7804c Bug 1388236 - Remove B2G-only AudioChannel code from MSG. r=padenot 2017-08-10 13:00:08 +12:00
Bevis Tseng 95b18d794e Bug 1382172 - Name nsITimerCallback instances in native implementation. r=billm
--HG--
extra : rebase_source : 84de1abfcc30a6964144c2e6718a508c71027b65
2017-07-27 02:18:20 +08: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
Randell Jesup f99728abf6 Bug 1255737: Move MSG shutdown max-timeout from just only cubeb shutdown to the entire graph r=padenot
Effectively backs out the previous landing for bug 1255737

MozReview-Commit-ID: 37QfhATw8wU
2016-10-02 13:51:40 -04:00
Andreas Pehrson b8ed2ee25c Bug 1299172 - Assert on MSG thread in DispatchToMainThreadAfterStreamStateUpdate. r=jesup
MozReview-Commit-ID: 9ihJduZOSa

--HG--
extra : rebase_source : 1088fc98f97456c933f146565ba91ce0358e6a4c
2016-08-31 14:07:53 +02:00
Randell Jesup 9f2b9ce819 Bug 1298698: Block race between EnsureNextIteration and WaitForNextIteration r=karlt 2016-08-29 10:41:01 -04:00
ctai 2c69985ffe Bug 1201363 - Call MediaStreamVideoSink::setCurrentFrames in SourceMediaStream::AppendToTrack. r=jesup
In this patch, we first deal with the case of MediaElement. Now we replace |PlayVideo| with |VideoFrameContainer::SetCurrentFrames| in |SourceMediaStream::AppendToTrack|. The MSG use TimeStamp::Now() for the TimeStamp of each video frame in most of case except MediaElement case. Becasue the MediaElement has its own VideoQueue, we need to calucalte the correct Timestamp based on the StartTimeStamp of this MediaStream and the elpased time of the video frame in DecodedStream.

MozReview-Commit-ID: 2bm2AHkFXHu

--HG--
extra : transplant_source : %3D%AA%00%CE%A3SV5%8F%84%96%AC%E2%D9%10%EC%85%07N%DF
2016-07-25 10:01:26 +08:00
Sebastian Hengst f4671c3b11 Backed out changeset 4111e388bd90 (bug 1201363) 2016-08-03 19:33:25 +02:00