Commit Graph

1567 Commits

Author SHA1 Message Date
Ehsan Akhgari
b2bde00794 Backed out 3 changesets (bug 836076) becasue bug 804387 is getting backed out
Backed out changeset d567b1bb34ad (bug 836076)
Backed out changeset 51f7c9e31f9a (bug 836076)
Backed out changeset 901c735274bc (bug 836076)

--HG--
rename : content/media/AudioEventTimeline.h => content/media/webaudio/AudioEventTimeline.h
2013-02-05 01:28:38 -05:00
Ehsan Akhgari
057108984e Bug 836076 - Part 3: Make AudioParams call back into their owning node when they're modified; r=roc
We need this in order to update the MediaStreamGraph thread when an
AudioParam changes.  This enables each AudioParam to be registered with
a callback from its owner node, so that the owner node can have custom
processing code for each AudioParam's mutation.
2013-01-28 18:59:29 -05:00
Ehsan Akhgari
d65f82d1a1 Bug 836076 - Part 2: Make it possible to send AudioEventTimeline objects as commands to the MSG thread; r=roc 2013-01-28 17:42:27 -05:00
Ehsan Akhgari
9721bd3a5c Bug 836076 - Part 1: Move AudioEventTimeline.h to content/media; r=roc
--HG--
rename : content/media/webaudio/AudioEventTimeline.h => content/media/AudioEventTimeline.h
2013-01-28 17:21:43 -05:00
Ehsan Akhgari
b77d993ad2 Bug 804387. Part 11: Fix testcase to expect correct sample rate. r=roc 2013-01-25 16:44:28 -05:00
Ehsan Akhgari
147214ed9d Bug 804387. Part 10: Add a mechanism for ensuring that we don't attempt to allocate an input port if the input node is not hooked up to MSG yet. r=roc 2013-01-25 16:39:51 -05:00
Robert O'Callahan
41a1e70799 Bug 804837. Part 9: Update WebAudio implementation to integrate with AudioNodeStream. r=ehsan
This is a mega-patch that was too hard to disentangle. Here's what it does:
-- Create infrastructure around AudioNode::UpdateOutputEnded to detect
when a node can no longer produce any output. When that becomes true,
disconnect it from the AudioNode graph.
-- Have AudioNode implement JSBindingFinalized to use as input in
UpdateOutputEnded.
-- Give every AudioNode a MediaStream, and give every connection
a MediaInputPort.
-- Actually play the audio that reaches the AudioContext's destination node.
-- Force AudioContext to use the audio sample rate defined by MediaStreamGraph.
-- Fix AudioBufferSourceNode's start and stop methods to possibly throw and
take default 'when' parameters.
-- Create an AudioNodeStream for AudioBufferSourceNode and give it a
AudioBufferSourceNodeEngine that does what's needed. Set parameters for
this engine in the start() and stop() methods.
-- Create AudioBuffer::GetThreadSharedChannelsForRate, which is responsible
for stealing the contents of any JS array buffers, and bundling them up
into a thread-shared read-only buffer object which can be used as
part of an AudioChunk. This method will also be responsible for
resampling and caching as necessary.
2013-02-05 12:07:25 +13:00
Robert O'Callahan
85199704c0 Bug 804387. Part 8: Create AudioNodeEngine and AudioNodeStream. r=jesup
Modifies MediaStreamGraph to always advance its time by a multiple of
WEBAUDIO_BLOCK_SIZE.
2013-01-14 11:46:57 +13:00
Robert O'Callahan
36d8e43a3b Bug 804387. Part 7.5: Make Web Audio tests context-rate-independent (disabling some decodeAudioData tests). r=ehsan 2013-02-05 10:57:36 +13:00
Robert O'Callahan
02d2c848e5 Bug 804387. Part 7.2: Let BiquadFilterNode use the actual context sample rate. r=ehsan 2013-02-05 10:55:50 +13:00
Robert O'Callahan
a0af077494 Bug 804387. Part 7: Use a static_cast instead of dynamic check when processing ProcessedMediaStream message. r=jesup 2013-02-04 23:04:26 +13:00
Robert O'Callahan
752794e8a7 Bug 804387. Part 6: ChangeExplicitBlockerCountImpl takes a GraphTime, not a StreamTime. r=jesup 2013-02-04 23:04:26 +13:00
Robert O'Callahan
ed7a406d75 Bug 804387. Part 5: Add MediaStream::GraphTimeToStreamTimeOptimistic and MediaStream::StreamTimeToGraphTime. r=jesup 2013-02-04 23:04:26 +13:00
Robert O'Callahan
3fad0bb120 Bug 804387. Part 4: Move MediaStreamGraphImpl to its own header file. r=jesup
--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
2013-02-04 23:04:25 +13:00
Robert O'Callahan
e39fa86ef9 Bug 804387. Part 3: When a global underrun happens, don't insert blocked time, just cut that time out of the entire MediaStreamGraph timeline instead. r=jesup 2013-02-04 23:04:25 +13:00
Robert O'Callahan
7fb8782f92 Bug 804387. Part 2: Fix misleading parameter name; these are NOT exactly microseconds. r=jesup 2013-02-04 23:04:25 +13:00
Robert O'Callahan
e4dcc9be99 Bug 804387. Part 1.5: Clean up main-thread MediaStream event listeners. r=jesup
There is no need for these to be independent objects in general and we
don't need to addref/release them. We can just require the caller to
remove them before they die.
We can also save some refcount churn by having
DispatchToMainThreadAfterStreamStateUpdate take already_AddRefed.
2013-02-04 23:04:24 +13:00
Robert O'Callahan
d3228ba0ab Bug 804387. Part 1: Make AllocateInputPort addref the returned port. r=jesup 2012-11-23 11:25:05 +13:00
Chris Pearce
43af4dbc94 Bug 836927 - Bustage fix. r=bustage 2013-02-05 10:57:29 +13:00
Chris Pearce
661c2de3a5 Bug 836927 - Make WMFByteStream bug compatible with WMF's IMFByteStream implementation. r=padenot 2013-02-05 10:34:23 +13:00
Chris Pearce
3cfce463ea Bug 830172 - Use a shared nsIThreadPool instead of one MFWorkQueue per WMFByteStream instance. r=padenot 2013-02-05 10:33:52 +13:00
Ehsan Akhgari
6ae155f23d Export MediaBufferDecoder.h, no bug 2013-02-04 13:16:57 -05:00
Paul Adenot
6f6c7fbae4 Bug 804875 - Change the test, because mozFrameDelay can be 0, on a CLOSED TREE. 2013-02-04 17:37:53 +01:00
Paul Adenot
457423f099 Bug 804875 - Fix bustage on a CLOSED TREE. r=me 2013-02-04 15:21:44 +01:00
Matthew Gregan
fca4ee9782 Bug 835075 - Modify the mochitest. r=padenot 2013-02-04 14:08:47 +01:00
Paul Adenot
a9d5dbe1ef Bug 804875 - Reset all the members of the VideoFrameComtainer in the Reset method. r=kinetik 2013-01-31 15:41:05 +01:00
Paul Adenot
a6905ccded Bug 804875 - Test to check that media elements are reset appropriatly on source change. r=kinetik 2012-12-28 22:54:23 +01:00
Paul Adenot
179f2a3ed4 Bug 804875 - Reset media element when loading a new src. r=kinetik 2012-12-27 16:21:30 +01:00
Ehsan Akhgari
1aad4eaa4d Bug 792263 follow-up: Use class instead of struct to satisfy pesky compiler warnings (or rather, errors)
--HG--
extra : rebase_source : 900df4204ac807bb9d8e35d2837971905ecde151
2013-02-01 18:11:25 -05:00
Ehsan Akhgari
c78c1b8384 Bug 792263 - Implement decodeAudioData; r=bzbarsky,cpearce,padenot 2013-02-01 17:13:23 -05:00
L. David Baron
fbef6a7327 Fix WARNINGS_AS_ERRORS bustage ("comparison between signed and unsigned integer expressions") from Bug 830707, Part 1 (changeset 93a4d0995cba) on a CLOSED TREE. 2013-01-31 22:24:53 -08:00
Robert O'Callahan
ee2ea45fed Bug 830707. Part 3: Don't constrain AudioSegment to a fixed number of channels. r=jesup
--HG--
extra : rebase_source : feacede00821b6673ce04c886a9c3727a4989404
2013-01-21 09:44:44 +13:00
Robert O'Callahan
64750c3cc4 Bug 830707. Part 2: Mix channels to output channel count when playing audio. r=jesup
--HG--
extra : rebase_source : a13d8ec691689e3aa57cd42c9d437f91197d4253
2013-02-01 17:27:02 +13:00
Robert O'Callahan
65c985d18a Bug 830707. Part 1.5: Add MAX_AUDIO_SAMPLE_SIZE and tweak AddAudioSampleOffset. r=jesup
--HG--
extra : rebase_source : 75fed94d7020d375c5044f707cbfd6c29faf90af
2013-02-01 17:26:57 +13:00
Robert O'Callahan
4c73197305 Bug 830707. Part 1: Add code for upmixing and downmixing following Web Audio's spec. r=jesup
--HG--
extra : rebase_source : 8cdcbc313fcd371b47ad194f2f0da1102e5e6240
2013-01-16 02:09:38 +13:00
Steve Workman
61a6197e96 Bug 813562 - Test case for garbled DASH MPD and WebM media r=cpearce 2013-01-31 18:41:26 -08:00
Steve Workman
8618e95142 Bug 792935 - Test to detect DASH stream switching r=cpearce 2013-01-31 14:47:22 -08:00
Steve Workman
57f6d520ae Back out f08e636ecdc4 (bug 792935) for mochitest failures 2013-01-31 10:54:26 -08:00
Steve Workman
2871e04fa3 Bug 792935 - Test to detect DASH stream switching r=cpearce 2013-01-31 09:45:45 -08:00
Randell Jesup
439ab021c2 Bug 818670: Enable AEC in PeerConnection, AGC/NoiseSuppression in gUM (w/bustage fix) r=derf 2013-01-29 11:55:09 -05:00
Chris Jones
cab9a378db Bug 834150: Just Say No to the fallback SW decoder. r=doublec a=blocking-b2g 2013-01-30 15:06:28 -08:00
Steve Workman
c41e351bdc Bug 836143 - MediaDecoder should call its own OnDecodeThread for clearer error detection r=cpearce 2013-01-30 12:14:43 -08:00
Steve Workman
cf5af35104 Bug 836146 - Put LOG referencing mInitByteRange and mCuesByteRange in MOZ_DASH block r=kinetik 2013-01-30 11:35:02 -08:00
Jeff Walden
37fe466d6f Bug 835648 - Move typed enum support to a new header. r=Ms2ger 2013-01-28 16:33:17 -08:00
Ed Morley
b8cab0271d Backout 40f09f7bc670 & fc262e3c635f (bug 818670) for frequent fedora64 mochitest-3 leaks on a CLOSED TREE 2013-01-30 10:32:11 +00:00
Robert O'Callahan
e22d4a92b6 Bug 806754. Part 2: Fix bogus assertions. r=cpearce
SendStreamAudio gets called by SendStreamData which can be called
on the state machine thread since bug 794426 was fixed.
At the same time PlayFromAudioQueuec can no longer guarantee that
mAudioCaptured is false. It could be true and we're waiting for
the audio thread to shut down. We can just remove that assertion;
the logic in SendStreamData guarantees that we don't try to pass
audio to MediaStreams until the audio thread has actually stopped.

--HG--
extra : rebase_source : 431b4af63710ef13a57f7560aeec553b8aae6139
2013-01-30 17:20:03 +13:00
Robert O'Callahan
64761035c5 Bug 806754. Make MediaDecoders detect when a MediaStream has been destroyed because its DOM wrapper has been collected, and remove the no-longer-relevant MediaStream from the output list. r=cpearce
--HG--
extra : rebase_source : a7316907f453330c0c23eb7a11afb3c2cd5a1e9c
2013-01-30 17:19:03 +13:00
Ryan VanderMeulen
7e8ed87ae1 Backed out changeset 3eb633a97c1f (bug 835648) for suspected Windows orange on a CLOSED TREE. 2013-01-29 19:01:45 -05:00
Randell Jesup
6fd94f18ed bug 804875: backout due to regressions of various uses of .src/mozSrcObject (bugs 836011/835705) rs=kinetik 2013-01-29 18:07:29 -05:00
Jeff Walden
dd0f69c43a Bug 835648 - Move typed enum support to a new header. r=Ms2ger
--HG--
extra : rebase_source : 8c912fba889c1c5435e3619714071502fbfb30a3
2013-01-28 16:33:17 -08:00