Commit Graph

2385 Commits

Author SHA1 Message Date
Ehsan Akhgari
8353ddad3c Bug 815643 - Part 2: Refactor our Web Audio FFT code into the FFTBlock class; r=roc
This is useful in order for us to be able to borrow code from Blink with
fewer changes, and also to explore faster platform dependent FFT
implementations in the future if needed.

--HG--
extra : rebase_source : 34bbded736e1b385754756513c59ee27ce7552a5
2013-06-10 16:08:21 -04:00
Ehsan Akhgari
1922757878 Bug 815643 - Part 1: Implement the DOM bindings for ConvolverNode; r=roc
--HG--
extra : rebase_source : 9f6853dcaeeac1f36aa8c2ee90991a7f0ea0b145
2013-06-10 16:07:55 -04:00
Rick Eyre
73e8300de5 Bug 833382 - Implement WebVTTLoadListener r=cpearce,bz
- Implemented WebVTTLoadListener to manage the webvtt parser.
- TextTrackCue now handles the conversion of webvtt nodes to
  anonymous content which will be displayed on the video div
  overlay.
- HTMLTrackElement manages the lifetime of the WebVTTLoadListener.
2013-06-10 08:30:00 -07:00
Paul Adenot
633030a223 Bug 865244 - Test for AudioContext.destination.maxChannelCount. r=ehsan 2013-06-10 19:32:28 +02:00
Paul Adenot
7bd9ae8ec4 Bug 865244 - Implement AudioContext.destination.maxChannelCount. r=ehsan 2013-06-10 19:32:28 +02:00
Paul Adenot
4042de8a8d Bug 865244 - Expose the maximum channel count in the AudioStream. r=kinetik 2013-06-10 19:32:28 +02:00
Mike Habicher
a4ff9b75f8 Bug 879478 - fix regressions when starting camera (crash and de-virtualized functions -- see also bug 880780), r=roc 2013-06-10 15:01:19 -04:00
Sotaro Ikeda
fb0816d02d Bug 871485 - Share hw codec between applications/tasks. r=mwu, r=doublec, r=roc 2013-06-10 08:22:05 -04:00
Ivaylo Dimitrov
90b6f694ef Bug 880029 - gstreamer - high CPU usage after patch for Bug 856562 landed. r=alessandro.d 2013-06-08 20:53:10 +01:00
Sankha Narayan Guria
2bfc77e0ce Bug 880265 - Remove AudioBufferSourceNode.gain; r=ehsan 2013-06-08 00:55:04 +05:30
Paul Adenot
58b0235609 Bug 878875 - Port Blink's LayoutTest for PannerNode to mochitest-plain. r=ehsan 2013-06-07 20:06:40 +02:00
Paul Adenot
9b4fefabf4 Bug 878875 - Import PannerNode tests from Blink. r=ehsan
Imported from Blink SVN revision 152035
2013-06-07 20:06:40 +02:00
Ehsan Akhgari
69dd040cef Test case for bug 880724 2013-06-07 13:22:40 -04:00
Ehsan Akhgari
b0f5abb2d1 Test case for bug 880404 2013-06-07 11:29:25 -04:00
Ehsan Akhgari
021d3cb4b8 Test case for bug 880384
--HG--
extra : rebase_source : a77b7f0c32555d645c1903164e0a7740ac61ca19
2013-06-07 11:22:46 -04:00
Ehsan Akhgari
0260d850c7 Test case for bug 880342 2013-06-07 11:14:51 -04:00
Ehsan Akhgari
1391c0772c Bug 880129 - Correctly handle AnalyserNodes with a buffer size smaller than 128; r=roc 2013-06-07 07:33:00 -04:00
Robert O'Callahan
96f749ac49 Fix build bustage for bug 877461 2013-06-07 20:16:17 +12:00
Robert O'Callahan
ee22922f7e Bug 865537. Part 2: The Range used to track the source element pointer for a media element should not gravitate outside the media element. r=cpearce
--HG--
extra : rebase_source : 6d4d5de2f0841fe602821013f0a33bb035d1cb76
2013-06-07 16:26:55 +12:00
Robert O'Callahan
54857756c2 Bug 877461. Part 3: Retry libstagefright audio/video decoding if it fails due to a timeout. r=sotaro
--HG--
extra : rebase_source : 2ccd8afaca1e4055eb0105f25754176b0ff37034
2013-06-06 11:43:43 +12:00
Robert O'Callahan
30c4640f2a Bug 877461. Part 2: Initialize VideoFrame members to 0. r=doublec
--HG--
extra : rebase_source : d447561e74bc760c2ccbcba925e54579e3a15088
2013-06-06 10:48:25 +12:00
Ryan VanderMeulen
352fd9b8a9 Bug 880202 - Skip crashtest on B2G due to failures. 2013-06-06 14:29:52 -04:00
Ehsan Akhgari
d675b726e0 Bug 880202 - Revert bug 878765 because it introduces a buffer overflow 2013-06-06 12:36:57 -04:00
Vladimir Vukicevic
903320a647 b=843599; use gralloc buffers for WebGL streaming on B2G; r=nical,jgilbert,jrmuizel 2013-05-27 10:12:13 -04:00
Paul Adenot
558b667bdb Bug 878765 - Add missing incrementation in AudioBlockPanStereoToStereo. r=ehsan 2013-06-04 15:51:23 +02:00
Paul Adenot
d9670a9a90 Bug 877527. 2013-06-04 15:07:01 +02:00
Bobby Holley
30b74b2c6b Bug 877478 - Fix mochitests with problematic callbacks to use the new API. r=mrbkap 2013-06-04 19:56:41 -07:00
Robert O'Callahan
cf39cf939f Fix bustage on a CLOSED TREE for bug 877461 2013-06-05 14:44:20 +12:00
Robert O'Callahan
cca52984c0 Bug 877461. Make MediaCache aggressively cache data just behind the current playback position. r=cpearce
This should help with the straight playback, non-seeking case where we get into
trouble because libstagefright video and audio codecs are reading from different
places.
2013-06-05 01:52:57 +12:00
Robert O'Callahan
96e4270e65 Bug 877135. Remove HTMLMediaElement::mozLoadFrom since it's nonstandard and no longer needed (setting 'src' to another element's 'currentSrc' works just as well). r=doublec
--HG--
extra : rebase_source : f1e04fe469a1757bfabfcf79bbf0fec29faee1c7
2013-06-04 15:28:23 +12:00
Ehsan Akhgari
62640d6e21 Bug 879014 - Part 2: Implement the alternate enum values for BiquadFilterNode; r=roc 2013-06-03 19:23:06 -04:00
Ehsan Akhgari
c444ec8b37 Bug 879014 - Part 1: Implement the alternate enum values for PannerNode; r=roc 2013-06-03 19:22:48 -04:00
Ryan VanderMeulen
a09ed88e64 Merge m-c to inbound. 2013-06-03 17:51:25 -04:00
Ryan VanderMeulen
3dd3218865 Backed out 3 changesets (bug 877527, bug 878765) for mochitest-1 timeouts on a CLOSED TREE.
Backed out changeset 0bf1e71fe3cc (bug 877527)
Backed out changeset 8473deb5fba9 (bug 878765)
Backed out changeset 0d327854300c (bug 877527)
2013-06-03 15:01:20 -04:00
John Schoenick
423332eebc Bug 878363 - Disable -Wreserved-user-defined-literal for problematic gstreamer header. r=ted 2013-06-03 11:10:28 -07:00
Sotaro Ikeda
1591798e76 Bug 874325 - Add lock to MediaStreamSource::readAt(). r=doublec 2013-06-03 10:41:54 -04:00
Paul Adenot
9e29aa84a4 Bug 877527. Forgot to hg add. 2013-06-03 19:15:41 +02:00
Paul Adenot
097c1a2a72 Bug 878765 - Add missing incrementation in AudioBlockPanStereoToStereo. r=ehsan 2013-06-03 15:48:58 +02:00
Paul Adenot
eb8ab95ec5 Bug 877527 2013-06-03 19:13:23 +02:00
Ehsan Akhgari
5698703154 Bug 878478 - Disable looping of AudioBufferSourceNode when we detect that the loopStart offset is not less than the loopEnd offset; r=roc 2013-06-02 09:26:26 -04:00
Ehsan Akhgari
b319c56bac Bug 878328 - Sanitize the time argument of AudioParam.setValueCurveAtTime; r=roc 2013-06-02 09:26:06 -04:00
Ehsan Akhgari
dc0358066e Bug 878407 - Allocate a large enough delay buffer when the delay time fraction value is less than 0.5; r=roc 2013-06-02 09:25:46 -04:00
Ehsan Akhgari
7bb5a36eda Bug 878497 - Add a test case for AudioParam.setValueAtTime; r=roc 2013-06-02 09:25:16 -04:00
Ehsan Akhgari
1e0789da84 Bug 878014 - Use double precision when sampling the delay AudioParam; r=roc 2013-06-01 03:02:46 -04:00
Ryan VanderMeulen
8160849c2b Merge m-c to inbound. 2013-05-31 11:30:38 -04:00
Andreas Gal
3ee8d0ff82 Bug 876099 - re-enable 3gp support in web content r=roc, a=gal 2013-05-30 10:52:58 -07:00
Arnaud Sourioux
ac2132dad0 Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Robert O'Callahan
cc51ef48ef Bug 868405. Support 'enabled' attribute on MediaStreamTrack. r=jesup
--HG--
extra : rebase_source : ec29ae2e45979baaf1b6a085549755ba86cadd40
2013-05-30 16:44:43 +12:00
Robert O'Callahan
8b6e23f489 Bug 868405. Part 1: Add a few MOZ_OVERRIDES. r=jesup
--HG--
extra : rebase_source : 9fce360b62677439a353b2fb81d9bab92b659d13
2013-05-30 16:44:40 +12:00
Kyle Huey
3cc4ccd2f5 Bug 876555: Avoid including xpcprivate.h in most generated dom binding code. r=bz 2013-05-30 11:15:31 +08:00
Ehsan Akhgari
286425d4f4 Crashtest for bug 868504 2013-05-30 20:59:09 -04:00
Ehsan Akhgari
72c63d4e5c Bug 877820 - Improve the argument checking for OfflineAudioContext's sampleRate argument; r=roc 2013-05-30 20:54:07 -04:00
Ehsan Akhgari
6f0d7033ca Bug 876273 - Only attempt to delete the media graph when the last stream goes away if we're waiting for all streams to be destroyed; r=roc 2013-05-30 20:53:51 -04:00
Ehsan Akhgari
13fff291bf Bug 876024 - Sanity check all of the time values passed to Web Audio; r=roc 2013-05-30 20:53:15 -04:00
Ehsan Akhgari
d822bd3533 Bug 877523 - Correctly handle small maximum delay values for DelayNode; r=roc 2013-05-30 20:52:26 -04:00
Chris Pearce
590f37edd9 Bug 870400 - Calculate audio timestamps for WMF based on audio frames played, rather than trusting the container's timestamps. r=padenot 2013-05-31 11:34:52 +12:00
Ehsan Akhgari
b64aed8e7c Bug 877039 - Set the Web Audio maximum channel count to 32; r=roc
--HG--
extra : rebase_source : 7e5bb51cd3bd9b4fbe01649af8f14e17cf6b3042
2013-05-30 14:25:52 -04:00
Ehsan Akhgari
df64361ce8 Bug 877231 - Make the error checking for the OfflineAudioContext constructor more strict; r=roc
--HG--
extra : rebase_source : 123a39f3d4a169c85927b4e23f99a9962efc4452
2013-05-29 19:35:30 -04:00
Ehsan Akhgari
2577c23c9a Bug 877125 - Handle the case where the expected number of channels for the offline AudioDestinationNode and the actual input number of channels do not match; r=roc
--HG--
extra : rebase_source : 432c10fe039b24b1aea1d0329ebef37f9e62cd0a
2013-05-29 19:33:14 -04:00
Ryan VanderMeulen
468b93224a Backed out changeset a966aadd9ae3 (bug 856822) for Windows bustage on a CLOSED TREE. 2013-05-29 17:56:10 -04:00
Arnaud Sourioux
ff4b91709f Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Ehsan Akhgari
de94a9e96b Bug 875221 - Make sure to balance the creation and destruction of streams for media graphs; r=roc 2013-05-29 11:38:39 -04:00
Ehsan Akhgari
28c082afaf Bug 876215 - Correctly deal with nodes that require 0 input channels by feeding them a null AudioChunk; r=roc
The assertion here is really not correct, since as this testcase shows,
it's now easy for web content to control the value of outputChannelCount.

