Boris Zbarsky
81c0b2b097
Bug 618479 part 1. Clean up the nsTArray binary-insert code a little bit. r=jlebar,kinetik
2013-02-13 10:11:53 -05:00
Honza Bambas
725e26027d
Bug 839175 - missing using namespace dom in MediaBufferDecoder.cpp, r=roc
2013-02-11 22:56:57 +01:00
Matthew Gregan
00bb295624
Bug 837430 - Don't hold the decoder monitor while initializing AudioStreams. r=cpearce
2013-02-08 13:46:33 +13:00
Chris Pearce
c66ffbb4a7
Bug 837842 - Make WMFByteStream::GetCapabilities() on report partially download if MediaResource is not fully cached. r=padenot
2013-02-11 11:31:43 +13:00
Randell Jesup
61ea66ea37
Bug 830247: rollup of changes to media/webrtc/trunk, and backouts of some temp patches r=ted,derf
...
--HG--
rename : media/webrtc/trunk/webrtc/modules/video_capture/main/source/Windows/BaseFilter.cpp => media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseFilter.cpp
rename : media/webrtc/trunk/webrtc/modules/video_capture/main/source/Windows/BaseFilter.h => media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseFilter.h
rename : media/webrtc/trunk/webrtc/modules/video_capture/main/source/Windows/BaseInputPin.cpp => media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseInputPin.cpp
rename : media/webrtc/trunk/webrtc/modules/video_capture/main/source/Windows/BaseInputPin.h => media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseInputPin.h
rename : media/webrtc/trunk/webrtc/modules/video_capture/main/source/Windows/BasePin.cpp => media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp
rename : media/webrtc/trunk/webrtc/modules/video_capture/main/source/Windows/BasePin.h => media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.h
rename : media/webrtc/trunk/webrtc/modules/video_capture/main/source/Windows/DShowTools.h => media/webrtc/trunk/webrtc/modules/video_capture/windows/DShowTools.h
rename : media/webrtc/trunk/webrtc/modules/video_capture/main/source/Windows/MediaType.cpp => media/webrtc/trunk/webrtc/modules/video_capture/windows/MediaType.cpp
rename : media/webrtc/trunk/webrtc/modules/video_capture/main/source/Windows/MediaType.h => media/webrtc/trunk/webrtc/modules/video_capture/windows/MediaType.h
2013-02-09 23:16:10 -05:00
Phil Ringnalda
361f43b776
Back out 6a5dcf166f09 (bug 836072) for build bustage
...
CLOSED TREE
2013-02-07 21:35:08 -08:00
Ehsan Akhgari
32c41e5463
Bug 836072 - Validate the arguments to AudioParam.exponentialRampToValueAtTime() correctly; r=roc
2013-01-29 18:30:22 -05:00
Philip Chee
3832972428
Bug 838537 - Fix the build for VS2008. r=padenot
2013-02-06 20:59:12 +08:00
Ehsan Akhgari
94e4ec56db
Bug 836599 - Part 6: Make MediaStreamGraphImpl::AppendMessage not assume that it's the only graph; r=roc
2013-02-04 12:29:14 -05:00
Ehsan Akhgari
cf993195fa
Bug 836599 - Part 5: Make MediaStreamGraphImpl::RunInStableState not assume that it's the only graph; r=roc
2013-02-04 12:27:54 -05:00
Ehsan Akhgari
076bf1509f
Bug 836599 - Part 4: Make MediaStreamGraphStableStateRunnable know about its owner graph; r=roc
2013-02-01 15:20:32 -05:00
Ehsan Akhgari
695f0ba22e
Bug 836599 - Part 3: Make MediaStreamGraphThreadRunnable know about its owner graph; r=roc
2013-02-01 15:13:32 -05:00
Ehsan Akhgari
0ec5861e6a
Bug 836599 - Part 2: Make MediaInputPort aware of its owner graph; r=roc
...
We need to make sure that MediaStream doesn't assume that it belongs
to the global graph so that we can have multiple graphs coexisting.
2013-02-01 14:49:58 -05:00
Ehsan Akhgari
0722f5e1a7
Bug 836599 - Part 1: Make MediaStream aware of its owner graph; r=roc
...
We need to make sure that MediaStream doesn't assume that it belongs
to the global graph so that we can have multiple graphs coexisting.
2013-02-01 14:43:36 -05:00
John Schoenick
fb66de7b8c
Bug 837427 - Include gstreamer cflags in content/media/webaudio; r=ehsan
2013-02-05 13:34:19 -05:00
Ehsan Akhgari
6d64573151
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
0dd0c24483
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
5c1dc30b64
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
4e8b7b6319
Bug 804387. Part 11: Fix testcase to expect correct sample rate. r=roc
...
--HG--
extra : rebase_source : aabab48ccaa6cbfacc2d22a425574d6e5b4109ee
2013-01-25 16:44:28 -05:00
Ehsan Akhgari
438db37746
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
...
--HG--
extra : rebase_source : dc3a202cbb94c266f6df4b0c1b5247522fc76658
2013-01-25 16:39:51 -05:00
Robert O'Callahan
6d8b72a707
Bug 804387. 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.
--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
extra : rebase_source : 9fa0ec0efa304acd6513e427103d6339c78efa53
2013-02-05 12:07:25 +13:00
Robert O'Callahan
5d60f92b6f
Bug 804387. Part 8: Create AudioNodeEngine and AudioNodeStream. r=jesup
...
Modifies MediaStreamGraph to always advance its time by a multiple of
WEBAUDIO_BLOCK_SIZE.
--HG--
extra : rebase_source : 99524b09edd4ac0e1bc6607f2ba14925bc2f11c2
2013-01-14 11:46:57 +13:00
Robert O'Callahan
82088f3e65
Bug 804387. Part 7.5: Make Web Audio tests context-rate-independent (disabling some decodeAudioData tests). r=ehsan
...
--HG--
extra : rebase_source : c625c50a08da1871e79851c2a824b0e3ea170eba
2013-02-05 10:57:36 +13:00
Robert O'Callahan
93a3ca0e54
Bug 804387. Part 7.2: Let BiquadFilterNode use the actual context sample rate. r=ehsan
...
--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
extra : rebase_source : 3d50af2ff2dff9fa047d59d0f3c815dec5cc686c
2013-02-05 10:55:50 +13:00
Robert O'Callahan
a2cc2eaf26
Bug 804387. Part 7: Use a static_cast instead of dynamic check when processing ProcessedMediaStream message. r=jesup
...
--HG--
extra : rebase_source : 3eb9264b706e19ac19ebf2377a33871be4cbe981
2013-02-04 23:04:26 +13:00
Robert O'Callahan
56958e3201
Bug 804387. Part 6: ChangeExplicitBlockerCountImpl takes a GraphTime, not a StreamTime. r=jesup
...
--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
extra : rebase_source : c51cb893c9b6121e00a38f105f2efd2e8d70094d
2013-02-04 23:04:26 +13:00
Robert O'Callahan
316b23fcb6
Bug 804387. Part 5: Add MediaStream::GraphTimeToStreamTimeOptimistic and MediaStream::StreamTimeToGraphTime. r=jesup
...
--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
extra : rebase_source : 0e08f9bb0c544b44ab4953a0f00cae233cd488c7
2013-02-04 23:04:26 +13:00
Robert O'Callahan
142a2a401e
Bug 804387. Part 4: Move MediaStreamGraphImpl to its own header file. r=jesup
...
--HG--
rename : content/media/MediaStreamGraph.cpp => content/media/MediaStreamGraphImpl.h
extra : rebase_source : 3413667aa3a11c634f703db4031e3c2b0b1e018e
2013-02-04 23:04:25 +13:00
Robert O'Callahan
6719ce2ae8
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
...
--HG--
extra : rebase_source : 94f166e66f5401130b27867dd2b5ca039c704f14
2013-02-04 23:04:25 +13:00
Robert O'Callahan
c9484fdea1
Bug 804387. Part 2: Fix misleading parameter name; these are NOT exactly microseconds. r=jesup
...
--HG--
extra : rebase_source : da23d4a4e5a9804b3c3ca19183ae048bf6012152
2013-02-04 23:04:25 +13:00
Robert O'Callahan
f42503daeb
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.
--HG--
extra : rebase_source : 751114a1befd73b405dff3ee986496efb6f76201
2013-02-04 23:04:24 +13:00
Robert O'Callahan
9a5950d3c6
Bug 804387. Part 1: Make AllocateInputPort addref the returned port. r=jesup
...
--HG--
extra : rebase_source : a0e4d7889598577a540f132f4190225ecf12fdfb
2012-11-23 11:25:05 +13:00
Ehsan Akhgari
598f705578
Backed out 14 changesets (bug 804387) because of Android M2 crashes
...
Backed out changeset 80e8530f06ea (bug 804387)
Backed out changeset 3de2271ad47f (bug 804387)
Backed out changeset 00f86870931c (bug 804837)
Backed out changeset 0e3f20927c50 (bug 804387)
Backed out changeset e6ef90038007 (bug 804387)
Backed out changeset 0ad6f67a95f9 (bug 804387)
Backed out changeset d0772aba503c (bug 804387)
Backed out changeset 5477b87ff03e (bug 804387)
Backed out changeset 1d7ec5adc49f (bug 804387)
Backed out changeset 11f4d740cd6c (bug 804387)
Backed out changeset e6254d8997ab (bug 804387)
Backed out changeset 372322f3264d (bug 804387)
Backed out changeset 53d5ed687612 (bug 804387)
Backed out changeset 000b88ac40a7 (bug 804387)
2013-02-05 01:29:28 -05:00
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