Commit Graph

264 Commits

Author SHA1 Message Date
Nicholas Nethercote
24cd9d5226 Bug 1203005 - Remove all traces of -Wdeclaration-after-statement. r=glandium.
Even though we compile C code as C99, we used to need
-Wdeclaration-after-statement because MSVC didn't allow declarations after
statements.

However, Visual Studio 2013 added support, so we can now merrily mix
declarations and statements everywhere. Hooray.

--HG--
extra : rebase_source : 00a89fed733008785429827408a0c6c466971080
2015-09-09 04:57:44 -07:00
Matthew Gregan
4a3512acbf Bug 1199794 - Add NULL checks to avoid crashing during media playback if the audio device removed. r=padenot
--HG--
extra : rebase_source : fc390ed0cd902c2195cdaf8c151fcbe69050beb3
2015-08-28 19:13:00 -04:00
Nicholas Nethercote
f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Matthew Gregan
bd4557d750 Bug 1197049 - Retain stream volume across device changes. r=padenot 2015-08-21 14:46:22 +12:00
Matthew Gregan
da63388633 Bug 1136360 - Report actual number of frames written to ReleaseBuffer. r=jesup 2015-08-21 18:09:34 +12:00
Matthew Gregan
7de719b648 Bug 1136360 - Account for stream and device latency in stream position calculation. r=jesup 2015-08-21 13:53:21 +12:00
Matthew Gregan
cea13e8bed Backed out 2 changesets (bug 1136360)
Backed out changeset 004f6db9c2dd (bug 1136360)
Backed out changeset 9b568fb8d447 (bug 1136360)
2015-08-24 13:25:57 +12:00
Matthew Gregan
52219f5e5c Bug 1136360 - Report actual number of frames written to ReleaseBuffer. r=jesup 2015-08-21 18:09:34 +12:00
Matthew Gregan
5faa47f98e Bug 1136360 - Account for stream and device latency in stream position calculation. r=jesup 2015-08-21 13:53:21 +12:00
Matthew Gregan
c953f0aca1 Bug 1195058 - Handle pa_context_new returning NULL in OOM situations. r=padenot 2015-08-18 12:34:15 +12:00
Matthew Gregan
63b1424f7e Bug 1195061 - Correctly restore audio hardware mix format after attempting to use an alternative format. r=padenot 2015-08-18 10:59:14 +12:00
JW Wang
48d9740581 Bug 1189866 - revert code that accidentally got into bug 1187817 patch 5. r=me. 2015-08-01 13:58:39 +08:00
JW Wang
17e42272cd Bug 1187817. Part 5 - assert some code in the audio thread and don't enter the monitor. r=kinetik. 2015-07-31 13:26:06 +08:00
JW Wang
5988d4015d Bug 1189197 - enqueue a silent frame to kick off the buffer queue callbacks. r=kinetik. 2015-07-31 13:25:59 +08:00
Matthew Gregan
ac2b9444ba Bug 1103824 - Back out changeset for causing regression reported in bug 1176499. 2015-06-23 17:02:51 -07:00
Matthew Gregan
bf4e15de86 Bug 1103824 - Ensure first initialization of IAudioClient happens on STA thread. r=padenot
--HG--
extra : rebase_source : 344380ef08d44983c745bea5cee792140ca7ca66
2015-05-14 18:33:23 +12:00
Ted Mielczarek
1c8dfe9741 bug 1171072 - make libcubeb build on iOS. r=kinetik
--HG--
extra : commitid : R5mXVfavLL
extra : rebase_source : 61121b45801e46597047006e9c72e8702a3b0792
2015-02-06 14:50:40 -05:00
Benjamin Chen
e787022dbd Bug 1165963 - Fix regression by bug 1104643: Detect "over compensation" and reset the anchor. r=padenot 2015-06-02 17:27:09 +08:00
Benjamin Chen
ddc5295649 Bug 1104643 - Interpolate the audio clock by system clock if the qudio clock is not going forward. r=padenot
--HG--
extra : rebase_source : 819aaab5e8fe182399aaab31ad457819b206df8f
2015-05-05 16:00:14 +08:00
David Major
ebde6b9f4f Bug 1157835: Remove the MSVC_ENABLE_PGO flag from the build system. r=glandium
--HG--
extra : rebase_source : 0c47c99bb8b92f8361a51fd81b20a2cc8647a986
2015-04-27 19:59:27 -04:00
Chris Pearce
85e09e9b88 Bug 1136360 - Backout 3920b67e97a3 to fix A/V sync regressions (bug 1148299 & bug 1157886). r=backout 2015-04-28 11:37:33 +12:00
Jacek Caban
af0f3ae86c Bug 1155624 - follow up: MSVC requires including <algorithm> for std::max. CLOSED TREE 2015-04-20 18:41:12 +02:00
Jacek Caban
d3b29e6cc5 Bug 1155624 - Use std::max instead of max macro in cubeb_wasapi.cpp. r=kinetik 2015-04-20 18:18:56 +02:00
Paul Adenot
ad1eda7b77 Bug 979705 - Fix typo. 2015-04-20 17:05:26 +02:00
Paul17041993
313bf7beae Bug 979705 - Re-write the upmixing functions in the WASAPI cubeb backend to fix mono audio and surround compatibility. r=padenot
--HG--
extra : source : c511ccad7676e90b0f06cb1d2ee0a7b82eb6d51e
2015-04-20 15:58:27 +02:00
Carsten "Tomcat" Book
f857c3a490 Backed out changeset c511ccad7676 (bug 979705) for bustage on a CLOSED TREE 2015-04-20 16:44:41 +02:00
Paul17041993
ad02172e18 Bug 979705 - Re-write the upmixing functions in the WASAPI cubeb backend to fix mono audio and surround compatibility. r=padenot 2015-04-20 15:58:27 +02:00
Paul Adenot
af76d0abc7 Bug 1136360 - Take into account the output device latency in the clock, and be more robust about rounding error accumulation, in cubeb_wasapi.cpp. r=kinetik 2015-03-16 18:12:38 +01:00
Matthew Gregan
63eaf4e78b Bug 1144199 - Require multiple consecutive timeouts to accumulate before triggering timeout error handling in libcubeb's WASAPI backend; this avoids spurious timeout errors triggered by system sleep/wake cycles. r=padenot 2015-04-11 13:24:52 +12:00
Matthew Gregan
d3ddab98fb Bug 1134977 - Release IAudioStreamVolume when closing WASAPI stream. Refixes bug 1109802. r=padenot 2015-04-02 10:08:07 +13:00
Matthew Gregan
e0c1488a4c Bug 1143968 - Allow a cubeb_stream in error to be stopped without triggering a fatal assert. r=padenot 2015-03-18 15:23:19 +13:00
Alexandre Ratchov
22ad88b8fa Bug 1144087 - "Audio glitches on OpenBSD caused by rounding errors." r=kinetik 2015-03-18 12:19:00 +01:00
Matthew Gregan
7395e6dd6c Bug 1142746 - Make unexpected SL_PLAYEVENT_HEADATMARKER notification non-fatal. r=brsun 2015-03-17 13:30:40 +13:00
Ryan VanderMeulen
0f541272f0 Backed out changeset 7a53ee0cc3ae (bug 1136360) for Windows mochitest crashes.
--HG--
extra : rebase_source : 26d25e99c5b375f4e7a440638f897c9ae3b10e94
2015-03-16 15:04:51 -04:00
Paul Adenot
10f63e4d13 Bug 1136360 - Take into account the output device latency in the clock, and be more robust about rounding error accumulation, in cubeb_wasapi.cpp. r=kinetik 2015-03-16 18:12:38 +01:00
Matthew Gregan
ee400f62d6 Bug 1136107 - Handle reconfiguring audio device if it went away while the stream was stopped. r=padenot 2015-03-02 18:07:43 +13:00
Matthew Gregan
bbfbfbf28c Bug 1135878 - Simply post-error cleanup logic in WASAPI cubeb backend. r=padenot 2015-02-24 13:42:33 +13:00
Matthew Gregan
0bdf32b0cd Bug 1133386 - Introduce an XASSERT() macro to libcubeb rather than (ab)using assert(). r=padenot f=dmajor 2015-02-20 13:42:14 +13:00
Paul Adenot
a6a9beffd3 Bug 1124411 - Add timeout when calling WaitForMultipleObjects to wallpaper over a deadlock. r=kinetik 2015-02-19 19:35:07 +13:00
Matthew Gregan
eda5e9c69f Bug 1134102 - Move cubeb's stream reconfiguration to render thread. r=padenot 2015-02-18 18:43:07 +13:00
Paul Adenot
67200dd25c Bug 1133190 - Don't use auto_unlock in paths where lock is being destroyed. r=kinetik 2015-02-19 19:35:06 +13:00
Paul Adenot
c3491769e4 Bug 1132034 - Properly round the number of frame for the accumulating clock in WASAPI. r=kinetik 2015-02-19 19:35:06 +13:00
Matthew Gregan
f7c07beb8f Bug 1134078 - Don't restart stopped cubeb streams when handling device change notifications. r=padenot 2015-02-18 16:06:55 +13:00
Matthew Gregan
8b8ae2538d Bug 1132257 - Update cubeb from upstream. r=padenot 2015-02-17 11:52:59 +13:00
Matthew Gregan
670653d955 Bug 1131788 - cubeb: Unable to use InterlockedAdd64 on MSVC2010 (and mingw). r=padenot 2015-02-10 17:45:00 +13:00
David Major
5e60171da8 Bug 1131871 - auto_com should only uninitialize when successful. r=padenot
--HG--
extra : rebase_source : 4af27a3e50b68ad1ee4d869b1a3bee3eeb4a1141
2015-02-12 10:33:45 +13:00
Paul Adenot
c32cf025e7 Bug 1131768 - Unlock before tearing down the stream in case of error, to avoid recursive locking. r=kinetik 2015-02-11 00:12:09 +01:00
Paul Adenot
5098817b4c Bug 1127213 - Fix various issues with the device change notification in the WASAPI cubeb backend. r=kinetik
This patch does the following:
- Introduces an owned_critical_section object to be able to assert that a
  current thread owns a critical section