--HG--
extra : rebase_source : a6282517673b7c9e73c2114ee0b944fc1022e4ae
2013-05-29 07:40:14 -04:00
Ehsan Akhgari
3b9b54e31a Bug 876118 - Impose a unified channel count limit of 10000 channels in Web Audio; r=roc
--HG--
extra : rebase_source : 480cebb99e5dd8673df179b490d11e6c513fa1d1
2013-05-29 07:36:37 -04:00
Ehsan Akhgari
abe35e49ff Bug 876834 - Do not accept sampling rates which we won't be able to handle when creating an OfflineAudioContext; r=roc 2013-05-29 00:10:52 -04:00
Ehsan Akhgari
138d8529b0 Test case for bug 876249 2013-05-28 14:43:35 -04:00
Ehsan Akhgari
113a464d54 Bug 865256 - Part 1: Implement the DOM bindings for WaveTable; r=roc 2013-05-28 07:19:07 -04:00
Ehsan Akhgari
59a18c2247 Bug 876252 - Stop the AudioBufferSourceNode if the offset is no longer valid after setting a new buffer more effectively; r=roc
Calling Stop() here is not quite enough, because web content might call stop() again
with a non-zero argument, which overrides what we do here.
2013-05-27 20:17:24 -04:00
Mike Shal
994cfe0b6b Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Ehsan Akhgari
ac9c045ad1 Bug 875402 - Delete MediaInputPort objects using normal refcounting semantics; r=roc 2013-05-25 10:01:08 -04:00
Ehsan Akhgari
3f01774938 Bug 875911 - Clean up OfflineAudioContexts which have never been rendered; r=roc 2013-05-25 09:59:59 -04:00
Ehsan Akhgari
d418ca71a3 Backed out changeset dc96b4762676 (bug 875402) because of crashtest leaks 2013-05-24 15:28:28 -04:00
Ehsan Akhgari
0ab611361f Bug 875596 - Properly handle AudioParam SetCurve automation events with a 0 duration; r=roc
--HG--
rename : content/media/webaudio/test/test_audioParamSetCurveAtTime.html => content/media/webaudio/test/test_audioParamSetCurveAtTimeZeroDuration.html
2013-05-24 13:19:47 -04:00
Ehsan Akhgari
3c5b12a9a8 Bug 873553 - Part 11: Run the Web Audio tests with two OfflineAudioContexts, one at 48KHz and one at 44.1KHz; r=roc
--HG--
extra : rebase_source : b3847be5b05a9dc5e0d3233fadd30c92a6f07292
2013-05-24 13:11:53 -04:00
Ehsan Akhgari
ca9338667f Bug 873553 - Part 10: Allow creating OfflineAudioContexts with arbitrary sampling rates; r=roc
--HG--
extra : rebase_source : 99758cbe05b83d34734e4df11f30ebbbd12811df
2013-05-24 13:11:32 -04:00
Ehsan Akhgari
7243e880a5 Bug 873553 - Part 9: Port WebAudioUtils to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : 18e01ed739bb505f7825c3d79e00c8552a70fad0
2013-05-24 13:11:18 -04:00
Ehsan Akhgari
c3f2357a32 Bug 873553 - Part 8: Port DynamicsCompressorNode to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : ebf2989b778a03f873eea83ed5c885360981e2ed
2013-05-24 13:10:59 -04:00
Ehsan Akhgari
57a5f849b0 Bug 873553 - Part 7: Port DelayNode to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : db35f08edab8a54c6c60a0ead2d7afed59d2c360
2013-05-24 13:10:44 -04:00
Ehsan Akhgari
6cc538470a Bug 873553 - Part 6: Port BiquadFilterNode to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : 3522c7cb9ea0469f6ac9607ea0408b078f56f09e
2013-05-24 13:10:24 -04:00
Ehsan Akhgari
d934527fc6 Bug 873553 - Part 5: Port AudioBufferSourceNodeEngine to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : 13d1133fb34d3695eece432047b719b456961610
2013-05-24 13:13:31 -04:00
Ehsan Akhgari
6c146d9103 Bug 873553 - Part 4: Pass the sampling rate to the engine in SetTimelineParameter; r=roc
--HG--
extra : rebase_source : aa574757e9791eafd8c6825328fc4e2f65479f34
2013-05-24 13:10:08 -04:00
Ehsan Akhgari
d5f53f01ab Bug 873553 - Part 3: Rename AudioBufferSourceNodeEngine::mSampleRate to mBufferSampleRate; r=roc
--HG--
extra : rebase_source : 3970da0f20d3d53f17d0ce8244a12de073eeb19a
2013-05-24 13:09:51 -04:00
Ehsan Akhgari
22b9d20d59 Bug 873553 - Part 2: Teach each AudioNodeStream about its sampling rate, and store the value inside AudioContext; r=roc
--HG--
extra : rebase_source : beed6a6f965acdff307b7d4861d5f336c224d498
2013-05-24 13:09:29 -04:00
Ehsan Akhgari
eb4978d70a Bug 873553 - Part 1: Remove AudioContext::GetRate; r=roc
This method is currently unused.

