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

216 Коммитов

Автор SHA1 Сообщение Дата
Karl Tomlinson f85e9dfabc Bug 1503132 add wait/wake-up support to OfflineAudioContext r=padenot
Depends on D10162

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

--HG--
extra : moz-landing-system : lando
2018-10-30 09:48:08 +00:00
Karl Tomlinson 40589e9304 Bug 1503132 remove unnecessary SystemClockDriver::mWaitState r=padenot
mWaitState is only ever tested against WAITSTATE_WAITING_INDEFINITELY and so
the other values are equivalent.  It is never WAITSTATE_WAITING_INDEFINITELY
on leaving (or entering) WaitForNextIteration and so there is no need to set
it in WakeUp().

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

--HG--
extra : moz-landing-system : lando
2018-10-31 00:54:14 +00:00
Karl Tomlinson a2cc4c6476 Bug 1503132 remove unnecessary monitor notify for AudioCallbackDriver r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D10161

--HG--
extra : moz-landing-system : lando
2018-10-30 23:51:49 +00:00
Karl Tomlinson fb511e7d71 Bug 1497751 update driver state before handing control to another thread r=achronop
Differential Revision: https://phabricator.services.mozilla.com/D8180

--HG--
extra : rebase_source : 28d6f37a225f5ca9a4f7edb2323497b59dd806a7
extra : amend_source : 2e1d83177eba552a95b651f13bc452cb39f5f97e
2018-10-13 12:45:18 +13:00
Nathan Froyd ac6614c34b Bug 1486064 - don't cargo-cult AudioDeviceInfo.h in GraphDriver.cpp; r=padenot
When WebRTC is disabled, we get complaints about undefined AudioDeviceInfo.
2018-08-27 09:11:41 -04:00
Paul Adenot a5f0fee215 Bug 1480036 - Allow forcing a specific audio output device from a test. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D3507

--HG--
extra : rebase_source : 2f20dcd24d148ea0cc9f7b73ff0dd81f25574467
extra : histedit_source : aa2205caf3ad5fe9e5fceaf78e6f7a7e3488155b
2018-08-01 14:16:30 +02:00
Paul Adenot 28fa83d1b5 Bug 1404977 - Part 10 - Make logging uniform, and consistently use GraphImpl() to access the graph impl. r=pehrsons
MozReview-Commit-ID: DZ7zhQsBtvy

--HG--
extra : rebase_source : d44599587cc11dccaecf6672fc4ffbaad1a5c14f
2018-04-17 17:11:13 +02:00
Paul Adenot 6622a3551d Bug 1404977 - Part 9 - Propagate the changes to the GraphDrivers, simplifying them, and brokering all access through the MSG. r=pehrsons
For an AudioCallbackDriver, the number of input channels is immutable, and
passed at construction, so that it's less necessary to rely on global state.

MozReview-Commit-ID: F9TL1H92z3W

--HG--
extra : rebase_source : 5193488592ca97273eb2b6f43d4c7a0e4beb0a33
2018-04-30 16:01:56 +02:00
Paul Adenot 76f4e9a05b Bug 1477200 - Temporarily bump audio input and output latency on OSX as a stop-gap measure, on macbook pros. r=pehrsons
MozReview-Commit-ID: 3kD3ZRT2fDf

--HG--
extra : rebase_source : 675c1a729953ab3d6ef52bb165787b151136c3f3
2018-07-20 11:27:27 +02:00
Karl Tomlinson 22e47fbddd bug 1472925 keep a strong reference to MediaStreamGraph from GraphDriver r=padenot
--HG--
extra : rebase_source : 1db73541027a7b8f40365c6dc7977eb6be88c567
2018-07-03 17:23:09 +12:00
Karl Tomlinson eefb5cc865 bug 1471953 use SystemGroup for ThreadedDriver thread shutdown task r=padenot
The shutdown of the thread is not observable from content, and so its
order wrt other tasks is not important.
2018-07-03 14:26:21 +12:00
Alex Chronopoulos 8b700896f3 Bug 1460346 - Verify that AudioMixer'callback is removed before the destruction of GraphDriver. r=padenot
MozReview-Commit-ID: Jd0PVw7xHDV

--HG--
extra : rebase_source : 2e50404b08778ceadd76691312861d134d7c1a42
2018-06-29 10:05:56 +02:00
Alex Chronopoulos 9088abf6c9 Bug 1460346 - Remove unnecessary locking on an atomic value. r=pehrsons
MozReview-Commit-ID: 5SPjgHkPwTT

