Commit Graph

1920 Commits

Author SHA1 Message Date
Paul Adenot
db674c3f8a Bug 853360 - Implement the coneGain part of the AudioPannerNode. r=roc
--HG--
extra : rebase_source : c3a27ef2da8a080b9b310af14cf85f68f13df9a6
2013-03-21 19:25:15 +01:00
Paul Adenot
b7bfb58bff Bug 849918 - Initial support for PannerNode's 3D positional audio (equalpower panning model). r=ehsan,roc
--HG--
extra : rebase_source : d729da50f97b94ea0434a93ad481ac35954bfa9a
2013-03-21 17:45:53 +01:00
Kyle Huey
a7ee1d91d2 Backout things philor tells me to (Bug 853360, Bug 849918). 2013-03-21 18:20:42 -07:00
Paul Adenot
18a81145c2 Bug 853360 - Implement the coneGain part of the AudioPannerNode. r=roc 2013-03-21 19:25:15 +01:00
Paul Adenot
3f173fa2f9 Bug 849918 - Initial support for PannerNode's 3D positional audio (equalpower panning model). r=ehsan,roc 2013-03-21 17:45:53 +01:00
Paul Adenot
593850c067 Bug 853076 - Initialized the chunk to be empty before getting audio frames. r=ehsan
--HG--
extra : rebase_source : 06845291a1d86aac4adbde1163196f5de61289e9
2013-03-21 10:56:40 +01:00
Ryan VanderMeulen
d278f7a463 Backed out changeset 46519785800d (bug 847809) for B2G bustage. 2013-03-21 10:41:07 -04:00
Shelly Lin
8a3697e52c Bug 847809 - Add audio/amr to the supported decode type of OMX, but disable it if this AMR is loaded from Web pages. r=roc 2013-03-18 11:33:32 +08:00
Ehsan Akhgari
8b2d40b671 Bug 852817 - Don't do anything special when the JS binding to AudioDestinationNode gets finalized; r=roc 2013-03-20 21:35:44 -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
Ehsan Akhgari
f2a48dfa7e Bug 852838 - Make sure that trying to allocate an AudioBuffer with a very large number of channels does not cause an OOM crash; r=roc 2013-03-20 21:49:13 -04:00
Ehsan Akhgari
e165c1dd16 Bug 853246 - Optimize Panner and Listener methods when processing them would not have a significant effect; r=roc 2013-03-20 20:12:07 -04:00
Sotaro Ikeda
ebcd1fab7b Bug 844248 - Add a custom media stream for camera preview. r=roc 2013-03-20 10:07:46 -04:00
Robert O'Callahan
2d9ba0737e Bug 850587. Part 2: Make NotifyHasCurrentData fire when a stream would be able to produce data if it was not blocked. r=jesup
Also removes NotifyHasCurrentData's boolean parameter; we just fire this
once and treat a stream that has once had current data as always
having current data (since we block a stream that would advance
beyond its available data).
2013-03-21 00:19:39 +13:00
Robert O'Callahan
56c1d33fee Bug 850587. Part 1: Refactor NotifyAutoplayDataReady to CheckAutoplayDataReady and allow autoplay to start on HAVE_CURRENT_DATA if the source is a stream. r=cpearce 2013-03-21 00:11:48 +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
Mike Shal
9680b82df6 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Andrea Marchesini
f31c1bad38 Bug 847370 - HTMLMediaElement - crossOrigin vs crossorigin, r=bz 2013-03-19 16:18:29 +01:00
Ehsan Akhgari
9e3c356900 Bug 852410 - Mark Web Audio streams as blocking on their input, not on their output; r=roc 2013-03-19 00:43:44 -04:00
Andrea Marchesini
fef387cf3e Bug 841493 - Rename nsHTMLVideoElement to HTMLVideoElement, r=Ms2ger
--HG--
rename : content/html/content/public/nsHTMLVideoElement.h => content/html/content/public/HTMLVideoElement.h
rename : content/html/content/src/nsHTMLVideoElement.cpp => content/html/content/src/HTMLVideoElement.cpp
2013-03-19 13:27:35 +01:00
Andrea Marchesini
cddda5a105 Bug 841493 - Move HTMLMediaElement to WebIDL, r=Ms2ger 2013-03-19 13:25:19 +01:00
Andrea Marchesini
8c4773bbdb Bug 841493 - Rename nsHTMLMediaElement to HTMLMediaElement, r=Ms2ger
--HG--
rename : content/html/content/public/nsHTMLMediaElement.h => content/html/content/public/HTMLMediaElement.h
rename : content/html/content/src/nsHTMLMediaElement.cpp => content/html/content/src/HTMLMediaElement.cpp
2013-03-19 13:23:54 +01:00
Michael Wu
8f79945e7e Bug 848581 - Enable cubeb by default on Gonk. r=kinetik f=mchen 2013-03-19 16:43:37 +13:00
Ehsan Akhgari
ac4f501326 #include prlog.h inside StreamBuffer.cpp, no bug
--HG--
extra : rebase_source : 6c36b987691eb29e12f06a87e23030ea1b852f71
2013-03-18 23:29:51 -04:00
Ehsan Akhgari
b953c5fc81 Bug 852011 - Reserve 5 elements in MediaStream::mBlocked in order to avoid excessive cost when dealing with removals from it; r=roc
--HG--
extra : rebase_source : 480c95b4110dcd8355d08eacbbbe91f963d73239
2013-03-17 23:27:14 -04:00
Alessandro Decina
0c608b57f4 Bug 851906 - Restore compatibility with older GStreamer versions. r=doublec 2013-03-17 07:33:00 -07:00
Ed Morley
455e3b2b29 Bug 754860 - Disable test_bug726904.html on OS X for too many intermittent failures 2013-03-18 12:07:24 +00:00
Ehsan Akhgari
b0e43ad5a9 Bug 851986 - Avoid calling a virtual function when getting the source for an AudioNodeStream; r=roc 2013-03-17 21:26:45 -04:00
Ehsan Akhgari
c704fae974 Bug 851966 - Only store the produced AudioChunks for AudioNodeStreams that will result in playback; r=roc 2013-03-17 20:37:47 -04:00
Ehsan Akhgari
c7f2fefdff Bug 851949 - Avoid setting AudioParam values needlessly; r=roc 2013-03-17 15:57:15 -04:00
Ms2ger
2ef57946b1 Merge m-c to m-i. 2013-03-17 13:22:37 +01:00
Ms2ger
c4380f4933 Bug 845374 - Part r: Stop including nsTArray.h in nsReadableUtils.h; r=khuey 2013-03-17 08:55:16 +01:00
Ms2ger
a2173990cc Bug 845374 - Part l: Stop including nsIDocument.h in nsContentUtils.h and fix two nits; r=khuey 2013-03-17 08:55:15 +01:00
Ehsan Akhgari
efeba2e207 Bug 851603 - Enable Web Audio in Nightly; r=roc
--HG--
extra : rebase_source : b79d7f2cb0e6257eae2f65bd8637f718324b43f4
2013-03-16 01:35:22 -04:00
Ehsan Akhgari
da293697f1 Bug 851338 - Implement AudioContext.currentTime; r=roc 2013-03-14 21:01:02 -04:00
Ehsan Akhgari
636ad2fd16 Backed out changeset 6a23d4536079 (bug 851338) because of Android test failures 2013-03-15 01:26:22 -04:00
Ehsan Akhgari
4025fd2d19 Bug 851338 - Implement AudioContext.currentTime; r=roc
Landed on a CLOSED TREE, because I'm mad at X11!
2013-03-14 21:01:02 -04:00
Ehsan Akhgari
b68208c0b9 Backed out changeset a96fb85d42bf (bug 851338) because of Linux build failures
Landed on a CLOSED TREE
2013-03-14 23:53:27 -04:00
Ehsan Akhgari
30769cc4e2 Bug 851338 - Implement AudioContext.currentTime; r=roc
--HG--
extra : rebase_source : 064da119e26ca15e361c003a4fabe7d3fe77e256
2013-03-14 21:01:02 -04:00
Ehsan Akhgari
291ac6b013 Bug 850970 - Set the initial value of gain nodes on the audio stream to make sure that they don't mute playback; r=roc
--HG--
extra : rebase_source : caf58ca903665f8b3014451926cec9772969663f
2013-03-13 23:44:49 -04:00
Chris Double
3fbfe30c90 Bug 848639 - Prevent DecodeHeader for Ogg Skeleton tracks from failing on valid indexes - r=cpearce
--HG--
extra : rebase_source : cb913d45d6b9ab396b563391f3ccd096500dcef1
2013-03-14 13:57:18 +13:00
Ehsan Akhgari
7f69c3acc3 Bug 849713 - Part 5: Implement the looping logic in AudioBufferSourceNodeEngine; r=roc
The logic in this function is based around a while loop.  In every
iteration of the loop, we determine whether we need to output silence
(if we're at a position before the playback has started or after it has
stopped) or if we need to produce sound.  In each case, we call a helper
function which eagerly tries to produce as much silence or sound as
possible, while maintaining the constraints that are explained in the
comments in the code.
2013-03-10 21:02:22 -04:00
Ehsan Akhgari
433d1ce021 Bug 849713 - Part 4: Refactor the logic for borrowing the output buffer from the input buffer; r=roc 2013-03-10 18:38:57 -04:00
Ehsan Akhgari
0ce0f2bd3a Bug 849713 - Part 3: Set the loop parameters on AudioBufferSourceNodeEngine if looping is turned on when start() gets called; r=roc 2013-03-10 14:11:12 -04:00
Ehsan Akhgari
00b76071bf Bug 849713 - Part 2: Accept the loop parameters on AudioBufferSourceNodeEngine; r=roc 2013-03-10 13:59:41 -04:00
Ehsan Akhgari
1021312f2f Bug 849713 - Part 1: Add DOM bindings for AudioBufferSourceNode loop attributes; r=roc 2013-03-10 12:56:14 -04:00
Alessandro Decina
f1f8c03a5d Bug 761018 - GStreamer video buffer handling optimization; r=cdouble 2013-03-13 16:11:15 -04:00
Alessandro Decina
e78bb4b075 Bug 760140 - rework canPlayType in the GStreamer backend; r=cdouble 2013-03-13 16:10:47 -04:00
Alessandro Decina
b31fa67829 Bug 833628 - GStreamer backend has shutdown hang in content/media mochitests; r=cdouble
Fix stream length detection so that we don't report size=-1 to gst. Fixes issues
with qtdemux not liking unknown upstream byte size.
2013-03-13 16:09:20 -04:00
Jeff Walden
cc0ac55d6b Bug 847480 - Convert DeprecatedAbs overloads taking floating point (except for nscoord uses, when nscoord is optionally a floating point type) to Abs. r=Ms2ger 2013-03-05 15:43:44 -08:00
Jeff Walden
0bfefb7eed Bug 847480 - Blindly convert all existing mozilla::Abs users to mozilla::DeprecatedAbs. Individualized conversions to the reformed mozilla::Abs will continue until mozilla::DeprecatedAbs is unused, at which point it will be removed. r=Ms2ger 2013-03-05 15:43:30 -08:00
Randell Jesup
7e724d9df2 Bug 848401: switch from ReentrantMonitors and PR_Lock/Condvar to Monitor. Fix {picture:true} for desktop r=khuey,dao 2013-03-13 11:42:18 -04:00
Ehsan Akhgari
5932499c58 Bug 849916 - Part 4: Don't rely on things still being around when we run PannerNode's dtor, use a weak pointer instead; r=roc
--HG--
extra : rebase_source : 8432bea9035761fcb52e77dfc474de8878fc4372
2013-03-12 19:28:30 -04:00
Ehsan Akhgari
1caddc441d Bug 849916 - Part 3: Create an engine for PannerNodes and make sure that we deliver the panner and listener parameters to it; r=padenot 2013-03-12 14:34:55 -04:00
Ehsan Akhgari
c330537726 Bug 849916 - Part 2: Add helper functions for sending different argument types to the AudioNodeStream; r=padenot 2013-03-12 11:28:14 -04:00
Ehsan Akhgari
c2ba945142 Bug 849916 - Part 1: Make it possible to send ThreeDPoint objects as commands to the MSG thread; r=padenot 2013-03-12 11:16:42 -04:00
Ryan VanderMeulen
61ed64780f Backed out changesets 4ee69256f8f2, 2becc603eeb8, and afad1c17015e (bug 849916) for bustage on a CLOSED TREE. 2013-03-12 16:16:30 -04:00
Ehsan Akhgari
1f3c560323 Bug 849916 - Part 3: Create an engine for PannerNodes and make sure that we deliver the panner and listener parameters to it; r=padenot 2013-03-12 14:34:55 -04:00
Ehsan Akhgari
b17f67da6a Bug 849916 - Part 2: Add helper functions for sending different argument types to the AudioNodeStream; r=padenot 2013-03-12 11:28:14 -04:00
Ehsan Akhgari
1fc3470bd9 Bug 849916 - Part 1: Make it possible to send ThreeDPoint objects as commands to the MSG thread; r=padenot 2013-03-12 11:16:42 -04: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
Ehsan Akhgari
c911360a9e Bug 849914 - Implement the latest spec changes to PannerNode and AudioListener; r=roc 2013-03-11 19:09:27 -04:00
Masatoshi Kimura
e5e5a90814 Bug 848339 - Remove the vestigial boolean outparam from nsWrapperCache::WrapObject. r=bz 2013-03-12 08:03:47 +09:00
Chris Pearce
a0e25faf45 Bug 850021 - Change WMFSourceReaderCallback to use its own log so that we don't spam MediaDecoder NSPR log with uninteresting messages. r=padenot 2013-03-12 12:01:10 +13:00
Ehsan Akhgari
99d22150ac Backed out 4 changesets (bug 849713) since builds fail because of warnings as errors
Backed out changeset e811d4258d45 (bug 849713)
Backed out changeset 26aa58e87d5d (bug 849713)
Backed out changeset 9a6552161eff (bug 849713)
Backed out changeset 3551877d9b92 (bug 849713)