--HG--
extra : rebase_source : c6d5a9788e6cb03fc965852e5b97a72e05cfd3e2
2013-05-24 13:09:08 -04:00
Ehsan Akhgari
b70a070b62 Bug 875402 - Do the work for initializing a MediaInputPort even if the message is handled during graph shutdown; r=roc 2013-05-24 12:53:41 -04:00
Ehsan Akhgari
11cff4c090 Bug 875529 - Correctly reserve some extra junk at the end of the down-mixing buffer; r=roc
CUSTOM_CHANNEL_LAYOUTS is 6, and we use the index 6 to denote channels that
must be ignored, therefore we need an array of 7 values here.
2013-05-23 23:29:25 -04:00
Ehsan Akhgari
3e5b5e657d Bug 875144 - Disallow creating AudioBuffers of 0 length; r=roc 2013-05-23 22:39:36 -04:00
Ehsan Akhgari
03aface63f Bug 874952 - Always create enough last chunks for an engine, even if we don't end up calling into its ProduceAudioBlock function; r=roc 2013-05-23 22:36:20 -04:00
Ehsan Akhgari
35f81fb4da Bug 874024 - Allow creation of ScriptProcessorNodes with 0 input or output channels; r=roc 2013-05-23 08:26:21 -04:00
Ehsan Akhgari
c08a3bf04a Bug 874915 - Stop the AudioBufferSourceNode if the offset is no longer valid after setting a new buffer; r=roc
--HG--
extra : rebase_source : 0b179aab5ddb1ffd4ab2aeb8366b36975c949187
2013-05-23 07:50:48 -04:00
Ehsan Akhgari
1bfc965bdc Bug 874869 - Disallow setting AudioNode.channelCount to zero; r=roc
--HG--
extra : rebase_source : 8015dda70e2191820c9482b529a22bdaa67dd79e
2013-05-23 07:46:20 -04:00
Ralph Giles
d98efa09c2 Bug 833385 - Implement HTMLTrackElement and TextTrack. r=bz,Ms2ger
Add webidl interfaces and implementations of the HTML <track>
element and related TextTrack, TextTrackList, TextTrackCue,
and TextTrackCueList dom objects.

Visibility is controlled by the media.webvtt.enabled pref,
which defaults to false.

HTMLMediaElement:NewURIFromString() is hoisted to
nsGenericHTMLElement so it's available to the track
element as well.

