Commit Graph

62 Commits

Author SHA1 Message Date
Wes Kocher
9cc0508903 Backed out changeset 2e2c930a960c (bug 948269) for android 4.0 mochitest-2 permaorange 2013-12-19 19:24:42 -08:00
Matthew Gregan
70951c26f6 Bug 948269 - Split MediaDecoderStateMachine::AudioLoop out into new AudioSink class. r=cpearce 2013-12-20 13:52:06 +13:00
Alexandros Chronopoulos
d471b465db Bug 911482 - Perform audio downmix inside AudioStream class. r=rillian 2013-09-26 22:06:59 +03:00
Paul Adenot
58cae1ed05 Bug 944707 - Stop locking when getting the preferred samplerate from the AudioStream. r=kinetik
--HG--
extra : rebase_source : bbf7b305d13f252e7c743bb9abf12da078db865b
2013-12-09 20:54:49 +01:00
Paul Adenot
8d8f7eeda7 Bug 916384 and 944707 - Backed out fa872452b89d and 012b1baf2b19 for crashes on a CLOSED TREE. 2013-12-11 16:31:35 +01:00
Paul Adenot
2b28bb15ba Bug 944707 - Stop locking when getting the preferred sample rate from the AudioStream. r=kinetik
--HG--
extra : rebase_source : f2b5be30c25d71cfdb259cb5035335fb4e8a415c
2013-12-09 20:54:49 +01:00
Ehsan Akhgari
d4490ee3c7 Bug 947736 - Build modules/libpref/ in unified mode; r=bsmedberg 2013-12-10 18:10:01 -05:00
Matthew Gregan
9d3c6097af Backed out changeset 66be4716e86e (bug 944707) for regressing lazy libcubeb initialization, startup time, and causing bug 946037. 2013-12-09 11:49:25 +13:00
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