--HG--
extra : rebase_source : eccca9f4359b859c1bf78bf24a33d9620cd63589
2018-05-25 11:59:08 +03:00
Alex Chronopoulos cd6f5298c4 Bug 1460346 - Fix a case that ThreadedDriver is started when it is already working. r=padenot
MozReview-Commit-ID: 6R6WH3ITw03

--HG--
extra : rebase_source : 0762f709b7b82714f7c3a47ad59984e5bde49238
2018-05-25 11:58:58 +03:00
Alex Chronopoulos 7ab72fe907 Bug 1460346 - Assert that GraphDriver methods are called from graph thread. r=padenot,pehrsons
MozReview-Commit-ID: Kkl7ENMXlJq

--HG--
extra : rebase_source : ccc79b8cfcb1d6d86ced5bc2a5a2931eccd7ff72
2018-05-25 11:58:45 +03:00
Alex Chronopoulos 023dddff06 Bug 1460346 - Assert that driver switch request comes only from audio thread. r=pehrsons
MozReview-Commit-ID: B8ZTPE5qqpY

--HG--
extra : rebase_source : 9001972d910e5089c2c2fb72a912c3d18292094f
2018-05-22 19:51:48 +03:00
Alex Chronopoulos d3b6626bf0 Bug 1460346 - Create a method to check whether GraphDriver's thread is running. r=pehrsons
MozReview-Commit-ID: 8hOXvxDWOIG

--HG--
extra : rebase_source : 838637720c24e08769ea59204bb55da6678e71b4
2018-05-22 19:51:42 +03:00
Alex Chronopoulos 2b26626333 Bug 1460346 - Move checks for NextDriver member in the setter method. r=pehrsons
MozReview-Commit-ID: 906AyL0tEwG

--HG--
extra : rebase_source : 4359724926d9d06919fc911336125f308dfb1d07
2018-05-22 19:31:56 +03:00
Alex Chronopoulos 3148644625 Bug 1457427 - Change the assert in SetInputListener of GraphDriver to verify that the driver is not started. r=padenot
With the updated OnThread method SetInputListener method cannot continue asserting for being in audio callback. This check is not realistic since it is used on a newly created driver before being started.

MozReview-Commit-ID: 5gntuHm3fnr

--HG--
extra : rebase_source : e3bc17e9d8c83c4d61686889af41edfb3ef3902f
2018-05-07 19:36:45 +02:00
Alex Chronopoulos 7271873512 Bug 1457427 - Improve OnThread method of AudioCallbackDriver to track the thread id of the audio thread so be more accurate. r=padenot
The class has been enhanced to store the thread id at the beginning of the callback and use it in order to compare with the current thread id when OnThread method is called. The old mechanism which includes the mInCallback flag has been removed.

MozReview-Commit-ID: DWSbFQfvKzX

--HG--
extra : rebase_source : e6c011da563b8f1d562ca7a394433e1e53fcffa4
2018-05-07 19:36:14 +02:00
Alex Chronopoulos 196c05c507 Bug 1457427 - Create a new GraphDriver method which performs the switching to next driver. r=padenot
Restructuring of the existing code no functional change.

MozReview-Commit-ID: JWaa8LgG4MR

--HG--
extra : rebase_source : 97190b870172549a0cd2453078c0511887059b73
2018-05-07 19:35:56 +02:00
Matthew Gregan 81d70e03c7 Bug 1427011 - Disable default device switching in libcubeb's WASAPI backend. r=padenot 2018-04-30 19:59:32 +12:00
Karl Tomlinson c3c3a90bcb bug 1457058 remove unused GraphDriver::RemoveCallback() r=padenot
MozReview-Commit-ID: 3ZWfWEJ7bko

--HG--
extra : rebase_source : 2bd9b8fd0f87f87905606f5550c9645fbe68b465
2018-04-26 17:50:59 +12: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
Nika Layzell 0c3ba13e4c Bug 1437167 - Part 1: Stop using PRIntervalTime as the argument to CondVar::Wait and Monitor::Wait, r=mstange, r=froydnj 2018-04-10 17:49:47 -04: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
Jean-Yves Avenard 87fa7068d5 Bug 1432779 - P4. Remove the concept of preferred layout. r=padenot,r=kamidphish
Channel layout is derived by the content being played. The concept of preferred layout is meaningless. Either we have a layout defined, or we don't. There's no in-between.