This patch is primarily work by Dale Karp, David Humphrey
and others as Seneca College.
2013-05-22 00:14:00 +08:00
Ryan VanderMeulen
4a2c1820e6 Backed out changesets e52c6f7200b3 and 2718954757e1 (bug 874869) for intermittent Windows leaks. 2013-05-22 15:22:26 -04:00
Bobby Holley
91448a9dac Bug 868130 - Remove the lion's share of JSAutoRequests in gecko. r=gabor
There are still a handful that either are used with other runtimes, or that
happen very early/late in cx the lifetime of various things where it doesn't
necessarily make sense to have a cx on the stack. This should definitely ensure
that we're not doing double-duty with the nsCxPusher change, though.
2013-05-22 10:05:28 -06:00
Bobby Holley
54ef3d2952 Bug 868130 - Include nsCxPusher.h everywhere we need it, and stop including it from nsContentUtils.h. r=gabor 2013-05-22 10:05:26 -06:00
Ehsan Akhgari
34a9786e5f Bug 874869 - Disallow setting AudioNode.channelCount to zero; r=roc 2013-05-22 11:30:31 -04:00
Ryan VanderMeulen
a10a8857fa Backed out changeset 9b5a9cd5032d (bug 870400) for Windows mochitest-1 failures. 2013-05-22 07:40:29 -04:00
Chris Pearce
22eb7c1ef4 Bug 870400 - Calculate audio timestamps for WMF based on audio frames played, rather than trusting the container's timestamps. r=padenot 2013-05-22 17:43:26 +08:00
Ehsan Akhgari
84a5e374ef Bug 873335 - Unlink ScriptProcessorNode members before AudioNode; r=mccr8 2013-05-21 14:54:23 -04:00
Ryan VanderMeulen
9fad01536a Backed out changeset 4cb1973f06b9 (bug 868439) for Android M2 failures.
CLOSED TREE
2013-05-21 10:48:09 -04:00
Martijn Wargers
b4356d38c0 Bug 868439 - Convert some uses of nsIPrefBranch to SpecialPowers. r=jmaher 2013-05-21 02:14:06 +02:00
Chris Pearce
44c5698dd1 Bug 872375 - Specify picture region in D3D9SurfaceImage. r=padenot 2013-05-20 13:14:13 +08:00
Mike Hommey
91f60080e1 Backout changeset be729bc526a3 (part of bug 864035) 2013-05-18 11:10:45 +02:00
Mike Hommey
6509b30caf Bug 864035 - Don't use a forward declaration for mozilla::dom::SpeechRecognition for use with a WeakPtr. r=smaug 2013-05-18 09:51:54 +02:00
Gregory Szorc
14c4938355 Bug 873629 - Remove 129 empty Makefile.in files; r=ted 2013-05-17 16:20:11 -07:00
Bobby Holley
77d1e43d75 Bug 860941 - Remove assertion annotations for the now-removed mArguments assertion. r=jst 2013-05-17 10:43:20 -07:00
Ryan VanderMeulen
74f5ed25b0 Merge m-c to inbound. 2013-05-17 09:08:44 -04:00
Sotaro Ikeda
ea6d1dc9d5 Bug 871753 Part1 - fix deadlock during youtube video playback. r=doublec 2013-05-16 17:24:13 -07:00
Ryan VanderMeulen
849edcd80b Merge m-c to inbound. 2013-05-16 11:26:58 -04:00
Sotaro Ikeda
db7c471a36 Bug 868806 - Handle OMXCodec's error. r=doublec 2013-05-15 21:35:34 -04:00
Ed Morley
aadfc4d36c Backed out changeset 34c65a615373 (bug 860941) 2013-05-17 09:08:31 +01:00
Bobby Holley
7f49ad21dd Bug 860941 - Remove assertion annotations for the now-removed mArguments assertion. r=jst 2013-05-16 23:33:15 -07:00
Ted Mielczarek
110919af49 bug 871712 - make MSVC PGO opt-in per-directory, and opt-in in the directories that matter. r=glandium 2013-05-16 09:33:26 -04:00
Chris Pearce
64f507219b Bug 872866 - Set length of MediaResource earlier in load. r=roc 2013-05-16 15:22:34 +12:00
Edwin Flores
57bdc4503a Bug 856562 - Fix decode race in gstreamer backend r=alessandro.d 2013-05-16 14:35:16 +12:00
Ehsan Akhgari
497b7175f9 Bug 872635 - Drop the DelayNode's self-reference right on time, to make sure that DelayNodes don't leak with OfflineAudioContexts; r=roc 2013-05-15 20:51:47 -04:00
Ehsan Akhgari
3894f484df Bug 836599 - Part 14: Run most of the existing Web Audio tests using OfflineAudioContext as well as AudioContext; r=roc
This helps us get a decent amount of test coverage on OfflineAudioContext in
both the existing tests and the future tests.
2013-05-16 19:31:08 -04:00
Ehsan Akhgari
30c4151889 Bug 836599 - Part 13: Add a unit test for OfflineAudioContext; r=roc 2013-05-16 19:31:08 -04:00
Ehsan Akhgari
d2c63bc836 Bug 836599 - Part 12: Fix the lifetime management of the Web Audio graph in presence of OfflineAudioContexts; r=roc
Here we make the non-realtime graphs to go to sleep until they're shut down
from the main thread.  This allows us to use the common forced shutdown code
path in MediaStreamGraphImpl::RunThread.  We also need to delete the graph
object when the last message is dispatched to it.

In addition, we need to make sure that the AudioNodes also get released when
they're no longer needed.  To do this, we need for force the SelfReference of
AudioBufferSourceNodes to be released when the context is shut down, and also
trigger the destruction of the graph there.
2013-05-16 19:31:08 -04:00
Ehsan Akhgari
e31cd426d8 Bug 836599 - Part 11: Implement the processing of OfflineAudioContext; r=roc
We use a custom AudioNodeEngine for the destination nodes belonging to
OfflineAudioContexts, and there we record the rendered buffer.  Once the buffer
is full, we resample it if the sampling rate of the OfflineAudioContext is
different than the ideal sampling rate, and then we hand it off to the main
thread in order for the complete event to be dispatched.
2013-05-16 19:30:57 -04:00
Ehsan Akhgari
1428a73574 Bug 836599 - Part 10: Use the non-realtime MediaStreamGraph API and a custom destination node engine for OfflineAudioContext; r=roc
We offload most of the logic for OfflineAudioContext to the destination node,
since that's where the sample recording needs to happen, so doing this will
make the code simpler.
2013-05-16 19:30:42 -04:00
Ehsan Akhgari
e7318c89ad Bug 836599 - Part 9: Implement the DOM binding for OfflineAudioContext; r=roc 2013-05-16 19:30:41 -04:00
Ehsan Akhgari
a8cb458faf Bug 836599 - Part 8: Add a non-realtime media graph API to produce a given number of ticks; r=roc 2013-05-16 19:30:41 -04:00
Gian-Carlo Pascutto
9cc5fa74c8 Bug 863290 - Correctly detect failure to initialize Android capture objects. Fix crashers. r=jesup 2013-05-15 18:50:42 +02:00
Patrick Wang
2ba1b673b5 Bug 871463 - allow to fallback to software codec in emulator. r=doublec 2013-05-13 17:38:49 +08:00
Paul Adenot
6d73395fce Bug 867104 - Add a crashtest. r=ehsan 2013-05-14 14:14:42 +02:00
Paul Adenot
0048792bd1 Bug 867104 - r=ehsan 2013-05-14 14:14:42 +02:00
Ehsan Akhgari
bee3aa1c74 Bug 865251 - Implement WaveShaperNode; r=roc 2013-05-14 00:12:30 -04:00
Ed Morley
36fb30076b Backed out changeset 496846474ed3 (bug 864774) 2013-05-13 10:05:49 +01:00
Ehsan Akhgari
19d51152a3 Bug 871201 - Part 2: Implement AudioBufferSourceNode.gain; r=roc
X-Git-Commit-ID: db8923b372db098aa7a5dc1cbf42674310b61aef
X-Mailer: git-send-email

