Commit Graph

2367 Commits

Author SHA1 Message Date
Robert O'Callahan
813aa6a822 Bug 886618. Remove dead AudioBuffer code. r=ehsan
--HG--
extra : rebase_source : fcd30cacfbcd1a43f62e0c0ce7df2dd57c307366
2013-06-29 01:49:56 +12:00
Chris Pearce
be8d5bf601 Bug 888174 - Add this pointer to WMFByteStream NSPR logging so that we can distinguish which instance is doing what easier. r=padenot 2013-06-28 22:10:01 +12:00
Chris Pearce
62a32200f0 Bug 888175 - Don't log dropped frames in MediaDecoderStateMachine if MOZ_QUIET is set. r=padenot 2013-06-28 22:09:37 +12:00
Robert O'Callahan
e1d426516d Bug 886657. Don't play anything from an AudioBufferSourceNode until a buffer has been set and start() has been called. r=ehsan 2013-06-26 04:00:42 +12:00
Matthew Gregan
09a800bfde Backout 184ef886365d, 4c6a6ac3a9d5, and 59857a435c3b on a CLOSED TREE 2013-06-28 16:55:35 +12:00
Matthew Gregan
b5544d899d Bug 855130 - Implement a minimal working subset of the Media Source Extensions API. r=roc 2013-06-28 16:32:05 +12:00
Matthew Gregan
015e1dc50a Bug 855130 - Implement HTMLVideoElement's VideoPlaybackQuality (from Media Source Extensions spec). r=roc 2013-06-28 16:32:05 +12:00
Rick Eyre
a78b6401ba Bug 833386 - Tests for TextTrackCue objects r=rillian,cpearce
This patch is primarily the work of Marcus Saad (msaad) and Jordan
Raffoul (jbraffoul) at Seneca College.
2013-06-24 19:23:00 -07:00
Ehsan Akhgari
4e4cb968f6 Bug 881775 - Set the correct channel count in DownmixAndInterleave, and avoid unnecessary downmixing; r=roc 2013-06-11 17:50:21 -04:00
Caitlin Potter
f5b7023a3b Bug 881475 - Drop cues with malformed timestamps. r=rillian
The parsing specification requires the UA to drop
cues containing malformed cue-times.
(http://dev.w3.org/html5/webvtt/#dfn-collect-a-webvtt-timestamp)

The OnReportError callback has been modified to notify the parser
that we need need to drop such cues which are deemed 'malformed'
according to the timestamp parsing rules.
2013-06-10 21:10:30 -04:00
Ryan VanderMeulen
774115510a Merge m-c to inbound. 2013-06-11 21:03:14 -04:00
Ralph Giles
e55831544d Bug 879924 - Don't shorten zero-length strings. r=derf
We were trying to strip the optional null terminator
even when we knew there wasn't one there.
2013-06-10 17:10:09 -07:00
Shelly Lin
2eeb681648 Bug 842243 - Part 5: Add MediaEncoder.h/.cpp; The main part of this media encoding framework. r=roc 2013-06-05 14:29:12 +08:00
Shelly Lin
b0ad578f08 Bug 842243 - Part 4: Add OpusEncoder.h/.cpp; Implementation of Opus encoder. r=roc, r=tterribe 2013-05-17 19:18:08 +08:00
Shelly Lin
05dcf724ca Bug 842243 - Part 3: Add TrackEncoder.h/.cpp; Base class for audio/video track encoder. r=roc 2013-05-17 19:16:36 +08:00
Shelly Lin
370c645a9f Bug 842243 - Part 2: Add OggWriter.h/.cpp; Implementation of Ogg container. r=roc, r=tterribe 2013-05-17 19:13:01 +08:00
Shelly Lin
4d942eeee0 Bug 842243 - Part 1: Add ContainerWriter.h; Base class of media container writer. r=roc 2013-05-17 18:50:58 +08:00
Shelly Lin
effe13c520 Bug 842243 - Part 0: Modify MediaSegment and AudioSegment for use by MediaEncoder. r=roc 2013-06-03 17:59:50 +08:00
Edwin Flores
faab496014 Bug 876305 - Pass the media mimetype on to the gstreamer backend r=alessandro.d 2013-06-11 14:13:10 +12:00
Edwin Flores
d80f358b17 Bug 876305 - Cap the max number of audio buffers gstreamer can use r=alessandro.d 2013-06-11 14:13:10 +12:00
Edwin Flores
d5dcc82182 Bug 874305 - Support older versions of gstreamer r=alessandro.d 2013-06-11 14:13:09 +12:00
Edwin Flores
f0c607f18b Bug 879995 - Fix assertion failure in gstreamer backend with fragmented mp4 videos r=alessandro.d 2013-06-11 14:13:09 +12:00
Edwin Flores
f0948b7184 Bug 859199 - Load GStreamer libraries at runtime r=doublec 2013-06-11 14:13:09 +12:00
Edwin Flores
56de35440d Bug 878363 - Silence pragma warnings from gstreamer libraries r=ted 2013-06-11 14:13:09 +12:00
Chris Pearce
b1ded03eee Bug 880006 - Make WMF video backend call MediaDecoder::NotifyBytesConsumed() like it's supposed to. r=padenot 2013-06-11 12:53:26 +12:00
Ehsan Akhgari
579a771ace Bug 815643 - Part 9: Port Blink's LayoutTest for ConvolverNode to mochitest-plain; r=roc
--HG--
extra : rebase_source : b829991957f0349a6c2541fcc99d4214e701a2ae
2013-06-10 16:10:07 -04:00
Ehsan Akhgari
e2c81dbce5 Bug 815643 - Part 8: Import convolution tests from Blink; r=roc
Imported from Blink SVN revision 150518

--HG--
extra : rebase_source : c50aeed5d0fceaa9112cd9e791ec7acd9904fd84
2013-06-10 16:09:53 -04:00
Ehsan Akhgari
8a97dc2304 Bug 815643 - Part 7: Add a basic API test for ConvolverNode; r=roc
--HG--
extra : rebase_source : be90de45e240fec45875a65235104d2d92716a14
2013-06-10 16:09:38 -04:00
Ehsan Akhgari
2e533bea4f Bug 815643 - Part 6: Optimize FFTBlock to avoid recreating kiss_fftr_cfg objects all the time; r=roc
Setting up the FFT tables turns out to be quite expensive because of the
large number of calls to sin() and cos().

In the future we may want to look into having a global cache of FFT
tables per size, in order to pay the cost of setting each one of them up
only once.

--HG--
extra : rebase_source : 871d11e7f74db9e3e6c704da9518d40cba3deb8a
2013-06-10 16:09:25 -04:00
Ehsan Akhgari
3af23c62eb Bug 815643 - Part 5: Implement ConvolverNode's processing based on the Blink implementation; r=roc
--HG--
extra : rebase_source : 4c1a8dbaa4ab2d4fcc67c0a5226a6937e0656404
2013-06-10 16:09:12 -04:00
Ehsan Akhgari
2ef673d28b Bug 815643 - Part 4: Add the Convolution processing implementation to the build system; r=roc
--HG--
extra : rebase_source : 2a5aa609334c67bb9b09090d9f681c5c3a940c5c
2013-06-10 16:09:01 -04:00
Ehsan Akhgari
0bdb88b1cd Bug 815643 - Part 3: Import the Convolution processing implementation from Blink; r=roc
The original code was copied from Blink SVN revision 150518.

--HG--
extra : rebase_source : 1fbc3cc7f7325bdd8806d7ef30a5c882b505debf
2013-06-10 16:08:38 -04:00
Ehsan Akhgari
82519eedaf Bug 815643 - Part 2: Refactor our Web Audio FFT code into the FFTBlock class; r=roc
This is useful in order for us to be able to borrow code from Blink with
fewer changes, and also to explore faster platform dependent FFT
implementations in the future if needed.

--HG--
extra : rebase_source : 34bbded736e1b385754756513c59ee27ce7552a5
2013-06-10 16:08:21 -04:00
Ehsan Akhgari
bcac308338 Bug 815643 - Part 1: Implement the DOM bindings for ConvolverNode; r=roc
--HG--
extra : rebase_source : 9f6853dcaeeac1f36aa8c2ee90991a7f0ea0b145
2013-06-10 16:07:55 -04:00
Rick Eyre
3800bbb044 Bug 833382 - Implement WebVTTLoadListener r=cpearce,bz
- Implemented WebVTTLoadListener to manage the webvtt parser.
- TextTrackCue now handles the conversion of webvtt nodes to
  anonymous content which will be displayed on the video div
  overlay.
- HTMLTrackElement manages the lifetime of the WebVTTLoadListener.
2013-06-10 08:30:00 -07:00
Paul Adenot
2083c10f3c Bug 865244 - Test for AudioContext.destination.maxChannelCount. r=ehsan 2013-06-10 19:32:28 +02:00
Paul Adenot
3aa35d131a Bug 865244 - Implement AudioContext.destination.maxChannelCount. r=ehsan 2013-06-10 19:32:28 +02:00
Paul Adenot
9a67a917d3 Bug 865244 - Expose the maximum channel count in the AudioStream. r=kinetik 2013-06-10 19:32:28 +02:00
Mike Habicher
076c424da2 Bug 879478 - fix regressions when starting camera (crash and de-virtualized functions -- see also bug 880780), r=roc 2013-06-10 15:01:19 -04:00
Sotaro Ikeda
2d8e4dae08 Bug 871485 - Share hw codec between applications/tasks. r=mwu, r=doublec, r=roc 2013-06-10 08:22:05 -04:00
Ivaylo Dimitrov
b0a54a77e9 Bug 880029 - gstreamer - high CPU usage after patch for Bug 856562 landed. r=alessandro.d 2013-06-08 20:53:10 +01:00
Sankha Narayan Guria
5304247273 Bug 880265 - Remove AudioBufferSourceNode.gain; r=ehsan 2013-06-08 00:55:04 +05:30
Paul Adenot
caac06e896 Bug 878875 - Port Blink's LayoutTest for PannerNode to mochitest-plain. r=ehsan 2013-06-07 20:06:40 +02:00
Paul Adenot
bc2c171823 Bug 878875 - Import PannerNode tests from Blink. r=ehsan
Imported from Blink SVN revision 152035
2013-06-07 20:06:40 +02:00
Ehsan Akhgari
8091b1b4c4 Test case for bug 880724 2013-06-07 13:22:40 -04:00
Ehsan Akhgari
b13e34feff Test case for bug 880404 2013-06-07 11:29:25 -04:00
Ehsan Akhgari
eb90bf2f7c Test case for bug 880384
--HG--
extra : rebase_source : a77b7f0c32555d645c1903164e0a7740ac61ca19
2013-06-07 11:22:46 -04:00
Ehsan Akhgari
dc9043fd73 Test case for bug 880342 2013-06-07 11:14:51 -04:00
Ehsan Akhgari
8bbf87ddc1 Bug 880129 - Correctly handle AnalyserNodes with a buffer size smaller than 128; r=roc 2013-06-07 07:33:00 -04:00
Robert O'Callahan
01715cd051 Fix build bustage for bug 877461 2013-06-07 20:16:17 +12:00
Robert O'Callahan
b0229d01bd Bug 865537. Part 2: The Range used to track the source element pointer for a media element should not gravitate outside the media element. r=cpearce
--HG--
extra : rebase_source : 6d4d5de2f0841fe602821013f0a33bb035d1cb76
2013-06-07 16:26:55 +12:00
Robert O'Callahan
a1197b8439 Bug 877461. Part 3: Retry libstagefright audio/video decoding if it fails due to a timeout. r=sotaro
--HG--
extra : rebase_source : 2ccd8afaca1e4055eb0105f25754176b0ff37034
2013-06-06 11:43:43 +12:00
Robert O'Callahan
d504ec5593 Bug 877461. Part 2: Initialize VideoFrame members to 0. r=doublec
--HG--
extra : rebase_source : d447561e74bc760c2ccbcba925e54579e3a15088
2013-06-06 10:48:25 +12:00
Ryan VanderMeulen
89d1f3bafd Bug 880202 - Skip crashtest on B2G due to failures. 2013-06-06 14:29:52 -04:00
Ehsan Akhgari
c84faabff3 Bug 880202 - Revert bug 878765 because it introduces a buffer overflow 2013-06-06 12:36:57 -04:00
Vladimir Vukicevic
ef8707b5f0 b=843599; use gralloc buffers for WebGL streaming on B2G; r=nical,jgilbert,jrmuizel 2013-05-27 10:12:13 -04:00
Paul Adenot
811b43d168 Bug 878765 - Add missing incrementation in AudioBlockPanStereoToStereo. r=ehsan 2013-06-04 15:51:23 +02:00
Paul Adenot
a722f3f571 Bug 877527. 2013-06-04 15:07:01 +02:00
Bobby Holley
6c466f082b Bug 877478 - Fix mochitests with problematic callbacks to use the new API. r=mrbkap 2013-06-04 19:56:41 -07:00
Robert O'Callahan
ff3ea36e2a Fix bustage on a CLOSED TREE for bug 877461 2013-06-05 14:44:20 +12:00
Robert O'Callahan
30f34f761f Bug 877461. Make MediaCache aggressively cache data just behind the current playback position. r=cpearce
This should help with the straight playback, non-seeking case where we get into
trouble because libstagefright video and audio codecs are reading from different
places.
2013-06-05 01:52:57 +12:00
Robert O'Callahan
e215cdda66 Bug 877135. Remove HTMLMediaElement::mozLoadFrom since it's nonstandard and no longer needed (setting 'src' to another element's 'currentSrc' works just as well). r=doublec
--HG--
extra : rebase_source : f1e04fe469a1757bfabfcf79bbf0fec29faee1c7
2013-06-04 15:28:23 +12:00
Ehsan Akhgari
35e12a7680 Bug 879014 - Part 2: Implement the alternate enum values for BiquadFilterNode; r=roc 2013-06-03 19:23:06 -04:00
Ehsan Akhgari
5e015adfe7 Bug 879014 - Part 1: Implement the alternate enum values for PannerNode; r=roc 2013-06-03 19:22:48 -04:00
Ryan VanderMeulen
1d305285a2 Merge m-c to inbound. 2013-06-03 17:51:25 -04:00
Ryan VanderMeulen
f1444e2e1e Backed out 3 changesets (bug 877527, bug 878765) for mochitest-1 timeouts on a CLOSED TREE.
Backed out changeset 0bf1e71fe3cc (bug 877527)
Backed out changeset 8473deb5fba9 (bug 878765)
Backed out changeset 0d327854300c (bug 877527)
2013-06-03 15:01:20 -04:00
John Schoenick
65ad831c07 Bug 878363 - Disable -Wreserved-user-defined-literal for problematic gstreamer header. r=ted 2013-06-03 11:10:28 -07:00
Sotaro Ikeda
c6a6b2489d Bug 874325 - Add lock to MediaStreamSource::readAt(). r=doublec 2013-06-03 10:41:54 -04:00
Paul Adenot
41136eb152 Bug 877527. Forgot to hg add. 2013-06-03 19:15:41 +02:00
Paul Adenot
6267e3c302 Bug 878765 - Add missing incrementation in AudioBlockPanStereoToStereo. r=ehsan 2013-06-03 15:48:58 +02:00
Paul Adenot
67b46436b5 Bug 877527 2013-06-03 19:13:23 +02:00
Ehsan Akhgari
ea2e6fd726 Bug 878478 - Disable looping of AudioBufferSourceNode when we detect that the loopStart offset is not less than the loopEnd offset; r=roc 2013-06-02 09:26:26 -04:00
Ehsan Akhgari
0c888a8966 Bug 878328 - Sanitize the time argument of AudioParam.setValueCurveAtTime; r=roc 2013-06-02 09:26:06 -04:00
Ehsan Akhgari
acafe11ae1 Bug 878407 - Allocate a large enough delay buffer when the delay time fraction value is less than 0.5; r=roc 2013-06-02 09:25:46 -04:00
Ehsan Akhgari
132f3d5aa5 Bug 878497 - Add a test case for AudioParam.setValueAtTime; r=roc 2013-06-02 09:25:16 -04:00
Ehsan Akhgari
8524249b5c Bug 878014 - Use double precision when sampling the delay AudioParam; r=roc 2013-06-01 03:02:46 -04:00
Ryan VanderMeulen
604c2d3d5d Merge m-c to inbound. 2013-05-31 11:30:38 -04:00
Andreas Gal
515187be5b Bug 876099 - re-enable 3gp support in web content r=roc, a=gal 2013-05-30 10:52:58 -07:00
Arnaud Sourioux
1aded9ba34 Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Robert O'Callahan
64eba24b0f Bug 868405. Support 'enabled' attribute on MediaStreamTrack. r=jesup
--HG--
extra : rebase_source : ec29ae2e45979baaf1b6a085549755ba86cadd40
2013-05-30 16:44:43 +12:00
Robert O'Callahan
7c57003152 Bug 868405. Part 1: Add a few MOZ_OVERRIDES. r=jesup
--HG--
extra : rebase_source : 9fce360b62677439a353b2fb81d9bab92b659d13
2013-05-30 16:44:40 +12:00
Kyle Huey
fb465d209c Bug 876555: Avoid including xpcprivate.h in most generated dom binding code. r=bz 2013-05-30 11:15:31 +08:00
Ehsan Akhgari
45304eafc7 Crashtest for bug 868504 2013-05-30 20:59:09 -04:00
Ehsan Akhgari
81dc335548 Bug 877820 - Improve the argument checking for OfflineAudioContext's sampleRate argument; r=roc 2013-05-30 20:54:07 -04:00
Ehsan Akhgari
cfd4629d99 Bug 876273 - Only attempt to delete the media graph when the last stream goes away if we're waiting for all streams to be destroyed; r=roc 2013-05-30 20:53:51 -04:00
Ehsan Akhgari
76553f250a Bug 876024 - Sanity check all of the time values passed to Web Audio; r=roc 2013-05-30 20:53:15 -04:00
Ehsan Akhgari
d78121a657 Bug 877523 - Correctly handle small maximum delay values for DelayNode; r=roc 2013-05-30 20:52:26 -04:00
Chris Pearce
fe7b147ad5 Bug 870400 - Calculate audio timestamps for WMF based on audio frames played, rather than trusting the container's timestamps. r=padenot 2013-05-31 11:34:52 +12:00
Ehsan Akhgari
ff03101c76 Bug 877039 - Set the Web Audio maximum channel count to 32; r=roc
--HG--
extra : rebase_source : 7e5bb51cd3bd9b4fbe01649af8f14e17cf6b3042
2013-05-30 14:25:52 -04:00
Ehsan Akhgari
1de812f9ff Bug 877231 - Make the error checking for the OfflineAudioContext constructor more strict; r=roc
--HG--
extra : rebase_source : 123a39f3d4a169c85927b4e23f99a9962efc4452
2013-05-29 19:35:30 -04:00
Ehsan Akhgari
b60b4f5031 Bug 877125 - Handle the case where the expected number of channels for the offline AudioDestinationNode and the actual input number of channels do not match; r=roc
--HG--
extra : rebase_source : 432c10fe039b24b1aea1d0329ebef37f9e62cd0a
2013-05-29 19:33:14 -04:00
Ryan VanderMeulen
eb4d754279 Backed out changeset a966aadd9ae3 (bug 856822) for Windows bustage on a CLOSED TREE. 2013-05-29 17:56:10 -04:00
Arnaud Sourioux
83d60db473 Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Ehsan Akhgari
fd9088c5e1 Bug 875221 - Make sure to balance the creation and destruction of streams for media graphs; r=roc 2013-05-29 11:38:39 -04:00
Ehsan Akhgari
e0fbc6e3fe Bug 876215 - Correctly deal with nodes that require 0 input channels by feeding them a null AudioChunk; r=roc
The assertion here is really not correct, since as this testcase shows,
it's now easy for web content to control the value of outputChannelCount.

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

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

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

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

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

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

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

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

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

