Commit Graph

269 Commits

Author SHA1 Message Date
Randell Jesup
6064176f06 Bug 1035819: patch 1 - Add notification of DirectListeners and generalize Notification of events r=roc 2014-07-14 01:47:56 -04:00
Eric Rahm
d550923b30 Bug 1036679 - MediaStreamGraph shutdown can hang if happening in conjunction with a memory report. r=roc 2014-07-09 17:22:37 -07:00
Karl Tomlinson
db2546467c b=1020411 correct control message order with RunAfterPendingUpdates() at shutdown r=roc
--HG--
extra : transplant_source : %AE%05%92%2C%60%9FL%D0%13O%EE%7D%09ZV%87%06%E9%B6%D8
2014-07-02 18:04:54 +12:00
Karl Tomlinson
89916d5337 b=1027963 count ticks remaining in PlayAudio() better when blocking changes r=padenot
The previous code could result in an infinite loop.

--HG--
extra : transplant_source : %DB%20%2C%A3%26%A1%B0%00E%0B%85v%DC%1F0%F1%81Tm%9B
2014-07-01 18:21:57 +12:00
Paul Adenot
54c2895226 Bug 1028458 - Don't try to use a resampler when resampling segments to graph rate if we haven't instanciated one yet. r=karlt
--HG--
extra : rebase_source : 3b7696b3e89c1be0e338893578d81088f7182a3b
2014-06-26 14:01:01 +02:00
Benoit Jacob
0943d4adbd Bug 1028588 - Fix dangerous public destructors in content/media/ - r=cpearce,smaug 2014-06-24 12:36:43 -04:00
JW Wang
b23c53b0d6 Bug 750258 - include |nextCurrentTime| when calculating whether to call NotifyBlockingChanged(). r=roc 2014-06-22 20:21:00 +02:00
Eric Rahm
fa5d109ec2 Bug 1027573 - Crash when measuring memory in about:memory while using Web Audio. r=roc 2014-06-20 10:29:10 -07:00
Nicholas Nethercote
39f29c384a Bug 1010064 - Allow memory reports to be anonymized. r=bsmedberg.
--HG--
extra : rebase_source : 5eb756b17a97e751deb0f47e909fdb35533cb23b
2014-05-20 23:06:54 -07:00
Karl Tomlinson
a4b9a3c57e b=1023697 use audio ticks for graph time units r=roc
--HG--
extra : transplant_source : 8%BA%9D%5C%E32%05x%A79K%08TH%A7%F4%F2tg%EC
2014-06-12 16:45:00 +12:00
Karl Tomlinson
36c7833021 b=1023697 use 0 for initial graph time r=roc
We could get away with 1 as an initial time when units were 1/(1<<20) seconds
but when graph time units are audio samples, an initial value of 1 will mean
that the first audio block produced has 1 frame fewer.

--HG--
extra : transplant_source : %FF%D5%AF%A9%C7%EA%C4%D7%ED%8F%CC%AC%E4%5E%FF%D0%87%8D%3AN
2014-06-12 16:45:00 +12:00
Karl Tomlinson
d8be06bf30 b=1023697 add functions to convert between track rates and remove global StreamTime/tick conversion functions r=roc
--HG--
extra : transplant_source : %B6%BC%83%17%22%EE%5D%BEl%B6%17m%1C%D0N%D1C%97%60%E1
2014-06-12 16:44:59 +12:00
Karl Tomlinson
b0bb0ef6be b=1023697 record the graph tick rate on StreamBuffer and its Tracks for StreamTime calculations r=roc
--HG--
extra : transplant_source : 8%B4%DB%A4%FE%2C%B7%235%7F%7D5%2C%FA%BA%0D%9E%CC%7E%11
2014-06-12 16:44:59 +12:00
Karl Tomlinson
7896a7639e b=995690 don't advance audio output stream position 1 tick beyond what has been produced r=roc
This may result in repeating a sample sometimes due to rounding effects, but
that should only happen once per unblocked sequence of track frames.

--HG--
extra : transplant_source : %0C%E9%A4jq%286%96%B1%A9%AE%9F%1Cr%DCK%8F%AF%92i
2014-06-12 16:41:29 +12:00
Karl Tomlinson
d978344073 b=995690 correct mLastTickWritten to only advance when not blocked r=roc
mLastTickWritten and offset are stream positions, which do not advance when
the stream is blocked.