--HG--
rename : content/media/webaudio/test/test_audioBufferSourceNode.html => content/media/webaudio/test/test_audioBufferSourceNodeGain.html
rename : content/media/webaudio/test/test_audioBufferSourceNode.html => content/media/webaudio/test/test_delayNodeWithGainAlternate.html
extra : rebase_source : 2cc9259229209fa926970e78ddfc2ef5765f4ad5
2013-05-13 00:17:55 -04:00
Ehsan Akhgari
dfe47b7ab0 Bug 871201 - Part 1: Refactor the gain processing logic of GainNodeEngine into a reusable base class; r=roc
X-Git-Commit-ID: e3c9ccaf984c74bb041e2a35fb092dd91e643555
X-Mailer: git-send-email

--HG--
extra : rebase_source : c26ad3b5953f15b599baa9fea0cf66580f2a3262
2013-05-13 00:17:36 -04:00
Ehsan Akhgari
5a3c2ed05b Bug 870174 - Eliminate some lags and glitches caused by resampling in decodeAudioData and AudioBufferSourceNode.cpp, and make the code simpler too!; r=roc
X-Git-Commit-ID: d9ad3597291b9f656712dcdd15725afcc3882fa1
X-Mailer: git-send-email

--HG--
extra : rebase_source : 5f51d27aec53fd5e9ab868e799ce05ee2b7692d4
2013-05-13 00:17:00 -04:00
Mike Shal
02469b68e2 Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey
From 140b9201e3b5d2d8efe7af286d279c2411dbc197 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Trevor Saunders
36f862aafb bug 869283 - fix gcc warnings in wmf r=cpearce 2013-05-06 21:58:55 -04:00
Nathan Froyd
eba34f22d7 Bug 858131 - rewrite FloatingPoint.h to be C++-only instead of C-compatible C++; r+original-author=Waldo 2013-05-01 16:55:13 -04:00
Ehsan Akhgari
e6ca808683 Bug 870167 - Create a mini test framework for Web Audio; r=roc
--HG--
rename : content/media/webaudio/test/test_audioBufferSourceNodeLoop.html => content/media/webaudio/test/test_audioBufferSourceNodeEnded.html
extra : rebase_source : 787d1d19b6463906ff9db8cbfb5e61d76a2ab667
2013-05-09 08:45:35 -04:00
Randell Jesup
cd37853e8c Bug 870002: move data-processing debugs in MSG to level 5 to allow granular logging r=roc 2013-05-09 02:05:03 -04:00
Ehsan Akhgari
9cb96b3472 Bug 836599 - Part 7: Implement a non-realtime API in MediaStreamGraph; r=roc 2013-05-08 07:44:07 -04:00
Gian-Carlo Pascutto
796b700088 Backed out changeset 4b3a3f40730f (Bug 863290) for Android mochi-4 orange. 2013-05-08 10:01:14 +02:00
Robert O'Callahan
ae6ba16f63 Bug 868406. Shut down MediaStreamGraph's thread. r=jesup
--HG--
extra : rebase_source : 0d5801b271d1658dba172cb5b156186052651990
2013-05-07 22:16:35 -07:00
Robert O'Callahan
5ce353bec6 Bug 866514. Part 2: Delay delivering getUserMedia stream result until the DOM object has asynchronously acquired the desired tracks. r=jesup
--HG--
extra : rebase_source : 26a908d2e1bcf0d6d83a864f47dd9d117699bb9c
2013-05-03 17:07:37 +12:00
Robert O'Callahan
9faaae5b1a Bug 866514. Part 1: Add DOMMediaStream::OnTracksAvailableCallback. r=jesup
--HG--
extra : rebase_source : 8d8da0bc2a55fa14f837cb85f35236ca33d2437d
2013-05-03 17:02:55 +12:00
Robert O'Callahan
c3b92af1a9 Bug 863224. DOMMediaStream should release its internal MediaStream and listener during Unlink to ensure that events running between Unlink and the destruction of the DOMMediaStream don't see the dying object. r=jesup
--HG--
extra : rebase_source : 8937bb0d3aa182bc548b193151d51be80c4a80b2
2013-05-01 23:24:16 +12:00
Gian-Carlo Pascutto
1d3b7048f5 Bug 863290 - Correctly detect failure to initialize Android capture objects. r=jesup 2013-05-08 07:39:03 +02:00
Ehsan Akhgari
d0679b48e8 Bug 869682 - Make sure that GainNode does not modify its input buffer; r=roc 2013-05-07 23:32:23 -04:00
Ehsan Akhgari
7d46bec13c Bug 869684 - Don't crash if the last output chunk for a given stream doesn't contain any channels; r=roc
X-Git-Commit-ID: 4c3b39a6049471e6b731369653eafb83efebcf1b
X-Mailer: git-send-email
2013-05-07 23:31:55 -04:00
Ehsan Akhgari
14175761c2 Bug 869224 - Use the same algorithm to compute the buffer start/end time and to convert AudioParam time values to ticks; r=roc 2013-05-07 23:31:15 -04:00
Ryan VanderMeulen
210edab1cd Merge inbound to m-c. 2013-05-07 22:10:19 -04:00
Michael Wu
2d52f2eb34 Bug 869251 - Disable omx decoder and camera on gonk-JB, r=doublec,glandium 2013-05-02 17:21:22 -04:00
Sotaro Ikeda
b794e3ebea Bug 863441 - Increment GetAmpleVideoFrames() to 3. r=doublec 2013-05-07 10:53:42 -04:00
Ryan VanderMeulen
f5c10c28c0 Merge m-c to birch. 2013-05-07 08:35:02 -04:00
Ehsan Akhgari
17d692ecaf Convert AudioNodeStream.cpp to unix line endings, no bug 2013-05-07 07:59:16 -04:00
Ehsan Akhgari
6b4ab15278 Remove the unused AudioEventTimeline::ComputedValue function, no bug 2013-05-07 07:56:03 -04:00
Ryan VanderMeulen
a0c34ccab0 Merge m-c to inbound. 2013-05-06 11:20:45 -04:00
Sotaro Ikeda
aeeac1a8b1 Bug 864180 - Move audio software decoder to app's process. r=doublec 2013-05-06 08:43:18 -04:00
Michael Wu
78451df40a Bug 869206 - Make webrtc code build on gonk-JB, r=jesup 2013-05-04 11:00:35 -04:00
Ehsan Akhgari
46cad293b8 Bug 865248 - Implement ChannelMergerNode; r=roc
--HG--
rename : content/media/webaudio/ChannelSplitterNode.h => content/media/webaudio/ChannelMergerNode.h
2013-05-05 11:49:37 -04:00
Ehsan Akhgari
5b8b3eb487 Bug 865247 - Part 4: Implement ChannelSplitterNode; r=roc 2013-05-05 11:49:13 -04:00
Ehsan Akhgari
07fbb18a70 Bug 865247 - Part 3: Add a ProduceAudioBlock overload to handle simultaneous processing of multiple input and output ports; r=roc
The ObtainInputBlock API is also changed to create an input block for one input
block at a time.  An array of these input blocks is then sent to
ProduceAudioBlock for processing, which generates an array of AudioChunks as
output.