Backwards compatibilty with existing engines is achieved by keeping the
existing ProduceAudioBlock API for use with engines with only a maximum of one
input and output port.
2013-05-05 11:48:45 -04:00
Ehsan Akhgari
1f4e097965 Bug 865247 - Part 2: Tell MediaInputPorts about their input and output ports; r=roc 2013-05-05 11:47:59 -04:00
Ehsan Akhgari
68870fa8ce Bug 865247 - Part 1: Give MediaInputPort the notion of an input and output port number; r=roc 2013-05-05 11:47:36 -04:00
Ehsan Akhgari
a8711101f3 Bug 868485 - Part 2: Add test cases for createBuffer with mono downmixing; r=roc 2013-05-05 11:16:23 -04:00
Ehsan Akhgari
7ea8b318c7 Bug 868485 - Part 1: Implement the mixToMono behavior for createBuffer; r=roc 2013-05-05 11:15:58 -04:00
Ms2ger
fe38e416ee Backout changesets f309dacf4010:be3cef4b69e3 for thread safety assertions on Windows and test failures on OSX. 2013-05-05 11:51:47 +02:00
Robert O'Callahan
dc425a880b Bug 868406. Shut down MediaStreamGraph's thread. r=jesup 2013-05-05 18:20:11 +12:00
Robert O'Callahan
640305cda9 Bug 866514. Part 1: Add DOMMediaStream::OnTracksAvailableCallback. r=jesup 2013-05-03 17:02:55 +12:00
Robert O'Callahan
e4b46a4d97 Bug 863224. DOMMediaStream should release its internal MediaStream and listener during Unlink to ensure that events running between Unlink and the destruction of the DOMMediaStream don't see the dying object. r=jesup 2013-05-01 23:24:16 +12:00
Paul Adenot
1765bc7632 Bug 825329 - Fix a stupid error in playbackRate. r=kinetik 2012-12-28 23:01:38 +01:00