Commit Graph

2204 Commits

Author SHA1 Message Date
Robert O'Callahan
cca52984c0 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
96e4270e65 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
62640d6e21 Bug 879014 - Part 2: Implement the alternate enum values for BiquadFilterNode; r=roc 2013-06-03 19:23:06 -04:00
Ehsan Akhgari
c444ec8b37 Bug 879014 - Part 1: Implement the alternate enum values for PannerNode; r=roc 2013-06-03 19:22:48 -04:00
Ryan VanderMeulen
a09ed88e64 Merge m-c to inbound. 2013-06-03 17:51:25 -04:00
Ryan VanderMeulen
3dd3218865 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
423332eebc Bug 878363 - Disable -Wreserved-user-defined-literal for problematic gstreamer header. r=ted 2013-06-03 11:10:28 -07:00
Sotaro Ikeda
1591798e76 Bug 874325 - Add lock to MediaStreamSource::readAt(). r=doublec 2013-06-03 10:41:54 -04:00
Paul Adenot
9e29aa84a4 Bug 877527. Forgot to hg add. 2013-06-03 19:15:41 +02:00
Paul Adenot
097c1a2a72 Bug 878765 - Add missing incrementation in AudioBlockPanStereoToStereo. r=ehsan 2013-06-03 15:48:58 +02:00
Paul Adenot
eb8ab95ec5 Bug 877527 2013-06-03 19:13:23 +02:00
Ehsan Akhgari
5698703154 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
b319c56bac Bug 878328 - Sanitize the time argument of AudioParam.setValueCurveAtTime; r=roc 2013-06-02 09:26:06 -04:00
Ehsan Akhgari
dc0358066e 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
7bb5a36eda Bug 878497 - Add a test case for AudioParam.setValueAtTime; r=roc 2013-06-02 09:25:16 -04:00
Ehsan Akhgari
1e0789da84 Bug 878014 - Use double precision when sampling the delay AudioParam; r=roc 2013-06-01 03:02:46 -04:00
Ryan VanderMeulen
8160849c2b Merge m-c to inbound. 2013-05-31 11:30:38 -04:00
Andreas Gal
3ee8d0ff82 Bug 876099 - re-enable 3gp support in web content r=roc, a=gal 2013-05-30 10:52:58 -07:00
Arnaud Sourioux
ac2132dad0 Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Robert O'Callahan
cc51ef48ef 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
8b6e23f489 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
3cc4ccd2f5 Bug 876555: Avoid including xpcprivate.h in most generated dom binding code. r=bz 2013-05-30 11:15:31 +08:00
Ehsan Akhgari
286425d4f4 Crashtest for bug 868504 2013-05-30 20:59:09 -04:00
Ehsan Akhgari
72c63d4e5c Bug 877820 - Improve the argument checking for OfflineAudioContext's sampleRate argument; r=roc 2013-05-30 20:54:07 -04:00
Ehsan Akhgari
6f0d7033ca 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
13fff291bf 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
d822bd3533 Bug 877523 - Correctly handle small maximum delay values for DelayNode; r=roc 2013-05-30 20:52:26 -04:00
Chris Pearce
590f37edd9 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
b64aed8e7c 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
df64361ce8 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
2577c23c9a 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
468b93224a Backed out changeset a966aadd9ae3 (bug 856822) for Windows bustage on a CLOSED TREE. 2013-05-29 17:56:10 -04:00
Arnaud Sourioux
ff4b91709f Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Ehsan Akhgari
de94a9e96b 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
28c082afaf 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
3b9b54e31a 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
abe35e49ff 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
138d8529b0 Test case for bug 876249 2013-05-28 14:43:35 -04:00
Ehsan Akhgari
113a464d54 Bug 865256 - Part 1: Implement the DOM bindings for WaveTable; r=roc 2013-05-28 07:19:07 -04:00
Ehsan Akhgari
59a18c2247 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
994cfe0b6b 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
ac9c045ad1 Bug 875402 - Delete MediaInputPort objects using normal refcounting semantics; r=roc 2013-05-25 10:01:08 -04:00
Ehsan Akhgari
3f01774938 Bug 875911 - Clean up OfflineAudioContexts which have never been rendered; r=roc 2013-05-25 09:59:59 -04:00
Ehsan Akhgari
d418ca71a3 Backed out changeset dc96b4762676 (bug 875402) because of crashtest leaks 2013-05-24 15:28:28 -04:00
Ehsan Akhgari
0ab611361f 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
3c5b12a9a8 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
ca9338667f 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
7243e880a5 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
c3f2357a32 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
57a5f849b0 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
6cc538470a 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
d934527fc6 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
6c146d9103 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
d5f53f01ab 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
22b9d20d59 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
eb4978d70a 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
b70a070b62 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
11cff4c090 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
3e5b5e657d Bug 875144 - Disallow creating AudioBuffers of 0 length; r=roc 2013-05-23 22:39:36 -04:00
Ehsan Akhgari
03aface63f 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
35f81fb4da Bug 874024 - Allow creation of ScriptProcessorNodes with 0 input or output channels; r=roc 2013-05-23 08:26:21 -04:00
Ehsan Akhgari
c08a3bf04a 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
1bfc965bdc 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
d98efa09c2 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
4a2c1820e6 Backed out changesets e52c6f7200b3 and 2718954757e1 (bug 874869) for intermittent Windows leaks. 2013-05-22 15:22:26 -04:00
Bobby Holley
91448a9dac 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
54ef3d2952 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
34a9786e5f Bug 874869 - Disallow setting AudioNode.channelCount to zero; r=roc 2013-05-22 11:30:31 -04:00
Ryan VanderMeulen
a10a8857fa Backed out changeset 9b5a9cd5032d (bug 870400) for Windows mochitest-1 failures. 2013-05-22 07:40:29 -04:00
Chris Pearce
22eb7c1ef4 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
84a5e374ef Bug 873335 - Unlink ScriptProcessorNode members before AudioNode; r=mccr8 2013-05-21 14:54:23 -04:00
Ryan VanderMeulen
9fad01536a Backed out changeset 4cb1973f06b9 (bug 868439) for Android M2 failures.
CLOSED TREE
2013-05-21 10:48:09 -04:00
Martijn Wargers
b4356d38c0 Bug 868439 - Convert some uses of nsIPrefBranch to SpecialPowers. r=jmaher 2013-05-21 02:14:06 +02:00
Chris Pearce
44c5698dd1 Bug 872375 - Specify picture region in D3D9SurfaceImage. r=padenot 2013-05-20 13:14:13 +08:00
Mike Hommey
91f60080e1 Backout changeset be729bc526a3 (part of bug 864035) 2013-05-18 11:10:45 +02:00
Mike Hommey
6509b30caf 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
14c4938355 Bug 873629 - Remove 129 empty Makefile.in files; r=ted 2013-05-17 16:20:11 -07:00
Bobby Holley
77d1e43d75 Bug 860941 - Remove assertion annotations for the now-removed mArguments assertion. r=jst 2013-05-17 10:43:20 -07:00
Ryan VanderMeulen
74f5ed25b0 Merge m-c to inbound. 2013-05-17 09:08:44 -04:00
Sotaro Ikeda
ea6d1dc9d5 Bug 871753 Part1 - fix deadlock during youtube video playback. r=doublec 2013-05-16 17:24:13 -07:00
Ryan VanderMeulen
849edcd80b Merge m-c to inbound. 2013-05-16 11:26:58 -04:00
Sotaro Ikeda
db7c471a36 Bug 868806 - Handle OMXCodec's error. r=doublec 2013-05-15 21:35:34 -04:00
Ed Morley
aadfc4d36c Backed out changeset 34c65a615373 (bug 860941) 2013-05-17 09:08:31 +01:00
Bobby Holley
7f49ad21dd Bug 860941 - Remove assertion annotations for the now-removed mArguments assertion. r=jst 2013-05-16 23:33:15 -07:00
Ted Mielczarek
110919af49 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
64f507219b Bug 872866 - Set length of MediaResource earlier in load. r=roc 2013-05-16 15:22:34 +12:00
Edwin Flores
57bdc4503a Bug 856562 - Fix decode race in gstreamer backend r=alessandro.d 2013-05-16 14:35:16 +12:00
Ehsan Akhgari
497b7175f9 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
3894f484df 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
30c4151889 Bug 836599 - Part 13: Add a unit test for OfflineAudioContext; r=roc 2013-05-16 19:31:08 -04:00
Ehsan Akhgari
d2c63bc836 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
e31cd426d8 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
1428a73574 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
e7318c89ad Bug 836599 - Part 9: Implement the DOM binding for OfflineAudioContext; r=roc 2013-05-16 19:30:41 -04:00
Ehsan Akhgari
a8cb458faf 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
9cc5fa74c8 Bug 863290 - Correctly detect failure to initialize Android capture objects. Fix crashers. r=jesup 2013-05-15 18:50:42 +02:00
Patrick Wang
2ba1b673b5 Bug 871463 - allow to fallback to software codec in emulator. r=doublec 2013-05-13 17:38:49 +08:00
Paul Adenot
6d73395fce Bug 867104 - Add a crashtest. r=ehsan 2013-05-14 14:14:42 +02:00
Paul Adenot
0048792bd1 Bug 867104 - r=ehsan 2013-05-14 14:14:42 +02:00
Ehsan Akhgari
bee3aa1c74 Bug 865251 - Implement WaveShaperNode; r=roc 2013-05-14 00:12:30 -04:00