Backwards compatibilty with existing engines is achieved by keeping the
existing ProduceAudioBlock API for use with engines with only a maximum of one
input and output port.
2013-05-05 11:48:45 -04:00
Ehsan Akhgari
7275461f2b Bug 865247 - Part 2: Tell MediaInputPorts about their input and output ports; r=roc 2013-05-05 11:47:59 -04:00
Ehsan Akhgari
14aa167f4e Bug 865247 - Part 1: Give MediaInputPort the notion of an input and output port number; r=roc 2013-05-05 11:47:36 -04:00
Ehsan Akhgari
8d0e9d56f7 Bug 868485 - Part 2: Add test cases for createBuffer with mono downmixing; r=roc 2013-05-05 11:16:23 -04:00
Ehsan Akhgari
91cf92d40d Bug 868485 - Part 1: Implement the mixToMono behavior for createBuffer; r=roc 2013-05-05 11:15:58 -04:00
Ms2ger
c74b574718 Backout changesets f309dacf4010:be3cef4b69e3 for thread safety assertions on Windows and test failures on OSX. 2013-05-05 11:51:47 +02:00
Robert O'Callahan
354566db70 Bug 868406. Shut down MediaStreamGraph's thread. r=jesup 2013-05-05 18:20:11 +12:00
Robert O'Callahan
9fcec03506 Bug 866514. Part 1: Add DOMMediaStream::OnTracksAvailableCallback. r=jesup 2013-05-03 17:02:55 +12:00
Robert O'Callahan
d871724614 Bug 863224. DOMMediaStream should release its internal MediaStream and listener during Unlink to ensure that events running between Unlink and the destruction of the DOMMediaStream don't see the dying object. r=jesup 2013-05-01 23:24:16 +12:00
Paul Adenot
43a8047fa7 Bug 825329 - Fix a stupid error in playbackRate. r=kinetik 2012-12-28 23:01:38 +01:00
Jacek Caban
74ed131fc0 Bug 866561 - Fixed cross compiling for Windows on case sensitive hosts. 2013-05-06 11:33:00 +02:00
Phil Ringnalda
5c6b885414 Bug 852821 - Skip 691096-1.html on b2g where it frequently times out, so it won't hold an entire hunk of crashtests hostage 2013-05-05 17:56:24 -07:00
Patrick McManus
38d761b516 Bug 831998 - Make the media canplaythrough estimation less conservative. r=cpearce 2013-05-05 17:02:25 -07:00
Joel Maher
70cf587ace Bug 868152 - disable webaudio crashtests for Android to enable 700 other tests. r=philor 2013-05-07 12:46:48 -04:00
Nathan Froyd
dc3bfcbc39 Bug 869073 - make WebIDL enums enum classes instead of plain enums; r=bz 2013-05-06 15:28:13 -04:00
Ehsan Akhgari
4da547d014 Bug 865242 - Remove support for soundfield panning from PannerNode; r=padenot 2013-05-07 08:27:08 -04:00
Ryan VanderMeulen
7e60bd00fa Merge m-c to inbound. 2013-05-07 10:10:46 -04:00
Ehsan Akhgari
f01f0505d9 Bug 865231 - Implement AudioParam.setValueCurveAtTime; r=roc 2013-05-06 19:50:45 -04:00
Ehsan Akhgari
c3c3b0028e Bug 868864 - Correctly scale the time values of AudioParam when converting it to ticks, and correctly calculate SetTargetAtTime event values the first time they're encountered; r=roc 2013-05-06 14:59:43 -04:00
Ehsan Akhgari
ed4c312d3e Bug 868855 - Respect the input's volume in ChannelMergerNode and ChannelSplitterNode; r=roc 2013-05-06 14:30:47 -04:00
Ehsan Akhgari
98bbd68e08 Bug 865233 - Implement the ended event for AudioBufferSourceNode; r=roc 2013-05-06 14:22:01 -04:00
Ehsan Akhgari
d737c31ab8 Bug 867174 - Part 2: Protect against invalid sample rates a bit harder; r=padenot 2013-05-06 11:34:03 -04:00
Ehsan Akhgari
bf10328ba6 Bug 868776 - Fix rooting hazards in Web Audio code; r=till 2013-05-04 17:40:20 -04:00
Yuan Pengfei
9ba4db562b Bug 868716 - Fix placement of #include <float.h>; r=ehsan 2013-05-04 11:35:35 -04:00
Chris Pearce
bbaa7306e8 Bug 847267 - Use DXVA2 to offload H.264 decoding to the GPU on Windows. r=Bas 2013-05-04 22:12:41 +12:00
Ms2ger
be2d315b5c Merge m-c to inbound 2013-05-04 10:47:09 +02:00
Phil Ringnalda
557eb980cc Merge Birch and m-c 2013-05-03 19:38:56 -07:00
Ed Morley
cabb89f9ab Merge mozilla-central and birch 2013-05-03 13:35:02 +01:00
Ed Morley
8d30e59ef8 Backed out changeset 2938c2e1f7e7 (bug 867203) since part 1 had to be backed out for conflicts 2013-05-03 10:10:18 +01:00
Ed Morley
bcd204df9a Backed out changeset ad407adf94f2 (bug 867174) and friends for causing permaorange mochitest-2 on Android, disabling tests without using android.json and/or conflicting with the backouts on three CLOSED TREEs 2013-05-03 09:24:04 +01:00
Ed Morley
8cfe90523b Backed out changeset 9351bfd9d8c5 (bug 867174) 2013-05-03 09:20:05 +01:00
Ed Morley
e9207d2323 Backed out changeset 85ec6c943147 (bug 867876) 2013-05-03 09:20:01 +01:00
Ed Morley
275a93e3f3 Backed out changeset b342f87552a3 (bug 865642) 2013-05-03 09:19:58 +01:00
Ed Morley
359ab0de6f Backed out changeset 3cadad39da66 (bug 868116) 2013-05-03 09:19:55 +01:00
Ed Morley
74cc32e1ba Backed out changeset 93602e7a1551 (bug 865642) 2013-05-03 09:19:52 +01:00
Ed Morley
09a97ad595 Backed out changeset da92f0c44e91 (bug 867980) 2013-05-03 09:19:49 +01:00
Ed Morley
8644a275d4 Backed out changeset 6402e13dc9ba (bug 865642) 2013-05-03 09:19:46 +01:00
Ed Morley
d1a7b75684 Backed out changeset b66017604bdd (bug 867203) 2013-05-03 09:19:43 +01:00
Paul Adenot
871e1f91aa Bug 867203 - Part 2: Remove useless mPannerNode member in AudioBufferSourceNode. r=ehsan
--HG--
extra : rebase_source : 1b4bb979fd34dabc470ed8e59a40deaff0fa61a5
2013-05-02 17:04:49 +02:00
Phil Ringnalda
15aa0f03f4 Bug 868152 - The disabling of media crashtest on Android will continue until morale improves 2013-05-03 18:40:43 -07:00
James Willcox
8a604ee1de Bug 848652 - Implement ArrayBuffer version of AudioContext.createBuffer r=ehsan
--HG--
rename : content/media/webaudio/test/test_decodeAudioData.html => content/media/webaudio/test/test_mediaDecoding.html
2013-05-03 16:42:28 -04:00
Matt Brubeck
4a49b819a3 Back out changeset 1a0f522cf110 (bug 848652) because of assertion failures in MediaBufferDecoder.cpp
CLOSED TREE