- Change the auto_lock to use the above, add auto_unlock (basically like the
  Gecko AutoEnter/AutoExit things)
- Fix an issue during audio output device switch where the clock would use the
  old sample rate. Apparently I did not notice this because my headset and the
  sound card on this laptop have the same rate
- Check that we could acquire a device_enumerator in the ctor before
  deallocating in the dtor, as that can happen if a ton of streams are running at
  once (I had this issue running the full mochitest suite)
- Stop getting another device_enumator in unregister_notification_client, fixing a leak
- Assert that setup_wasapi_stream and close_wasapi_stream are called with the lock held, this was the cause of the crash for this bug
- Make close_wasapi_stream clear out its state to make sure setup_wasapi_stream
  and close_wasapi_stream are called in the right order (especially, not two
  setup_wasapi_stream without close in between, since that would leak stuff)
- In wasapi_stream_destroy, unregister the notification client before destroying
  the CRITICAL_SECTION (this was the cause of a crash I duped against this bug)
2015-02-09 14:42:43 +01:00
Carsten "Tomcat" Book
b514443060 Backed out changeset 2f46afa97421 (bug 1127213) for another bustage on a CLOSED TREE 2015-02-09 16:51:14 +01:00
Paul Adenot
14201f3594 Bug 1123768 - Backout bug 1108455 to avoid truncating the end of audio streams on Vista+. r=kinetik 2015-02-09 14:43:03 +01:00