So we remove it.

MozReview-Commit-ID: CSCAInNmzMS
2018-03-24 10:57:59 +01:00
Bryce Van Dyk 978c69f8d4 Bug 1434477 - If AudioCallbackDriver::Init() can't get a cubeb context, fall back to system clock driver. r=padenot
Change AudioCallbackDriver::Init() to fallback to a system clock driver if a
cubeb context can not be obtained. This should make driver init more robust in
cases where cubeb init fails and then CubebUtils::GetCubebContext() returns no
context.

MozReview-Commit-ID: IlFPytYacoI

--HG--
extra : rebase_source : 7445ceb49583ee3ae399252e995ce6f012d9da2f
2018-03-19 14:46:36 -04:00
Bryce Van Dyk 70d6e49a13 Bug 1434477 - Add extra logging to MediaManager's device enumeration path. r=padenot
Add logging was added to help diagnose gUM failures and provide more log
coverage of that code path.

MozReview-Commit-ID: A76fjlUVpmn

--HG--
extra : rebase_source : 6f67ab223739474c8dec7a72a1ff322503c4df96
2018-03-16 15:09:55 -04: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
Alex Chronopoulos c8882611dc Bug 1410456 - use jni methods in place of removed cubeb methods. r=padenot
MozReview-Commit-ID: 18fQVZeYAgk

--HG--
extra : rebase_source : 67b9df3bdfb22d2baa05a15f6535af8d3d5c12d9
2018-02-20 15:37:07 +02:00
Narcis Beleuzu 5968b0947f Backed out 10 changesets (bug 1410456) for Android mochitest crashes, e.g. in test_postMessages.html. CLOSED TREE
Backed out changeset 7ec175446efd (bug 1410456)
Backed out changeset 94457911bb24 (bug 1410456)
Backed out changeset 5248a21216ae (bug 1410456)
Backed out changeset f182ab7885db (bug 1410456)
Backed out changeset e482347bdae3 (bug 1410456)
Backed out changeset f7b646045e06 (bug 1410456)
Backed out changeset 6a8ed4bf5d2f (bug 1410456)
Backed out changeset 1a9c687ec277 (bug 1410456)
Backed out changeset 82f6667c6758 (bug 1410456)
Backed out changeset 7bf358e3e01b (bug 1410456)
2018-02-26 15:58:20 +02:00
Alex Chronopoulos 816b44e1a0 Bug 1410456 - use jni methods in place of removed cubeb methods. r=padenot
MozReview-Commit-ID: 18fQVZeYAgk

--HG--
extra : rebase_source : 67b9df3bdfb22d2baa05a15f6535af8d3d5c12d9
2018-02-20 15:37:07 +02:00
Dorel Luca 037478c033 Backed out 9 changesets (bug 1410456) for Mochitest failure on mobile/android/tests/browser/chrome/test_media_playback.html
Backed out changeset 36f6b40dfa88 (bug 1410456)
Backed out changeset 19f3248502d9 (bug 1410456)
Backed out changeset 18ef18999175 (bug 1410456)
Backed out changeset 0ec75a56b4c7 (bug 1410456)
Backed out changeset f7eae1545d5e (bug 1410456)
Backed out changeset d59060ecd24c (bug 1410456)
Backed out changeset f996b9dce4a6 (bug 1410456)
Backed out changeset 1f75636b5bce (bug 1410456)
Backed out changeset c170d37b1a04 (bug 1410456)
2018-02-19 21:45:10 +02:00
Alex Chronopoulos 33dc85d377 Bug 1410456 - use jni methods in place of removed cubeb methods. r=padenot
MozReview-Commit-ID: 7DqORSl0Sm2

--HG--
extra : rebase_source : 4559b6a65297bf3b2c70f33b6ab27e612a0fced2
2018-02-19 18:28:10 +02:00
Karl Tomlinson df12c01556 bug 1436267 fallback from audio callback to system clock driver on error only once r=padenot
Usually, mShouldFallbackIfError has been reset to false in DataCallback()
before Stop() is called.  However, if fallback to a system clock driver due to
cubeb error had already occurred, then mShouldFallbackIfError would not have
been reset, and Stop() is still called.  With mShouldFallbackIfError still
true, a cubeb error in stop would have created another fallback thread.