--HG--
rename : content/media/webaudio/test/test_mediaDecoding.html => content/media/webaudio/test/test_decodeAudioData.html
2013-05-03 15:18:06 -07:00
Ehsan Akhgari
33a92bcb9b Bug 867203 - Part 1: Unregister AudioBufferSourceNodes from PannerNodes when they die; r=padenot
--HG--
extra : rebase_source : e4aca1ebb975e04e8821df0377ee652e18755ed7
2013-04-30 19:20:55 -04:00
Ryan VanderMeulen
6599a4f628 Bug 865642 - Disable more tests on Android. 2013-05-02 23:59:31 -04:00
Ehsan Akhgari
d2078ef9df Bug 867174 - Part 1: Deliver the correct channel count the to the resampler the first time that we see a buffer; r=padenot 2013-04-30 16:36:19 -04:00
Gregory Szorc
865b1ce89b Bug 863069 - Part 1: Sort lists in moz.build files; r=mshal 2013-05-03 09:54:45 -07:00
Ehsan Akhgari
b396c375d9 Bug 867876 - Add some tests for the AudioParam automation events; r=roc 2013-05-02 01:13:27 -04:00
Paul Adenot
06a84c0e3f Bug 867203 - Part 2: Remove useless mPannerNode member in AudioBufferSourceNode. r=ehsan
--HG--
extra : rebase_source : dc94f66dbb4291226ab3f2c6c1ad8dc7aa4081e7
2013-05-02 17:04:49 +02:00
Ehsan Akhgari
c9ce04d576 Bug 867203 - Part 1: Unregister AudioBufferSourceNodes from PannerNodes when they die; r=padenot
--HG--
extra : rebase_source : 3c580a0feba39d01779a91e6bd10a10d98cb7114
2013-04-30 19:20:55 -04:00
Ryan VanderMeulen
1d3ceb7eb4 Merge m-c to inbound. 2013-05-02 21:50:25 -04:00
Ryan VanderMeulen
65de50fed4 Bug 868152 - Skip test on Android due to crashtest perma-orange. 2013-05-02 21:28:35 -04:00
Ryan VanderMeulen
43b2d21d1b Bug 867980 - Disable test on Android due to frequent timeouts. 2013-05-02 21:25:38 -04:00
Ryan VanderMeulen
67bdfbb473 Bug 865642 - Disable tests on Android due to frequent timeouts. 2013-05-02 21:24:17 -04:00
Chris Pearce
59f8d99d86 Bug 866561 - Enable high precision timers on Windows when playing video. r=kinetik 2013-05-03 12:39:19 +12:00
Ryan VanderMeulen
850b69a548 Bug 868116 - Disable test on Android due to being perma-orange. 2013-05-02 15:39:40 -04:00
Ryan VanderMeulen
8c690c7ef7 Merge m-c to inbound. 2013-05-02 15:17:39 -04:00
Ryan VanderMeulen
3388355e9a Merge m-c to birch. 2013-05-02 13:10:42 -04:00
Ralph Giles
1fafe574a9 Bug 782091 - Add multichannel Opus test files. r=derf
This doesn't do any verification of the output, just checks
that we load multichannel files and playback completes.

These are public-domain test files created by Tim and Monty
last year. They're not great audio quality, the idea is just
to verify correct speaker mapping.