Landing on a CLOSED TREE
2013-03-11 16:14:42 -04:00
Ehsan Akhgari
97ca924450 Backed out changeset 151b845b0fa9 (bug 849713 part 5) because it has not been reviewed yet! 2013-03-11 15:31:14 -04:00
Ehsan Akhgari
67a4d01dcc Bug 849713 - Part 5: Implement the looping logic in AudioBufferSourceNodeEngine; r=roc
The logic in this function is mostly around the mLoop variable.  mLoop being
NotLooping means that the playback of this node is never going to loop, in
which case the logic doesn't change compared to the ProduceAudioBlock function
before this patch.

If the loop mode is turned on when start() is called, mLoop will initially be
WillLoop.  In that case, we play back until mLoopEnd, and then we will wrap
around to mLoopStart, set mLoop to be IsLooping, and start playback again.
From that point on, mLoop will always be IsLooping, and we will loop between
mLoopStart and mLoopEnd.  Where possible, we'll just use BorrowFromInputBuffer
to avoid copying the buffer, and if we hit the edges right around the time that
we loop, we copy some frames from the end of the input buffer and some from the
beginning in the memcpy loops at the end of the ProduceAudioBlock function.
2013-03-10 21:02:22 -04:00
Ehsan Akhgari
bf4150ba03 Bug 849713 - Part 4: Refactor the logic for borrowing the output buffer from the input buffer; r=roc 2013-03-10 18:38:57 -04:00
Ehsan Akhgari
3ebb3793d6 Bug 849713 - Part 3: Set the loop parameters on AudioBufferSourceNodeEngine if looping is turned on when start() gets called; r=roc 2013-03-10 14:11:12 -04:00
Ehsan Akhgari
dca28d002b Bug 849713 - Part 2: Accept the loop parameters on AudioBufferSourceNodeEngine; r=roc 2013-03-10 13:59:41 -04:00
Ehsan Akhgari
e39bc33233 Bug 849713 - Part 1: Add DOM bindings for AudioBufferSourceNode loop attributes; r=roc 2013-03-10 12:56:14 -04:00
Paul Adenot
ccf2d2ab5f Bug 846612 - r=kinetik 2013-03-04 15:48:58 +01:00
Matthew Gregan
2f67cab8ff Bug 849519 - Raise INDEX_SIZE_ERR if media element volume is set to NaN. r=doublec 2013-03-11 11:11:23 +13:00
Ehsan Akhgari
221a66e469 Bug 849652 - Copy enough number of bytes in AudioBufferSourceNode::ProduceAudioBlock's memcpy loop; r=roc 2013-03-10 17:37:40 -04:00
Ms2ger
7346e6fa49 Bug 821383 - Don't bother with JSAPI magic in nsHTMLMediaElement::{G,S}etMozSrcObject; r=bz+roc 2013-03-10 08:58:18 +01:00
Sotaro Ikeda
269dd694f1 Bug 803471 - Part 5b - Change OmxDecode to use GonkNativeWindowClient. r=cdouble 2013-03-08 14:43:33 -05:00
Sotaro Ikeda
1f005c4979 Bug 803471 - Part 2 - Use OmxClient in OmxDecoder. r=cdouble 2013-03-08 14:43:32 -05:00
Ehsan Akhgari
f3584f29e9 Bug 849106 - Adjust the fuzz tolerance value for small-shot.ogg on mobile 2013-03-08 13:07:21 -05:00
Ehsan Akhgari
422eb58946 Bug 849230 - Limit the range of sample rates accepted by AudioContext.createBuffer according to the spec; r=padenot 2013-03-08 12:29:00 -05:00
Paul Adenot
3b923324a1 Bug 846687 - Set the transport as non-seekable if the server sends Accept-Ranges, but no Content-Length. r=cpearce 2013-03-01 19:55:01 +01:00
Ehsan Akhgari
365a8ed207 Bug 848651 - Part 2: Log an error to the Web Console if we run out of memory while trying to resample an AudioBuffer for playback; r=padenot 2013-03-08 11:49:56 -05:00
Ehsan Akhgari
7932939ef7 Bug 848651 - Part 1: Implement resampling of audio buffers to be able to play back buffers with a different sample rate than the AudioContext; r=padenot 2013-03-07 18:14:46 -05:00
John Schoenick
cf1c93c545 Bug 849067 - Unbreak gstreamer builds again. r=cpearce 2013-03-07 17:44:00 -08:00
Randell Jesup
8161849c3d Bug 839650: Add debugs to MediaStreamGraph to ease investigation of issues in the future r=roc 2013-03-07 03:53:45 -05:00
Ed Morley
b360848aef Backed out changeset be1ee54becf4 (bug 839650) for build failures 2013-03-07 09:10:47 +00:00
Randell Jesup
07aff4ee8e Bug 839650: Add debugs to MediaStreamGraph to ease investigation of issues in the future r=roc 2013-03-07 03:53:45 -05:00
Ehsan Akhgari
f1162f8a7e Bug 846329 - Fix decodeAudioData to decode all channels and not only the first one; r=padenot 2013-03-04 21:27:13 -05:00
Thomas Zimmermann
a827f88509 Bug 834172 - Remove GStreamer flags from webaudio Makefile. r=cpearce
With the move of all codec-specific code to DecoderTraits, there is no
need to pass compiler flags for GStreamer when building the webaudio
library. This patch updates the Makefile template accordingly.
2013-03-05 09:56:35 -05:00
Thomas Zimmermann
2a8d1c91ec Bug 834172 - Don't export codec functions from DecoderTraits. r=cpearce
All codec-specific code is hidden within DecoderTraits and available
from generic interfaces. This patch removes the codec-specific
functions from DecoderTraits' public interface.
2013-03-05 09:56:35 -05:00
Thomas Zimmermann
d765f43ada Bug 834172 - Implement CreateReader in DecoderTraits. r=cpearce
MediaDecoderReaders are now created from within DecoderTraits. The
codec-specific code has been removed from class MediaDecodeTask.
2013-03-05 09:56:35 -05:00
Thomas Zimmermann
6834113fd7 Bug 834172 - Implement IsSupportedTypeInVideo in DecoderTraits. r=cpearce
This change moves the policy of supported media types in the element
nsHTMLMediaElement to the DecoderTraits class. The codec-specific code
has been removed from the media element.
2013-03-05 09:56:35 -05:00
Thomas Zimmermann
440e1b05d5 Bug 834172 - Implement CreateDecoder in DecoderTraits. r=cpearce
The class DecoderTraits knows about all supported decoders. Adding
an interface to create decoder instances simplifies all users of this
functionality. nsHtmlMediaElement has been updated to use the new
function.
2013-03-05 09:56:34 -05:00
Ehsan Akhgari
709fd4d1d0 Bug 836076 - Part 6: Hook up GainNode to the MediaStreams back-end to enable controlling the volume of the audio being played back; r=roc 2013-01-29 18:37:51 -05:00
Ehsan Akhgari
96675faa14 Bug 836076 - Part 5: Provide an API for converting event times to tick values; r=roc 2013-03-01 17:06:03 -05:00
Ehsan Akhgari
b790243c8c Bug 836076 - Part 4: Move AudioEventTimeline::Event outside of AudioEventTimeline to be able to specialize its template members; r=roc 2013-03-01 17:01:43 -05:00
Ehsan Akhgari
766db4d452 Bug 845960 - Fix a crash resulted from a missing nullcheck for the optional failure callback of decodeAudioData; r=bzbarsky 2013-03-04 23:04:51 -05:00
Randell Jesup
86187459da Bug 842715: Refactor gUM prefs use to be on mainthread, and prepare for constraints r=derf 2013-03-04 16:02:17 -05:00
Steve Workman
9229fd1990 Bug 838315 - Avoid race condition for switching during a seek r=cpearce 2013-03-01 11:52:39 -08:00
Jeff Walden
bf23cd54f1 Bug 835542 - Implement mozilla::Abs. r=Ms2ger
--HG--
extra : rebase_source : a3e62ff76365d27cc4cb10e4fee942ddb8b10b79
2013-02-15 19:55:36 -08:00
Mike Hommey
894c949d86 Bug 842327 - Move libomxplugin* at the root of the apk. r=doublec,r=khuey 2013-03-04 19:34:03 +01:00
Alessandro Decina
71733bb192 Bug 808319 - Fix some GCC warnings in GStreamerReader.cpp r=rillian,alessandro.d 2013-03-03 23:56:00 -08:00
Ryan VanderMeulen
b083e97964 Backed out 5 changesets (bug 834172) for Android build bustage. 2013-03-04 11:17:36 -05:00
Thomas Zimmermann
eb41d232f1 Bug 834172 - Remove GStreamer flags from webaudio Makefile. r=cpearce
With the move of all codec-specific code to DecoderTraits, there is no
need to pass compiler flags for GStreamer when building the webaudio
library. This patch updates the Makefile template accordingly.
2013-03-04 10:24:45 -05:00
Thomas Zimmermann
b94624310d Bug 834172 - Don't export codec functions from DecoderTraits. r=cpearce
All codec-specific code is hidden within DecoderTraits and available
from generic interfaces. This patch removes the codec-specific
functions from DecoderTraits' public interface.
2013-03-04 10:24:45 -05:00
Thomas Zimmermann
d496d84db9 Bug 834172 - Implement CreateReader in DecoderTraits. r=cpearce
MediaDecoderReaders are now created from within DecoderTraits. The
codec-specific code has been removed from class MediaDecodeTask.
2013-03-04 10:24:45 -05:00
Thomas Zimmermann
c2d0a094e1 Bug 834172 - Implement IsSupportedTypeInVideo in DecoderTraits. r=cpearce
This change moves the policy of supported media types in the element
nsHTMLMediaElement to the DecoderTraits class. The codec-specific code
has been removed from the media element.
2013-03-04 10:24:44 -05:00
Thomas Zimmermann
238bf6661d Bug 834172 - Implement CreateDecoder in DecoderTraits. r=cpearce
The class DecoderTraits knows about all supported decoders. Adding
an interface to create decoder instances simplifies all users of this
functionality. nsHtmlMediaElement has been updated to use the new
function.
2013-03-04 10:24:44 -05:00
Ed Morley
b7f42c6f3a Backed out changeset 9a0c5073da59 (bug 846687) for test_seek.html failures 2013-03-04 11:25:08 +00:00
Paul Adenot
8434bba8b7 Bug 846687 - Set the transport as non-seekable if the server sends Accept-Ranges, but no Content-Duration. r=cpearce 2013-03-01 19:55:01 +01:00
Benjamin Peterson
55ff8209de Bug 847088 followup - Reference type with correct namespace. 2013-03-03 13:27:36 -05:00
Andrea Marchesini
59319ae1e2 Bug 847088 - Fix gstreamer backend, which was broken by TimeRange changes. r=benjamin
--HG--
extra : amend_source : c1780a6d76ba11d0123d0637b4a8c0b95ac57f90
2013-03-03 12:01:05 -05:00
Andrea Marchesini
b57856b7a9 Bug 841014 - Rename nsTimeRanges.h to TimeRanges.h. r=Ms2ger
--HG--
rename : content/html/content/src/nsTimeRanges.cpp => content/html/content/src/TimeRanges.cpp
rename : content/html/content/src/nsTimeRanges.h => content/html/content/src/TimeRanges.h
2013-03-02 14:14:44 -05:00
Ms2ger
ccda7b03ed Bug 846769 - Allow up to five assertions in test_seek.html. 2013-03-02 10:23:39 +01:00
Paul Adenot
51f09d7652 Bug 846769 - The assertion also happens on Linux, pushing on a CLOSED TREE. r=RyanVM 2013-03-01 17:58:12 +01:00
Paul Adenot
50b77d481a Bug 846769 - Another assertion can happen, and is not windows-only, on a CLOSED TREE r=RyanVM 2013-03-01 17:08:54 +01:00
Paul Adenot
2be52b930c Bug 634747 - Expect some assertions on windows on test_seek.html while we investigate. r=edmorley 2013-03-01 15:18: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
Paul Adenot
8516332d80 Bug 846320 - Offset mBasePosition by mStartTime when seeking. r=kinetik 2013-02-28 16:05:50 +01:00
Paul Adenot
195ddd726f Bug 846320 - Remove SimpleTest.expectAssertions in test_seek.html. r=dbaron 2013-02-28 16:07:58 +01:00
L. David Baron
509b5b78a3 Bug 404077: Adjust annotations of expected assertions. 2013-02-28 17:59:07 -08:00
L. David Baron
a5d7289b7f Bug 404077: Adjust annotations of expected assertions. 2013-02-28 12:44:57 -08:00
Paul Adenot
59be084d8b Bug 845676 - Remove most of the assertion annotations in the content/media mochitests. r=dbaron 2013-02-28 18:33:28 +01:00
Paul Adenot
84f0d299f7 Bug 845676 - Initialize mPausedForPlaybackRateNull in MediaDecoder constructor to prevent an assertion. r=kinetik 2013-02-27 20:38:11 +01:00
Ehsan Akhgari
9fdf2c4139 Bug 838065 - Re-enable the decodeAudioData tests; r=roc 2013-02-27 16:59:46 -05:00
Randell Jesup
748cbd01e5 Bug 846103: Make MediaStream::RemoveListener() callable on Destroy()ed streams r=roc 2013-02-28 14:53:38 -05:00
Ms2ger
3813557cac Merge m-i to b-s. 2013-02-28 14:46:10 +01:00
Gregory Szorc
89d297a677 Merge mozilla-central into build-system
The 3 merged files had no conflicts and were manually verified to ensure
no incompatible changes crept in.
2013-02-27 21:02:02 -08:00
Gregory Szorc
f0b7e3972c Merge mozilla-central into build-system
There were merges in configure.in and some Makefile.in. None had any
conflicts. I spot verified the Makefile.in changes and confirmed that
the changes did not touch any DIRS* variables.
2013-02-27 10:03:52 -08:00
Ed Morley
94361edb30 Backed out changeset dba7a059ed22 (bug 843214) 2013-02-27 12:49:26 +00:00
Ms2ger
cd9c6150fe Merge m-c to b-s. 2013-02-26 19:09:25 +01:00
Gregory Szorc
aa0fed2e03 Bug 784841 - Part 18g: Convert /content; r=glandium 2013-02-25 12:47:19 -08:00
Robert O'Callahan
4dd110ae0a Bug 843214. Make SourceMediaStream::AddTrack/AppendToTrack/HaveEnoughBuffered/DispatchWhenNotEnoughBuffered/EndTrack smoothly handle cases where track does not exist. r=jesup
--HG--
extra : rebase_source : adcfa0e92b5e498c597e16e013fdcba2dae4b8e5
2013-02-25 22:25:07 +13:00
L. David Baron
239da2d4cf Bug 404077: Adjust annotations of expected assertions. 2013-02-27 10:37:19 -08:00
Robert O'Callahan
d96eb1e910 Bug 843214. Make SourceMediaStream::AddTrack/AppendToTrack/HaveEnoughBuffered/DispatchWhenNotEnoughBuffered/EndTrack smoothly handle cases where track does not exist. r=jesup 2013-02-25 22:25:07 +13:00
L. David Baron
b00a9d9c85 Bug 404077: Adjust annotations of expected assertions. CLOSED TREE 2013-02-27 18:12:17 -08:00
L. David Baron
9b9f1bc887 Bug 404077: Adjust annotations of expected assertions. CLOSED TREE 2013-02-27 17:58:48 -08:00
L. David Baron
6b7cbbeff9 Bug 404077: Adjust annotations of expected assertions. 2013-02-27 15:50:10 -08:00
L. David Baron
a144cc1c82 Bug 404077: Use navigator.platform.startsWith rather than navigator.platform.indexOf, at Jesse's suggestion. 2013-02-26 22:23:08 -08:00
Chris Pearce
3c0c6442cc Bug 841239 - Have HTMLMediaElement.canPlayType respond affirmatively to codecs=mp3 and audio/x-m4a. r=padenot 2013-02-27 09:27:43 +13:00
Bobby Holley
d1a3436036 Bug 834732 - Audit callers of GetNativeContext and use AutoPushJSContext where appropriate. r=mrbkap 2013-02-26 11:04:13 -08:00
Jacek Caban
c7103f6a75 Bug 844905 - Change MediaResource::GetContentType return type to nsCString. r=cpearce 2013-02-26 12:02:20 +01:00
Ehsan Akhgari
de96c8d8a2 Bug 836072 - Validate the arguments to AudioParam.exponentialRampToValueAtTime() correctly; r=roc
--HG--
extra : rebase_source : 4da10bc054e2d978b3639a537bd46b2614586647
2013-01-29 18:30:22 -05:00
Paul Adenot
3e799924f5 Bug 844951 - Setting playbackRate and mozPreservesPitch before the decoder creation should work. r=kinetik 2013-02-26 09:52:23 +01:00
Paul Adenot
c4b8755bcd Bug 844563 - Crash [@ mozilla::MediaDecoder::SetPreservesPitch], add tests. r=kinetik 2013-02-26 09:52:11 +01:00
L. David Baron
57d19fbb86 Bug 404077: Annotate known assertions in mochitests. 2013-02-25 18:39:21 -08:00
Ryan VanderMeulen
de0eaf91ad Backed out changeset 78c3801aed19 (bug 825329) for intermittent orange. 2013-02-22 11:45:32 -05:00
Paul Adenot
5b1a9444bb Bug 825329 - Properly implement AudioStream::GetPlaybackRate. r=kinetik 2012-12-28 23:01:38 +01:00
Daniel Holbert
05681efc3b Bug 843929 - Part 3: Add '(void) mFps' to silence Wunused-private-field warnings, until the code that uses it is turned on. r=jesup 2013-02-22 06:59:45 -05:00
Daniel Holbert
b473241461 Bug 843929 - Part 2: Add '(void) mEchoCancel' to silence Wunused-private-field warnings, until the code that uses it is turned on. r=jesup 2013-02-22 06:59:29 -05:00
Daniel Holbert
37c9f647b8 Bug 843929 - Part 1: Remove no-longer-used private variables mTrackID & mLastEndTime from MediaEngineWebRTCVideoSource. r=jesup 2013-02-22 06:59:11 -05:00
Randell Jesup
2aa1ac6953 Bug 842715: add prefs for default getUserMedia resolution r=derf 2013-02-20 10:18:54 -05:00
Chris Pearce
bb134603da Bug 830171 - Use SourceReader in async mode to better allow shutdown on MediaResource close. r=padenot 2013-02-15 21:35:48 +13:00
Chris Pearce
e173641f7a Bug 839031 - Block non-whitelisted WMF decoder objects. r=padenot 2013-02-15 14:11:17 +13:00
Chris Pearce
bb977ef1dd Bug 839031 - Report Content-Type on WMFByteStream to faciliate WMF selecting the right decoder. r=padenot 2013-02-15 14:11:05 +13:00
Chris Pearce
45033dda72 Bug 839031 - Store the Content-Type/MIME-Type on MediaResource. r=padenot 2013-02-15 14:10:58 +13:00
Chris Pearce
cdb4ce8a93 Bug 839031 - Implement WMFByteStream::Read(). r=padenot 2013-02-15 14:10:21 +13:00
Chris Pearce
60bc3aeda7 Bug 839055 - Refuse to play a video file with WMF which has corrupt or unplayable video or audio streams. r=padenot 2013-02-15 12:54:27 +13:00
Peter Van der Beken
490e9a4afd Fix for bug 839529 (Remove various CC participants that don't do anything). r=smaug.
--HG--
extra : rebase_source : 8a272905c79396e7ae08aaaf83566ac450c45be0
2013-02-07 10:19:08 +00:00
Sotaro Ikeda
06b641ac00 Bug 840154 - Do not release MediaBuffer during OMXCodec is seeking. r=cdouble 2013-02-15 21:27:18 -05:00
Robert O'Callahan
8192e0a0c4 Bug 837034. Part 2: Convert DOMMediaStream to use WebIDL. r=peterv,jesup
--HG--
rename : content/media/nsDOMMediaStream.cpp => content/media/DOMMediaStream.cpp
rename : content/media/nsDOMMediaStream.h => content/media/DOMMediaStream.h
extra : rebase_source : 483fca748444db20ed0d35cb586485f277e1808c
2013-02-15 21:04:11 +13:00
Robert O'Callahan
ca6fcfb8f3 Bug 837034. Part 1: Rename nsDOM(Local)MediaStream to DOM(Local)MediaStream and put them in the mozilla namespace. r=jesup
--HG--
rename : content/media/nsDOMMediaStream.cpp => content/media/DOMMediaStream.cpp
rename : content/media/nsDOMMediaStream.h => content/media/DOMMediaStream.h
extra : rebase_source : 6fd3f71779b4ecb9d3b053b6cd844c2ff0c25f80
2013-02-15 21:01:58 +13:00
Ryan VanderMeulen
416cda2e64 Merge the last PGO-green inbound changeset to m-c. 2013-02-14 17:16:49 -05:00
Randell Jesup
3da3d3f210 Bug 829907: release video capture device on MainThread (mac only) r=bsmedberg 2013-02-14 14:59:27 -05:00
Paul Adenot
70170b475b Bug 828901 - Get the seek time as mBasePosition instead of the stream position in video-only stream when changing the playbackRate and seeking at the same time. r=kinetik 2013-01-10 12:26:18 +01:00
Matthew Gregan
c9185ce652 Bug 841020 - Restore missing SetVolume when initializing AudioStream. r=cpearce 2013-02-14 10:57:46 +13:00
Andrew McCreight
8fb2f37eed Bug 839753 - Fix up CC implementation for AudioDestinationNode. r=smaug 2013-02-12 08:42:59 -08:00
Ivaylo Dimitrov
27f054a170 Bug 836243 - Relax gstreamer version requirement. r=alessandro.d 2013-02-13 10:37:49 -08:00
Oleg Romashin
0c161d0242 Bug 834323 - Consider to remove hardcoded samplerate from gstreamer pipeline. r=alessandro, f=rillian 2013-02-13 10:35:35 -05:00
Boris Zbarsky
880e764352 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
0d7005df64 Bug 839175 - missing using namespace dom in MediaBufferDecoder.cpp, r=roc 2013-02-11 22:56:57 +01:00
Matthew Gregan
af70a2cd1e Bug 837430 - Don't hold the decoder monitor while initializing AudioStreams. r=cpearce 2013-02-08 13:46:33 +13:00
Chris Pearce
24490a70f5 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
349a3e90c7 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
01a3e2e409 Back out 6a5dcf166f09 (bug 836072) for build bustage
CLOSED TREE
2013-02-07 21:35:08 -08:00
Ehsan Akhgari
0bde2b2244 Bug 836072 - Validate the arguments to AudioParam.exponentialRampToValueAtTime() correctly; r=roc 2013-01-29 18:30:22 -05:00
Philip Chee
032d4a3e20 Bug 838537 - Fix the build for VS2008. r=padenot 2013-02-06 20:59:12 +08:00
Ehsan Akhgari
b5d92eaf5e 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
661babfc7c 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
11dc6d17d3 Bug 836599 - Part 4: Make MediaStreamGraphStableStateRunnable know about its owner graph; r=roc 2013-02-01 15:20:32 -05:00
Ehsan Akhgari
9de9f6ffbe Bug 836599 - Part 3: Make MediaStreamGraphThreadRunnable know about its owner graph; r=roc 2013-02-01 15:13:32 -05:00
Ehsan Akhgari
2d219bdba7 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
8a790ac960 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
bb3a613b83 Bug 837427 - Include gstreamer cflags in content/media/webaudio; r=ehsan 2013-02-05 13:34:19 -05:00
Ehsan Akhgari
f39e83f1de 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
332078a8e8 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
b25088eff4 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
1bf3a44ce2 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
c9672d8e62 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
088271f880 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
f76919f8a0 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
945784894e 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
7654ac0348 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
edc4fc64a2 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
e24fa5a4c9 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
32ddb352da 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
a83ff07d2b 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
2785a28dd0 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
07374ef1bf 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