--HG--
extra : transplant_source : %15%7B%E5%E9.%89%BC%1E%F8%92%FD%3D%CB%10%FC%AD%EAT%90-
2014-06-12 16:40:51 +12:00
Karl Tomlinson
7386288622 b=1014862 assert that source track resamplers are used with the correct channel count r=padenot
--HG--
extra : rebase_source : cc28665fc90cf0bfc9f113b5e25f2c57a4948c9e
2014-06-09 12:11:41 +12:00
Karl Tomlinson
c4e30140cf b=1016177 reduce MEDIA_TIME_MAX to not overflow when multiplying by sample rates r=roc
MediaTimes are multiplied by sample rates when converting to ticks.

This new maximum leaves 24 bits to count seconds, which corresponds to 194
days.

TimeVarying::GetAt() can return INT64_MAX, which may be > GRAPH_TIME_MAX.

The "Start time too early" assertion would now fail because conversion of
STREAM_TIME_MAX to ticks no longer overflows.

--HG--
extra : rebase_source : b49c95315d0c633f191ff68aab0b5b7aa04c6e38
2014-06-05 22:08:05 +12:00
Karl Tomlinson
4fbb1323cc b=1015025 use a consistent reference timestamp for graph time to avoid accumulating drift from rounding to MediaTime r=roc
--HG--
extra : transplant_source : 2%B9y%D4%80%DA/qqx%C5%F5%86%8CoT%B9S%19%D9
2014-05-26 11:26:52 +12:00
Kyle Huey
8a1ded0d50 Bug 996133: Remove unnecessary NS_DISPATCH_NORMAL arguments to NS_DispatchToMainThread. r=ehsan 2014-05-23 12:53:17 -07:00
Paul Adenot
fdf46bf905 Backed out changeset 8dd41701dd92 (bug 989921) on a CLOSED TREE 2014-05-22 14:49:10 +02:00
Paul Adenot
5e88dd69e0 Bug 989921 - Allow the MediaStreamGraph mixer to send data back to multiple consumers. r=jesup 2014-05-22 13:40:51 +02:00
Karl Tomlinson
59e9c70900 b=1010000 update mTracksKnownTime when finishing a stream r=roc
and use this in StreamBuffer::GetAllTracksEnd() to detect when no more tracks
will be added.

--HG--
extra : transplant_source : %B7A-%7EV%94%E1%CE%15%1C%15%7B%84%D5%F1%1D%A2%CF%EC%15
2014-05-19 08:26:54 +12:00
Paul Adenot
5aad358265 Bug 998711. r=jesup 2014-04-25 15:15:21 +02:00
Birunthan Mohanathas
ff8ce9bd42 Bug 900908 - Part 3: Change uses of numbered macros in nsIClassInfoImpl.h/nsISupportsImpl.h to the variadic variants. r=froydnj 2014-04-27 03:06:00 -04:00
Star Cheng
2d091525bf Bug 984498: To plumb audiochannel type from AudioContext to MediaStreamGraph r=roc 2014-04-18 17:23:36 +08:00
Carsten "Tomcat" Book
cac8e6e93b Backed out changeset c07bced21c89 (bug 984498) for mochitest-1 bustage on a CLOSED TREE 2014-04-25 12:09:54 +02:00
Star Cheng
f4ff6a62d2 Bug 984498: To plumb audiochannel type from AudioContext to MediaStreamGraph r=roc 2014-04-18 17:23:36 +08:00
Paul Adenot
9a84687a23 Bug 998179 - Refactor how MediaStreamGraph get and use their sample rate. r=roc
Use the sample rate passed to the OfflineAudioContext constructor in
MediaStreamGraph::CreateOfflineInstance, and pass the preferred mixer sample
rate to the (real time) MediaStreamGraph constructor.

Then, always use this sample rate for the lifetime of the graph.

This patch needed to pass the sample rate to the AudioMixer class to avoid
relying on globals like it was done before.

