Commit Graph

54 Commits

Author SHA1 Message Date
Paul Adenot
1aa9205cb3 Bug 944707 - Stop locking when getting the preferred samplerate from the AudioStream. r=kinetik
--HG--
extra : rebase_source : 7c9f858a63c41037fd44a85457cbf401f63c07a9
2013-12-02 15:58:11 +01:00
Matthew Gregan
358b7e64f0 Bug 942657 - Devirtualize AudioStream. r=doublec,gps 2013-11-28 18:09:08 +13:00
Benjamin Peterson
168ae22e9f backout dc9ebdf27e98 (bug 942657) for bustage 2013-11-28 20:50:16 -06:00
Matthew Gregan
647694fec9 Bug 942657 - Devirtualize AudioStream. r=doublec,gps 2013-11-28 18:09:08 +13:00
Paul Adenot
bb61e5a5d6 Bug 919215 - Start the AudioStream on creation when in low-latency mode, and let it underrun. r=roc
The BufferedAudioStream buffers the data it gets through the Write() calls and
what is consumed by the callback. This means that if the audio producer starts
Write()ing data right after Start()ing the stream, data will accumulate in this
buffer and won't be consumed. Eventually, the buffer will be of a certain size
before it begins to be consumed by the callback, and this means an
umcompressible latency (because the data will be written at more or less the
same rate as it is produced).

This patch start the BufferedAudioStream right away when it is created, dropping
the silent AudioSegment until it finds real data (and padding with silence is
then done at the beginning). The stream will underrun, but the callback will
synthetize silence, avoiding overbuffering in the BufferedAudioStream. This
ensures minimal latency cause by the buffering.