I expect that resetting mShouldFallbackIfError in Stop() would also be an
effective alternative solution, but resetting on StateCallback() happens
earlier, which would be an advantage if any additional errors could possibly
be reported to StateCallback().

MozReview-Commit-ID: E9j7PQmS3O4

--HG--
extra : rebase_source : 200993c9e99475101c429005cfadb7260df29067
2018-02-07 20:16:01 +13:00
Andreas Pehrson c09c157cde Bug 1408294 - Assert that we don't underrun globally. r=padenot
MozReview-Commit-ID: 1vEN1K1TK5n

--HG--
extra : rebase_source : e2bcc28d52b28e741e8a114db4cee9880abf6562
2017-12-01 15:37:54 +01:00
Andreas Pehrson 0ac2875a3d Bug 1408294 - Set iteration state before calling NotifyInputData. r=padenot
In the MediaEngine for microphone capture we want to fall back on feeding
silence when the device is stopped. To ensure this doesn't go haywire we check
that the invariant that at most one of NotifyInputData and NotifyPull get
called in the same iteration.

For them to be aligned on which iteration they're in however, the graph needs
to report a consistent IterationEnd() to both. This patch fixes this by only
calling into NotifyInputData() *after* setting iteration state, which will then
be consistent also across OneIteration (which calls into NotifyPull).

MozReview-Commit-ID: 4lD4OcdGtM6

--HG--
extra : rebase_source : 397ee320b83b23ac21961b67341b774f18e8b51b
2017-11-28 13:32:21 +01:00
Bryce Van Dyk 37dd875199 Bug 1432869 - Update usage of cubeb_stream_params to set newly exposed prefs member. r=achronop
The changes to the cubeb API mean that the new prefs member on
cubeb_stream_params should be explicitly set. This changeset does so.

MozReview-Commit-ID: 1hwjLTriaBP

--HG--
extra : rebase_source : f32c4a0a945ed7a048ca40c7286024da1fb93473
2018-01-22 13:20:29 -05:00
Paul Adenot b73774d1b2 Bug 1370598 - Don't cap latency at 512 frames on Macs that are not Macbooks or Macbook Air. r=achronop
MozReview-Commit-ID: LEquEPECH9P

--HG--
extra : rebase_source : a0cb2a435b6b211ebb432b1f13cf8bf5878906be
2018-01-16 16:44:34 +01:00
Karl Tomlinson a848c67de0 bug 1418820 add diagnostic asserts to check for multiple concurrent drivers r=padenot
MozReview-Commit-ID: 5nRELgRkjQY

--HG--
extra : rebase_source : cc08e88c88e7997a2808aa6c1f59f8a70cd7f191
2017-12-21 20:08:21 +13:00
Alex Chronopoulos 53b3d41122 Bug 1426174 - New reentrant get layout method to solve synchronization issues. r=jesup
MozReview-Commit-ID: JwOAjuO22bd

--HG--
extra : rebase_source : 953c4ee8df470968a7ba4da4962c7b0631781309
2017-12-20 20:52:06 +02:00
Alex Chronopoulos ada70b6339 Bug 1418694 - Use channel layout to avoid failures when default layout is not set. r=padenot
MozReview-Commit-ID: FzdJQYi35yQ

--HG--
extra : rebase_source : b8460d156ea933d2f87982e38d23502bba7226e1
2017-12-15 18:02:39 -06:00
Narcis Beleuzu a8f33facb2 Backed out changeset db713228c8e3 (bug 1425150) for wpt failures on core/platform.cpp r=abackout on a CLOSED TREE 2017-12-14 23:23:20 +02:00
Paul Adenot 17ca0b45f8 Bug 1425150 - Register AudioCallbackDriver to the Gecko Profiler. r=jya
MozReview-Commit-ID: 3rJbF8Kq0zx

--HG--
extra : rebase_source : 49719ea92da9c1c556b1c3d10a06d3f2cdc3b08f
2017-12-13 17:10:14 -06:00
Alex Chronopoulos 758db182f3 Bug 1419378 - Fail before stream init when output number of channels is zero. r=padenot
MozReview-Commit-ID: G2bjXhAXiqz

--HG--
extra : rebase_source : 21cf22e4afd4065835a5323ed0ab44a55035f0db
2017-11-28 12:57:02 +02:00