--HG--
extra : rebase_source : 2802208819887605fe26a7040998fc328b3c9a57
2014-04-23 11:20:56 +02:00
Carsten "Tomcat" Book
410267e783 Backed out changeset 1f410dde84d9 (bug 984498) 2014-04-23 08:20:37 +02:00
Star Cheng
d77d681816 Bug 984498: To plumb audiochannel type from AudioContext to MediaStreamGraph r=padenot 2014-04-23 09:58:38 +08:00
Jan Beich
f5c3201a40 Bug 996433 - Sprinkle MOZ_WEBRTC ifdefs to unbreak --disable-webrtc after bug 694814. r=jesup 2014-04-21 09:15:34 +02:00
Eric Rahm
0c4d54b70f Bug 967817 - Finish memory reporters for Web Audio. r=roc, njn 2014-04-13 11:08:10 -07:00
Paul Adenot
df3abc4a21 Bug 997229 - Don't call IdealAudioRate on an offline MediaStreamGraph r=roc
--HG--
extra : rebase_source : 44aec47b98965a663600a84c630c0f89239842a6
2014-04-17 11:15:47 +02:00
Randell Jesup
cec7b451da Bug 919215: Drop queued audio data on low-latency startup, make AudioStream::Init() async r=roc,padenot 2014-04-09 15:59:07 -04:00
Jan Beich
d08da323e7 Bug 995543 - Unbreak libc++ build after bug 982490 by using more portable mozilla::Abs. r=jesup 2014-04-13 15:41:07 -04:00
Andrea Marchesini
eaa3ff4eed Bug 987064 - Remove AudioChannelType. r=roc, r=mchen, r=bent 2014-04-10 18:39:20 +01:00
Randell Jesup
fb47ca9266 Bug 694814: Patch 3 - Add far-end mixer observer and insert far-end audio for AEC r=padenot 2014-04-02 13:58:19 -04:00
Paul Adenot
c92abbdb27 Bug 982490 - Ensure for MSG cycle that each MediaStream write the same number of frames to their AudioStream. r=jesup,roc 2014-03-24 11:06:06 +01:00
Paul Adenot
ce58cb728c Bug 818822 - Resample all inputs of the MediaStreamGraph to the ideal audio rate. r=roc 2014-03-24 11:06:05 +01:00
Carsten "Tomcat" Book
d8cac0a0f4 Backed out changeset ac06eacc2206 (bug 987064) for B2G ICS Emulator Debug Bustage on a CLOSED TREE 2014-04-10 13:18:18 +02:00
Andrea Marchesini
e7f2c01a1a Bug 987064 - Remove AudioChannelType, r=roc, r=mchen, r=bent 2014-04-10 11:49:23 +01:00
Randell Jesup
8da8e8d53a Backed out changeset 5349ecd9c313 (bug 818822) 2014-04-07 15:40:55 -04:00
Randell Jesup
e5b76be31d Backed out changeset 87f437be7de5 (bug 982490) 2014-04-07 15:37:56 -04:00
Randell Jesup
efa12f9d2b Backed out changeset e3664615ecbf (bug 694814) 2014-04-07 15:37:52 -04:00
Randell Jesup
aca5c5827c Bug 694814: Patch 3 - Add far-end mixer observer and insert far-end audio for AEC r=padenot 2014-04-02 13:58:19 -04:00
Paul Adenot
07df38f7df Bug 982490 - Ensure for MSG cycle that each MediaStream write the same number of frames to their AudioStream. r=jesup,roc 2014-03-24 11:06:06 +01:00
Paul Adenot
bd6d91c746 Bug 818822 - Resample all inputs of the MediaStreamGraph to the ideal audio rate. r=roc 2014-03-24 11:06:05 +01:00
Randell Jesup
beb3941cd7 Backed out 965c62289427:cb894b5d342f for perma-orange on b2g emulator M10 r=backout 2014-04-02 17:11:12 -04:00
Randell Jesup
e30fbfdd62 Bug 694814: Patch 3 - Add far-end mixer observer and insert far-end audio for AEC r=padenot 2014-04-02 13:58:19 -04:00
Paul Adenot
61d2f3b535 Bug 982490 - Ensure for MSG cycle that each MediaStream write the same number of frames to their AudioStream. r=jesup,roc 2014-03-24 11:06:06 +01:00