Note that the clock will still advance, so this will not change the behavior of
content that has leading silence.
2013-11-19 10:43:15 +13:00
Randell Jesup
ee8e35ca44 Bug 920325: Add WebRTC latency logging from capture to RTP and from RTP to speakers r=padenot 2013-10-25 18:13:42 -04:00
Randell Jesup
345ac3892d backout 5f38b1bd3358 for bustage CLOSED TREE 2013-10-25 19:25:54 -04:00
Randell Jesup
2e3491f74c Bug 920325: Add WebRTC latency logging from capture to RTP and from RTP to speakers r=padenot 2013-10-25 18:13:42 -04:00
Daniel Holbert
11f52e28e2 Bug 930532: Adjust '#if defined(MOZ_CUBEB)' checks to include cubeb-only static functions in AudioStream.cpp, to fix build warnings in non-cubeb builds. r=padenot 2013-10-24 17:26:19 +02:00
Daniel Holbert
a4e08580e0 Bug 928547: Change AudioStream cubeb-dependent logic to handle success cases first, so we can add #ifdef that ends in failure case. r=padenot 2013-10-23 17:44:13 +02:00
Paul Adenot
7e0682e3c8 Bug 918861 - Expose a better samplerate though the AudioStream interface. r=kinetik
--HG--
extra : rebase_source : d085d173aeb00f47f56016c0a1d1bf7fe11fb6f3
2013-10-17 15:44:52 +02:00
Paul Adenot
2ecd0a5c7e Bug 907817 - Allow AudioStream users to pass-in latency requirements. r=kinetik
--HG--
extra : rebase_source : 3cf1971913b3cfd8000c58614b0d0be8b7805af0
2013-10-17 15:44:52 +02:00
Randell Jesup
f6a1a85cec Bug 917491: Guarantee cleanup of AsyncLatencyLogger on xpcom-shutdown r=bsmedberg 2013-09-24 22:10:24 -04:00
Paul Adenot
7a97c91578 Bug 904617: Part 3 - Log latency, and adds a python script to understand the log r=padenot,jesup,ehugg 2013-01-28 19:22:37 +01:00
Paul Adenot
d8cc1467bd Bug 904617: Part 2 - Expose Audio Stream Latency r=padenot,jesup 2013-09-17 02:39:30 -04:00
Ed Morley
a8ecbf9270 Backed out changeset 9cc6dd50c93a (bug 904617) 2013-09-16 08:43:56 +01:00
Ed Morley
504f2b3fae Backed out changeset 81cee5ae7973 (bug 904617) 2013-09-16 08:43:47 +01:00
Paul Adenot
ea33beeb7a Bug 904617: Part 3 - Log latency, and adds a python script to understand the log r=padenot,jesup 2013-01-28 19:22:37 +01:00
Paul Adenot
b435bed8ae Bug 904617: Part 2 - Expose Audio Stream Latency r=padenot,jesup 2013-09-16 03:26:04 -04:00
Ehsan Akhgari
143454cc1a Bug 912702 - Minimize the #includes in content/media; r=roc 2013-09-05 16:25:17 -04:00
Ehsan Akhgari
92ad73ef93 Backed out changeset 2f15518f566e (bug 912702) because of B2G JB Emulator build bustage
--HG--
extra : rebase_source : 6c01ad3bc2f91b0e7e3edab84aedbfe064310a8b
2013-09-05 13:29:38 -04:00
Ehsan Akhgari
be1e68caf3 Bug 912702 - Minimize the #includes in content/media; r=roc 2013-09-04 17:58:14 -04:00
Masatoshi Kimura
af2068ecf9 Bug 859022 - Remove the MSVC exemption for FAIL_ON_WARNINGS in content/media. r=roc 2013-06-27 20:30:41 +09:00
Ehsan Akhgari
0cae3ba5bd Bug 579517 follow-up: Remove NSPR types that crept in 2013-06-12 21:26:59 -04:00
Paul Adenot
4042de8a8d Bug 865244 - Expose the maximum channel count in the AudioStream. r=kinetik 2013-06-10 19:32:28 +02:00
Paul Adenot
43a8047fa7 Bug 825329 - Fix a stupid error in playbackRate. r=kinetik 2012-12-28 23:01:38 +01:00
Robert O'Callahan
49b83f0652 Bug 727697. Add facility to dump audio output as WAV files. r=kinetik
When MOZ_DUMP_AUDIO is set in the environment (to anything),
we'll drop a series of files in the current working directory named
dumped-audio-<nnn>.wav, one per nsBufferedAudioStream created, containing
the audio for the stream including any skips due to underruns.
2013-04-03 19:12:27 -04:00
Matthew Gregan
e13f11c678 Bug 852831 - Unbreak media volume control on Android. r=mchen 2013-03-21 15:36:29 +13:00
Matthew Gregan
e6cfaef75a Backout bug 852831 (07e459058893) on a CLOSED TREE. 2013-03-21 16:42:23 +13:00
Matthew Gregan
d68688c5b8 Bug 852831 - Unbreak media volume control on Android. r=mchen 2013-03-21 15:36:29 +13:00
Matthew Gregan
c7c49a4e9a Bug 852401 - Remove sydneyaudio. r=doublec
--HG--
rename : media/libsydneyaudio/src/gonk/AudioSystem.h => dom/system/gonk/android_audio/AudioSystem.h
rename : media/libsydneyaudio/src/gonk/AudioTrack.h => dom/system/gonk/android_audio/AudioTrack.h
rename : media/libsydneyaudio/src/gonk/EffectApi.h => dom/system/gonk/android_audio/EffectApi.h
rename : media/libsydneyaudio/src/gonk/IAudioFlinger.h => dom/system/gonk/android_audio/IAudioFlinger.h
rename : media/libsydneyaudio/src/gonk/IAudioFlingerClient.h => dom/system/gonk/android_audio/IAudioFlingerClient.h
rename : media/libsydneyaudio/src/gonk/IAudioRecord.h => dom/system/gonk/android_audio/IAudioRecord.h
rename : media/libsydneyaudio/src/gonk/IAudioTrack.h => dom/system/gonk/android_audio/IAudioTrack.h
rename : media/libsydneyaudio/src/gonk/IEffect.h => dom/system/gonk/android_audio/IEffect.h
rename : media/libsydneyaudio/src/gonk/IEffectClient.h => dom/system/gonk/android_audio/IEffectClient.h
2013-03-19 17:12:36 +13:00
Michael Wu
8f79945e7e Bug 848581 - Enable cubeb by default on Gonk. r=kinetik f=mchen 2013-03-19 16:43:37 +13:00
Marco Chen
2f154ff82a Bug 839415 - [Audio] Add support of SLAndroidConfigurationItf into backend of Cubeb + OpenSLES. r=kinetik 2013-03-12 11:46:32 +08:00
Paul Adenot
ccf2d2ab5f Bug 846612 - r=kinetik 2013-03-04 15:48:58 +01:00
Paul Adenot
1e841b852a Bug 845633 - Make an assertion less spammy when audio hardware is not present. r=kinetik 2013-02-28 18:11:04 +01:00
Matthew Gregan
da53b0d96e Bug 833578 - Start AudioSegment playing after first write rather than waiting for AudioStream's buffer to fill. r=roc 2013-01-23 18:53:10 +13:00
Paul Adenot
1f8e6e004c Bug 793274 - Make sure to have enough frames pushed to the AudioStream before starting it. r=kinetik 2012-11-26 15:13:08 +01:00
Paul Adenot
2aa6371d20 Bug 821737 - r=kinetik 2013-01-18 14:21:47 +01:00
Ed Morley
f91b0cbc29 Backout b3a8618f901c (bug 829042), 34a9ef8f929d (bug 822933), 4c1215cefbab (bug 826349), 70bb7f775178 (bug 825325), e9c8447fb197 (bug 828713), eb6ebf01eafe (bug 828901), f1f3ef647920 (bug 825329), f9d7b5722d4f (bug 825329), 5add564d4546 (bug 819377), 55e93d1fa972 (bug 804875), f14639a3461e (bug 804875), 23456fc21052 (bug 814308) for Windows pgo-only mochitest-1 media test timeouts on a CLOSED TREE 2013-01-16 15:16:23 +00:00
Ed Morley
34382ead59 Backout 1abf4c88f8f1 (bug 793274) on suspicion of causing win pgo-only mochitest-1 media test timeouts 2013-01-16 10:44:06 +00:00
Paul Adenot
b3491e3459 Bug 793274 - Make sure to have enough frames pushed to the AudioStream before starting it. r=kinetik 2012-11-26 15:13:08 +01:00
Paul Adenot
22a6f7cfee Bug 825329 - Fixed the getter for the playbackRate in AudioStream. r=kinetik 2013-01-15 19:57:03 +01:00
Mats Palmgren
6c53161814 Bug 786533 - Replace NS_MIN/NS_MAX with std::min/std::max and #include <algorithm> where needed. r=ehsan 2013-01-15 13:22:03 +01:00
Chris Pearce
cd2ea6ffe7 Bug 815107 - Ensure AudioClock::mOldOutRate has sensible value, prevents audio clock position poisoning on one code path, and initialize AudioClock::mOldBasePosition to 0. r=padenot 2012-12-11 09:43:04 +13:00
Marco Chen
fa2305ecd5 Bug 815322 - Phone rings on incoming call will pause audio. r=kinetik, a=blocking-basecamp
1. Add a new audio channel type called ringer.
  2. Add logic into AudioChannelService for ringer.
2012-12-06 17:11:19 +08:00
Trevor Saunders
f1b73ccb3d bug 801466 - part 3.1 remove some prmem usage from dom/ and content/ r=mounir 2012-12-05 02:55:37 -05:00
Paul Adenot
57189361a6 Bug 816143 - Teach AudioStream::EnsureTimeStretcherInitialized() about infallible malloc. r=kinetik 2012-11-29 15:40:57 +01:00
Paul Adenot
c1c81fcc33 Bug 815194 - Remove more ns prefixes on content/media classes + whitespace fixes. r=cpearce 2012-11-28 20:40:07 +01:00
Jacek Caban
0f04abc26f Bug 814708 - Use nsAutoPtr for mTimeStretcher r=padenot
--HG--
extra : rebase_source : 6746cf104eac6b66bec48eb235718ad4d6853905
2012-11-28 17:25:57 +01:00
Paul Adenot
02703184c2 Bug 495040 - Implement playbackRate and related bits r=kinetik 2012-11-22 11:38:28 +01:00