http://people.xiph.org/~greg/opus_testvectors/opus_multichannel_examples/
2013-05-01 14:15:57 -07:00
Chiajung Hung
105da9b5d8 Bug 825110 - Part 3: WebRTC changes for B2G WebRTC video module. r=jesup 2013-05-02 08:00:12 -04:00
Boris Zbarsky
d0cb8316ab Bug 860841. Hook up the proto chain of a WebIDL interface object to the interface object of its nearest ancestor interface that has one, as if these were ES6 classes. r=peterv 2013-05-02 14:38:19 -04:00
Steve Fink
0de5d9f921 Bug 867341 - Replace AutoObjectRooter with RootedObject. r=smaug
--HG--
extra : rebase_source : b5dc27c6dfbc219980739314a22ff691a1b25032
2013-04-26 21:08:16 -07:00
Chris Pearce
ea957dfa74 Bug 862182. r=roc,doublec 2013-05-03 10:59:18 +12:00
Gian-Carlo Pascutto
6447a8c8a1 Bug 866093 - Set Android Context Objects, use any-thread FindClass, compile AudioCapture classes. r=jesup f=blassey 2013-05-02 08:42:53 +02:00
Ehsan Akhgari
1edd113724 Bug 867511 - Part 2: Use DynamicCompressorNode's input channel count when processing input; r=roc 2013-05-01 15:40:07 -04:00
Ehsan Akhgari
8b9fddb71c Bug 867511 - Part 1: Use ScriptProcessorNode's input channel count when buffering input; r=roc 2013-05-01 15:10:45 -04:00
Ehsan Akhgari
1d93351afa Bug 865642 - Disable test_bug867174.html on Android 2013-05-02 12:03:49 -04:00
Oleg Romashin
6fd654b87f Bug 867964 - Build fail with DenormalDisabler.h:116: error: 'FLT_MIN' was not declared in this scope. r=ehsan
--HG--
extra : rebase_source : 7076471a442c3ce639b81259e824edd0c1a69eb0
2013-05-01 06:51:13 -07:00
Ehsan Akhgari
486a935da3 Bug 867876 - Add some tests for the AudioParam automation events; r=roc 2013-05-02 01:13:27 -04:00
Ehsan Akhgari
22409bc0d8 Bug 867174 - Part 2: Protect against invalid sample rates a bit harder; r=padenot 2013-04-30 16:37:23 -04:00
Ehsan Akhgari
74ef44fd2d Bug 867174 - Part 1: Deliver the correct channel count the to the resampler the first time that we see a buffer; r=padenot 2013-04-30 16:36:19 -04:00
Ehsan Akhgari
e79c6d96a9 Bug 868409 - ScriptProcessorNode's playing ref should remain active as long as there are outstanding connections; r=roc 2013-05-03 10:59:41 -04:00
James Willcox
ef70532696 # ebe5edd8c0ac367c043437a674d4200cf4525757
Bug 848652 - Implement ArrayBuffer version of AudioContext.createBuffer r=ehsan

--HG--
rename : content/media/webaudio/test/test_decodeAudioData.html => content/media/webaudio/test/test_mediaDecoding.html
extra : rebase_source : 7b0926091743dd6cd17a0adee9a6d3c5181dfa4d
2013-05-03 16:42:28 -04:00
Michael Wu
932f230512 Bug 868065 - Move GraphicBuffer.h include out of ImageContainer.h, r=vlad 2013-05-02 12:56:09 -04:00
Ivaylo Dimitrov
bff0518f5b Bug 856308 - Enable GStreamer video buffer handling optimization for gstreamer versions older than 0.10.36. DONTBUILD because NPOTB r=alessandro.d,padenot 2013-05-03 16:44:54 +02:00
Ehsan Akhgari
263ccfd864 Bug 866434 - Part 4: Add a test case for connecting an AudioNode to an AudioParam; r=roc 2013-05-01 23:13:43 -04:00
Ehsan Akhgari
bc394ffb2a Bug 866434 - Part 3: Mix in the value generated by AudioNode inputs to AudioParams when getting their values during audio processing; r=roc 2013-05-01 23:12:59 -04:00
Ehsan Akhgari
1cff2c39cc Bug 866434 - Part 2: Give each AudioParam that is connected to an AudioNode an AudioNodeStream; r=roc
These MediaStreams are used as a way to down-mix the input AudioChunks, and
also as a way to get proper stream processing ordering.  The MediaStream for
the source AudioNode is an input to these streams, and these streams in turn
are inputs to the MediaStream that the AudioNode that owns the AudioParam owns.
This way, the Media Streams Graph processing code will order the streams so
that by the time that the MediaStream for a given node is processed, all of the
MediaStreams belonging to the AudioNode(s) feeding into the AudioParam have
been processed.

This has a tricky side-effect that those streams also being considered when
determining the input block for the AudioNodeStream belonging to the
AudioParam's owner AudioNode.  In order to fix that, we simply special case
those streams and make AudioNodeStream::ObtainInputBlock ignore them.
2013-05-01 21:02:31 -04:00
Ehsan Akhgari
af0f671957 Bug 866434 - Part 1: Make it possible to connect an AudioNode to an AudioParam; r=roc 2013-05-01 18:59:02 -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
Ed Morley
d98de5104d Merge mozilla-central and birch 2013-06-26 15:12:39 +01:00
Sotaro Ikeda
e6911a901b Bug 884654 - Fix deadlock come from OmxDecoder::statusChanged(). r=doublec 2013-06-26 09:36:22 -04:00
Ehsan Akhgari
a7511c0a90 Bug 867588 - Remove support for implementing Web Audio nodes which are not connected to the MediaStreams backend; r=roc 2013-05-01 11:09:07 -04:00
Ehsan Akhgari
b2b952942b Bug 865234 - Part 9: Avoid variable shadowing in AudioNodeStream::ObtainInputBlock; r=roc 2013-04-30 19:37:58 -04:00
Ehsan Akhgari
66a7c4f50c Bug 865234 - Part 8: Add a test case for channel mixing rules; r=roc 2013-04-30 00:06:04 -04:00
Ehsan Akhgari
414dfbe6ed Bug 865234 - Part 7: Change the speaker up-mixing and down-mixing rules according to the Web Audio spec; r=roc 2013-04-29 20:15:26 -04:00
Ehsan Akhgari
879f2487b8 Bug 865234 - Part 6: Round up the |when| argument AudioBufferSouceNode.start; r=roc
This change is made in order to increase compatibility of the implementation
with what WebKit does.  This helps us in order to be able to compare our
results more closely to WebKit's.
2013-04-29 19:22:49 -04:00
Ehsan Akhgari
91e27e5d57 Bug 865234 - Part 5: Don't mark a stream as finished when there are streams following it; r=roc
Without this patch, if we have an AudioBufferSourceNode which is finished, the
nodes following it will not see its mLastChunk.  This breaks the Web Audio
block processing logic since we rely on the assumption that the buffer for the
last output of AudioBufferSourceNode is correctly passed to the following
engines.
2013-04-29 16:58:19 -04:00
Ehsan Akhgari
3f82113286 Bug 865234 - Part 4: Implement ChannelInterpretation's effect when mixing inputs; r=roc 2013-04-27 19:52:21 -04:00
Ehsan Akhgari
ce56b96fff Bug 865234 - Part 3: Implement ChannelCountMode's effect when mixing inputs; r=roc 2013-04-27 19:41:52 -04:00
Ehsan Akhgari
6b4953320e Bug 865234 - Part 2: Send the channel mixing information to the AudioNodeStream; r=roc 2013-04-27 19:25:23 -04:00
Ehsan Akhgari
b040e0542f Bug 865234 - Part 1: Add DOM bindings for the channel mixing attributes; r=roc 2013-04-27 18:44:50 -04:00
Ehsan Akhgari
e0e22b93e7 Bug 867324 - Make it safe to stop source nodes when shutting down the AudioContext in case the nodes die right away; r=roc
(This time with the correct bug #)
2013-04-30 16:01:39 -04:00