Commit Graph

1851 Commits

Author SHA1 Message Date
Ehsan Akhgari
23fe293fd5 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
72481e9809 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
fb1219f850 Bug 849713 - Part 2: Accept the loop parameters on AudioBufferSourceNodeEngine; r=roc 2013-03-10 13:59:41 -04:00
Ehsan Akhgari
7d077bc2cd Bug 849713 - Part 1: Add DOM bindings for AudioBufferSourceNode loop attributes; r=roc 2013-03-10 12:56:14 -04:00
Paul Adenot
1b9880b25e Bug 846612 - r=kinetik 2013-03-04 15:48:58 +01:00
Matthew Gregan
d7b34df28c 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
960e9fb343 Bug 849652 - Copy enough number of bytes in AudioBufferSourceNode::ProduceAudioBlock's memcpy loop; r=roc 2013-03-10 17:37:40 -04:00
Ms2ger
0655b72f9d 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
ecebfc145e Bug 803471 - Part 5b - Change OmxDecode to use GonkNativeWindowClient. r=cdouble 2013-03-08 14:43:33 -05:00
Sotaro Ikeda
4d3c927c6e Bug 803471 - Part 2 - Use OmxClient in OmxDecoder. r=cdouble 2013-03-08 14:43:32 -05:00
Ehsan Akhgari
864b77606f Bug 849106 - Adjust the fuzz tolerance value for small-shot.ogg on mobile 2013-03-08 13:07:21 -05:00
Ehsan Akhgari
57f1fe49f8 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
4e28d37be4 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
72c22e72bf 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
f72f2cc00d 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
641d5f2a6c Bug 849067 - Unbreak gstreamer builds again. r=cpearce 2013-03-07 17:44:00 -08:00
Randell Jesup
32de0d2510 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
c812c5d9f0 Backed out changeset be1ee54becf4 (bug 839650) for build failures 2013-03-07 09:10:47 +00:00
Randell Jesup
7364d8f8e9 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
0343d8a94f 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
4c60c029bd 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
dd35d44942 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
00c7a35b3f 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
0b33333206 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
3f3ba124ad 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
3752b6a571 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
e7fa51e726 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
3efc9b4242 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
0d68519dd2 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
c92ed777f4 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
eeeff3c18a Bug 838315 - Avoid race condition for switching during a seek r=cpearce 2013-03-01 11:52:39 -08:00
Jeff Walden
1871e9f3f8 Bug 835542 - Implement mozilla::Abs. r=Ms2ger
--HG--
extra : rebase_source : a3e62ff76365d27cc4cb10e4fee942ddb8b10b79
2013-02-15 19:55:36 -08:00
Mike Hommey
6f9f0e63b2 Bug 842327 - Move libomxplugin* at the root of the apk. r=doublec,r=khuey 2013-03-04 19:34:03 +01:00
Alessandro Decina
2f8be452a2 Bug 808319 - Fix some GCC warnings in GStreamerReader.cpp r=rillian,alessandro.d 2013-03-03 23:56:00 -08:00
Ryan VanderMeulen
47aa8f5a0b Backed out 5 changesets (bug 834172) for Android build bustage. 2013-03-04 11:17:36 -05:00
Thomas Zimmermann
e8867cbcfe 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
21980a8156 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
81df5828a7 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
d634135a54 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
bad04aa1d2 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
16c652ac7d Backed out changeset 9a0c5073da59 (bug 846687) for test_seek.html failures 2013-03-04 11:25:08 +00:00
Paul Adenot
aff56c1a2c 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
1510d945c6 Bug 847088 followup - Reference type with correct namespace. 2013-03-03 13:27:36 -05:00
Andrea Marchesini
d3300ae125 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
2de1d7cad4 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
6afbfa87f0 Bug 846769 - Allow up to five assertions in test_seek.html. 2013-03-02 10:23:39 +01:00
Paul Adenot
127305a140 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
8649f9122a 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
fcf3aa7ec0 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
d103fc2cea 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
b521312737 Bug 846320 - Offset mBasePosition by mStartTime when seeking. r=kinetik 2013-02-28 16:05:50 +01:00
Paul Adenot
61616fe6ab Bug 846320 - Remove SimpleTest.expectAssertions in test_seek.html. r=dbaron 2013-02-28 16:07:58 +01:00
L. David Baron
0c9f5b4949 Bug 404077: Adjust annotations of expected assertions. 2013-02-28 17:59:07 -08:00
L. David Baron
7f46d4198e Bug 404077: Adjust annotations of expected assertions. 2013-02-28 12:44:57 -08:00
Paul Adenot
3fc6dcfcc8 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
c6f168b33a Bug 845676 - Initialize mPausedForPlaybackRateNull in MediaDecoder constructor to prevent an assertion. r=kinetik 2013-02-27 20:38:11 +01:00
Ehsan Akhgari
96ff7c5a62 Bug 838065 - Re-enable the decodeAudioData tests; r=roc 2013-02-27 16:59:46 -05:00
Randell Jesup
0c0072ee92 Bug 846103: Make MediaStream::RemoveListener() callable on Destroy()ed streams r=roc 2013-02-28 14:53:38 -05:00
Ms2ger
8fedd090cc Merge m-i to b-s. 2013-02-28 14:46:10 +01:00
Gregory Szorc
e1b210ddf6 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
0c8ee65118 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
d9ab95bc30 Backed out changeset dba7a059ed22 (bug 843214) 2013-02-27 12:49:26 +00:00
Ms2ger
aea301eee3 Merge m-c to b-s. 2013-02-26 19:09:25 +01:00
Gregory Szorc
72ed2beb7b Bug 784841 - Part 18g: Convert /content; r=glandium 2013-02-25 12:47:19 -08:00
Robert O'Callahan
3e2e757ae7 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
d062798712 Bug 404077: Adjust annotations of expected assertions. 2013-02-27 10:37:19 -08:00
Robert O'Callahan
2a0a9d9363 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
31c36af539 Bug 404077: Adjust annotations of expected assertions. CLOSED TREE 2013-02-27 18:12:17 -08:00
L. David Baron
b71f255ba0 Bug 404077: Adjust annotations of expected assertions. CLOSED TREE 2013-02-27 17:58:48 -08:00
L. David Baron
96ed8200e8 Bug 404077: Adjust annotations of expected assertions. 2013-02-27 15:50:10 -08:00
L. David Baron
49b7670edf 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
a96f6b66a2 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
7b9176007d Bug 834732 - Audit callers of GetNativeContext and use AutoPushJSContext where appropriate. r=mrbkap 2013-02-26 11:04:13 -08:00
Jacek Caban
edf78018f2 Bug 844905 - Change MediaResource::GetContentType return type to nsCString. r=cpearce 2013-02-26 12:02:20 +01:00
Ehsan Akhgari
67842b1676 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
4b1a05154c Bug 844951 - Setting playbackRate and mozPreservesPitch before the decoder creation should work. r=kinetik 2013-02-26 09:52:23 +01:00
Paul Adenot
e305b42bab Bug 844563 - Crash [@ mozilla::MediaDecoder::SetPreservesPitch], add tests. r=kinetik 2013-02-26 09:52:11 +01:00
L. David Baron
a8ee400190 Bug 404077: Annotate known assertions in mochitests. 2013-02-25 18:39:21 -08:00
Ryan VanderMeulen
41fb70bab2 Backed out changeset 78c3801aed19 (bug 825329) for intermittent orange. 2013-02-22 11:45:32 -05:00
Paul Adenot
e4c13a1319 Bug 825329 - Properly implement AudioStream::GetPlaybackRate. r=kinetik 2012-12-28 23:01:38 +01:00
Daniel Holbert
66efd519cb 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
ea3ff29b53 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
3fd7fcc4f5 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
3c494ef8b0 Bug 842715: add prefs for default getUserMedia resolution r=derf 2013-02-20 10:18:54 -05:00
Chris Pearce
9e930cf22a 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
cde91fdfdc Bug 839031 - Block non-whitelisted WMF decoder objects. r=padenot 2013-02-15 14:11:17 +13:00
Chris Pearce
4aa3ebef1a 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
add497074c Bug 839031 - Store the Content-Type/MIME-Type on MediaResource. r=padenot 2013-02-15 14:10:58 +13:00
Chris Pearce
8562d13911 Bug 839031 - Implement WMFByteStream::Read(). r=padenot 2013-02-15 14:10:21 +13:00
Chris Pearce
60678029fa 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
c1b3c1ac36 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
4968afff3b Bug 840154 - Do not release MediaBuffer during OMXCodec is seeking. r=cdouble 2013-02-15 21:27:18 -05:00
Robert O'Callahan
2c25988734 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
a019386f6d 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
f0a8ded71f Merge the last PGO-green inbound changeset to m-c. 2013-02-14 17:16:49 -05:00
Randell Jesup
4c966d0634 Bug 829907: release video capture device on MainThread (mac only) r=bsmedberg 2013-02-14 14:59:27 -05:00
Paul Adenot
89fefa9d1b 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
ed19a67a40 Bug 841020 - Restore missing SetVolume when initializing AudioStream. r=cpearce 2013-02-14 10:57:46 +13:00
Andrew McCreight
55aaf1428b Bug 839753 - Fix up CC implementation for AudioDestinationNode. r=smaug 2013-02-12 08:42:59 -08:00
Ivaylo Dimitrov
3d174e413f Bug 836243 - Relax gstreamer version requirement. r=alessandro.d 2013-02-13 10:37:49 -08:00
Oleg Romashin
82101c92aa Bug 834323 - Consider to remove hardcoded samplerate from gstreamer pipeline. r=alessandro, f=rillian 2013-02-13 10:35:35 -05:00
Boris Zbarsky
e4fca1d362 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
4d8cdcfdc7 Bug 839175 - missing using namespace dom in MediaBufferDecoder.cpp, r=roc 2013-02-11 22:56:57 +01:00
Matthew Gregan
2e9b709251 Bug 837430 - Don't hold the decoder monitor while initializing AudioStreams. r=cpearce 2013-02-08 13:46:33 +13:00
Chris Pearce
c212ead930 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
338e5db435 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
396989e0d1 Back out 6a5dcf166f09 (bug 836072) for build bustage
CLOSED TREE
2013-02-07 21:35:08 -08:00
Ehsan Akhgari
e3038bac91 Bug 836072 - Validate the arguments to AudioParam.exponentialRampToValueAtTime() correctly; r=roc 2013-01-29 18:30:22 -05:00
Philip Chee
78c8ab0d60 Bug 838537 - Fix the build for VS2008. r=padenot 2013-02-06 20:59:12 +08:00
Ehsan Akhgari
2aa183ac51 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
b82b93b9cf 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
0df983d37e Bug 836599 - Part 4: Make MediaStreamGraphStableStateRunnable know about its owner graph; r=roc 2013-02-01 15:20:32 -05:00
Ehsan Akhgari
cb20e06c0d Bug 836599 - Part 3: Make MediaStreamGraphThreadRunnable know about its owner graph; r=roc 2013-02-01 15:13:32 -05:00
Ehsan Akhgari
df869bd396 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
716d8fc6ff 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
e52d9ba39e Bug 837427 - Include gstreamer cflags in content/media/webaudio; r=ehsan 2013-02-05 13:34:19 -05:00
Ehsan Akhgari
618903f6dd 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
e91dfed6d9 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
4d4c80780d 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
82d28f9347 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
d612b5d8ca 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
c0ece4b4f5 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
569f78ecf3 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
e3a1dc160c 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
3dc4ffe44f 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
ee5a02020e 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
3805f43d67 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
5beed32fe1 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
8aa1726970 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
327efad3e3 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
a30c2de902 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
e945b5a3e3 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
8f4990d761 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
81075674d3 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
3f79e8f932 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
e37353007a 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
9b629eb383 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
d73147686a 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
73b9ff03bf Bug 804387. Part 11: Fix testcase to expect correct sample rate. r=roc 2013-01-25 16:44:28 -05:00
Ehsan Akhgari
4eea296830 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
dd57723337 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
b742aee0ca 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
577de895c2 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
e52389b859 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
a0370c8996 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
ecee34f342 Bug 804387. Part 6: ChangeExplicitBlockerCountImpl takes a GraphTime, not a StreamTime. r=jesup 2013-02-04 23:04:26 +13:00
Robert O'Callahan
1997c7a4ae Bug 804387. Part 5: Add MediaStream::GraphTimeToStreamTimeOptimistic and MediaStream::StreamTimeToGraphTime. r=jesup 2013-02-04 23:04:26 +13:00
Robert O'Callahan
8defcc955a 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
f1afdc6271 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
795183a674 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
c04c9f1ccd 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
68259c6166 Bug 804387. Part 1: Make AllocateInputPort addref the returned port. r=jesup 2012-11-23 11:25:05 +13:00
Chris Pearce
bbf9501e40 Bug 836927 - Bustage fix. r=bustage 2013-02-05 10:57:29 +13:00
Chris Pearce
35b36ead15 Bug 836927 - Make WMFByteStream bug compatible with WMF's IMFByteStream implementation. r=padenot 2013-02-05 10:34:23 +13:00
Chris Pearce
e12b195a7a 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
58c421702e Export MediaBufferDecoder.h, no bug 2013-02-04 13:16:57 -05:00
Paul Adenot
3a12c21fae Bug 804875 - Change the test, because mozFrameDelay can be 0, on a CLOSED TREE. 2013-02-04 17:37:53 +01:00
Paul Adenot
c58c922a45 Bug 804875 - Fix bustage on a CLOSED TREE. r=me 2013-02-04 15:21:44 +01:00
Matthew Gregan
bf6ee19251 Bug 835075 - Modify the mochitest. r=padenot 2013-02-04 14:08:47 +01:00
Paul Adenot
84717bf861 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
1d2c64e30f 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
c4bcc40fde Bug 804875 - Reset media element when loading a new src. r=kinetik 2012-12-27 16:21:30 +01:00
Ehsan Akhgari
1b4881afb5 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
47b2a30d20 Bug 792263 - Implement decodeAudioData; r=bzbarsky,cpearce,padenot 2013-02-01 17:13:23 -05:00
L. David Baron
d309c1e3f1 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
4e5c2a4b8a 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
f7ccb1d31c 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
52c31286c9 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
df228b8f85 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
3d233cb2a2 Bug 813562 - Test case for garbled DASH MPD and WebM media r=cpearce 2013-01-31 18:41:26 -08:00
Steve Workman
93099ed3d1 Bug 792935 - Test to detect DASH stream switching r=cpearce 2013-01-31 14:47:22 -08:00
Steve Workman
e551562a63 Back out f08e636ecdc4 (bug 792935) for mochitest failures 2013-01-31 10:54:26 -08:00
Steve Workman
ef628493c2 Bug 792935 - Test to detect DASH stream switching r=cpearce 2013-01-31 09:45:45 -08:00
Randell Jesup
83c2fd91ec 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
5fc9bf313e 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
02bab68299 Bug 836143 - MediaDecoder should call its own OnDecodeThread for clearer error detection r=cpearce 2013-01-30 12:14:43 -08:00
Steve Workman
7589382e10 Bug 836146 - Put LOG referencing mInitByteRange and mCuesByteRange in MOZ_DASH block r=kinetik 2013-01-30 11:35:02 -08:00
Jeff Walden
be633156a5 Bug 835648 - Move typed enum support to a new header. r=Ms2ger 2013-01-28 16:33:17 -08:00
Ed Morley
58ea6b383c 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
13740fea4f 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
1e02cb91dd 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
11e2a8437f Backed out changeset 3eb633a97c1f (bug 835648) for suspected Windows orange on a CLOSED TREE. 2013-01-29 19:01:45 -05:00
Randell Jesup
6c1ea9f313 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
88df194b4b 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
Randell Jesup
5bfe28ca5c Bug 818670: Enable AEC in PeerConnection, AGC/NoiseSuppression in gUM (w/bustage fix) r=derf 2013-01-29 11:55:09 -05:00
Ed Morley
367cd59d9d Backout df75a87cce60 & 19e164f7d88d (bug 818670) for build bustage on a CLOSED TREE 2013-01-29 17:28:30 +00:00
Randell Jesup
abaf7857dc Bug 818670: Enable AEC in PeerConnection, AGC/NoiseSuppression in gUM r=derf 2013-01-29 11:55:09 -05:00
Robert O'Callahan
030c7cbf38 Bug 832788. Part 3: AudioListener DopplerFactor/SpeedOfSound should take float per WebIDL. r=ehsan
--HG--
extra : rebase_source : d435b1678b09075cecf75e8da64364ec62964d00
2013-01-29 14:40:59 +13:00
Robert O'Callahan
cb6d196d28 Bug 832788. Part 2: AudioEventTimeline::IsValid needs to accept double. r=ehsan
--HG--
extra : rebase_source : 74c278d121419448b264ec3be4b8717bd99e15d1
2013-01-29 14:40:26 +13:00
Steve Workman
7b8fecff50 Bug 792935 - Add DASH to gPlayedTests and gPlayTests r=cpearce 2013-01-28 18:34:28 -08:00
Steve Workman
5c70bc4041 Bug 792935 - Add DASH to test_info_leak, test_progress and test_standalone r=cpearce 2013-01-28 18:34:28 -08:00
Steve Workman
a5f0588504 Bug 792935 - Remove code to cancel DASH subsegment downloads during a seek r=cpearce 2013-01-28 18:34:28 -08:00
Steve Workman
3ddd8e3047 Bug 792935 - Aggregate results from IsDataCachedToEndOfResource from DASH sub-decoders r=cpearce 2013-01-28 18:34:28 -08:00
Steve Workman
3c9cbdce5d Bug 792935 - Aggregate results from GetBuffered from sub-decoders r=cpearce 2013-01-28 18:34:27 -08:00
Ehsan Akhgari
78a045cb78 Bug 834929 - Part 3: Squeeze two members of Event into a union to reduce its size; r=roc 2013-01-28 15:40:12 -05:00
Ehsan Akhgari
495612118f Bug 834929 - Part 2: Remove FloatArrayWrapper and just copy the curve array when needed; r=roc 2013-01-25 16:46:44 -05:00
Ehsan Akhgari
f08d5611eb Bug 834929 - Part 1: Store the default/min/max values on the AudioParam itself; r=roc 2013-01-25 14:26:31 -05:00
Peter Van der Beken
c553f8a73e Fix for bug 816088 (webIDL bindings try to extract nsISupports from the global object in static properties in workers). r=bz.
--HG--
extra : rebase_source : 5668d9e01bff0fe7831d98018428856e5940a620
2012-12-03 17:07:49 +01:00
Ed Morley
9474e07ea6 Backout f3c145bd1dd2 & 5075690572a9 for OS X startup failures 2013-01-28 11:08:21 +00:00
Peter Van der Beken
6b094e2955 Fix for bug 816088 (webIDL bindings try to extract nsISupports from the global object in static properties in workers). r=bz.
--HG--
extra : rebase_source : 68e5630591f6209e2af9c5cd2321fed8edd3de24
2012-12-03 17:07:49 +01:00