Граф коммитов

153 Коммитов

Автор SHA1 Сообщение Дата
Sotaro Ikeda 24dff6c377 Bug 1058452 - Use FakeMediaStreamGraph r=mikeh 2014-09-09 06:27:24 -07:00
Ryan VanderMeulen ccd2f112b7 Backed out changeset 56e2793c8ac7 (bug 1058452) for B2G mochitest orange. 2014-09-08 16:52:44 -04:00
Sotaro Ikeda 82f2e7e4bf Bug 1058452 - Use FakeMediaStreamGraph r=mikeh 2014-09-08 11:59:16 -07:00
Julian Seward 240a858fc3 Bug 1057274 - SourceMediaStream::SourceMediaStream does not initialise mNeedsMixing. r=karlt.
--HG--
extra : rebase_source : 141860dcecbcdea3af2b1672a18cac5cc83b2316
2014-09-02 22:55:11 +02:00
Ehsan Akhgari f76451d2e9 Bug 1060980 - Fix more bad implicit constructors in the media code; r=roc
--HG--
extra : rebase_source : 14da50f7d2e37e04452445dea575ea4d582e8efd
2014-08-31 23:50:23 -04:00
Paul Adenot 2dc4962f29 Bug 848954 - Part 16 - Make AudioCallbackDriver respect the AudioChannelType. r=roc 2014-08-26 17:02:08 +02:00
Paul Adenot 64e239b778 Bug 848954 - Part 9 - Allow to pass in hints when getting a reference to a MediaStreamGraph to get the right driver started as soon as possible. r=roc
This is useful because some platform have rather slow audio stream
initialization time, especially the first time an audio stream is created for
the process.

We put in telemetry probes to measure that:
First stream opened for the process:
http://telemetry.mozilla.org/#filter=nightly%2F33%2FAUDIOSTREAM_FIRST_OPEN_MS&aggregates=multiselect-all!Submissions!Mean!5th%20percentile!25th%20percentile!median!75th%20percentile!95th%20percentile&evoOver=Builds&locked=true&sanitize=true&renderhistogram=Graph

Subsequent streams:
http://telemetry.mozilla.org/#filter=nightly%2F33%2FAUDIOSTREAM_LATER_OPEN_MS&aggregates=multiselect-all!Submissions!Mean!5th%20percentile!25th%20percentile!median!75th%20percentile!95th%20percentile&evoOver=Builds&locked=true&sanitize=true&renderhistogram=Graph
2014-08-25 15:27:25 +02:00
Paul Adenot 735258f143 Bug 848954 - Part 5 - Mix down all audio and only output a single stream. r=roc 2014-08-25 15:25:49 +02:00
Paul Adenot f4c5b13dbd Bug 848954 - Part 1 - Factor out clocks and scheduling of MSG iterations. r=roc 2014-04-25 16:09:30 +02:00
Paul Adenot 6010fdc4cd Bug 989921 - Allow the MediaStreamGraph mixer to send data back to multiple consumers. r=jesup 2014-08-25 14:13:08 +02:00
Randell Jesup f9ab847e99 Bug 1032839: Backend support for PeerConnection ReplaceTrack() r=padenot,jib 2014-08-25 21:20:44 -04:00
Randell Jesup 3592b4fbba Bug 1054166: Mirror Add/RemoveListener in Add/RemoveDirectListener r=roc 2014-08-17 02:09:21 -04:00
Andrea Marchesini fac69fce74 Bug 1046582 - mochitest for AudioChannel changes in MediaStream objects, r=ehsan, r=bz 2014-08-03 14:46:17 +01:00
Karl Tomlinson 890c626840 b=1033122 be consistent about speex_resampler symbol visibility r=khuey
When "speex/speex_resampler.h" was included, another exported header (in
dist/include) would find the speex/speex_resampler.h in dist/include before
dist/system_wrappers.  Visibility of undefined symbols depended on the order
of includes.

This patch changes includes to <speex/speex_resampler.h> so that
WRAP_SYSTEM_INCLUDES works as expected but removes the wrapper when not using
GKMEDIAS_SHARED_LIBRARY.

--HG--
extra : rebase_source : 93ca1dbdd6b489647624326e78539f44c60d0b34
2014-07-02 14:21:34 +12:00
Karl Tomlinson ea108f4a53 b=1022945 null MediaStream::mGraph before removing stream from graph r=roc
and use mGraph to test whether SourceMediaStreams are destroyed.

--HG--
extra : rebase_source : 03df9e7ab14ecd627dfeb333b79713a7b619f215
2014-07-25 09:09:22 +12:00
Karl Tomlinson d72f9c686e b=1022945 make some SourceMediaStream methods,classes protected r=roc
including ResampleAudioToGraphSampleRate() which assumes a graph.

--HG--
extra : rebase_source : d6884dc8d36e4985e14558cc78d69e99ffeba921
2014-07-25 08:23:40 +12:00
Karl Tomlinson 09a7376680 b=932400 change stream ordering to get feedback DelayNode output before supplying input r=roc
Previously downstream nodes from DelayNodes in cycles sometimes received stale
output from the previous MSG iteration.

Also, if two cycles share a common path, they will now *both* be treated as
cycles, either by muting or by enforcing minimum delay.  Previously, marking
one cycle first could prevent detection of other cycles in the same SCC.

--HG--
extra : rebase_source : 82892c538c5ce514165b5f975474df15b99e3d2b
2014-07-17 12:55:55 +12:00
Randell Jesup 77ee2e1b15 Bug 1035819: patch 1 - Add notification of DirectListeners and generalize Notification of events r=roc 2014-07-14 01:47:56 -04:00
Karl Tomlinson 05746f1c8d 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
Eric Rahm 116ff0ea43 Bug 1027573 - Crash when measuring memory in about:memory while using Web Audio. r=roc 2014-06-20 10:29:10 -07:00
Karl Tomlinson 9d196f97b5 b=1023697 add functions to convert between track ticks and seconds, and remove global MediaTime/second conversion functions r=roc
--HG--
extra : transplant_source : %F3%D8%C168%B7%A3%13%B2p%3Ee%89TkGlD%A8%A7
2014-06-12 16:45:00 +12:00
Karl Tomlinson 7b69861556 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 a87b3e8941 b=1023697 add methods to MediaStream for tick and time conversions r=roc
When MediaTime depends on the audio rate of the graph, the stream will know the
graph rate and so can perform the conversion.

Existing methods in StreamBuffer.h and MediaSegment.h will be removed once
clients have been changed to the new methods.

--HG--
extra : transplant_source : %155uv%90%EC%81%C8%888%C4%17%AF%ED%1B%A0B%90%5E%26
2014-06-12 16:44:56 +12:00
Karl Tomlinson a1f60f3113 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 04329cfcdb b=1010000 update SourceMediaStream::Finish() doc as AdvanceKnownTracksTime() info is incorrect since e526d37a9a19 r=roc
--HG--
extra : transplant_source : B%92%A3%83K%D0%8AE%8A%F32%D1E%0F%DA%0E%C0%AE%27%03
2014-05-19 08:24:01 +12:00
Star Cheng c6183f6ddf Bug 984498: To plumb audiochannel type from AudioContext to MediaStreamGraph r=roc 2014-04-18 17:23:36 +08:00
Carsten "Tomcat" Book f4336f1541 Backed out changeset c07bced21c89 (bug 984498) for mochitest-1 bustage on a CLOSED TREE 2014-04-25 12:09:54 +02:00
Star Cheng 59feac455c Bug 984498: To plumb audiochannel type from AudioContext to MediaStreamGraph r=roc 2014-04-18 17:23:36 +08:00
Paul Adenot aa81ed9e24 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 47979f8e8f Backed out changeset 1f410dde84d9 (bug 984498) 2014-04-23 08:20:37 +02:00
Star Cheng 857419fd92 Bug 984498: To plumb audiochannel type from AudioContext to MediaStreamGraph r=padenot 2014-04-23 09:58:38 +08:00
Eric Rahm 314e9711f0 Bug 967817 - Finish memory reporters for Web Audio. r=roc, njn 2014-04-13 11:08:10 -07:00
Randell Jesup 1977552fae 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
Paul Adenot c906c38e32 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 651e03feb0 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 f04d6425a9 Backed out changeset 5349ecd9c313 (bug 818822) 2014-04-07 15:40:55 -04:00
Randell Jesup a8633fc661 Backed out changeset 87f437be7de5 (bug 982490) 2014-04-07 15:37:56 -04:00
Paul Adenot 3b43fdba8c 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 3e5a0fb811 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 2dfec0638c Backed out 965c62289427:cb894b5d342f for perma-orange on b2g emulator M10 r=backout 2014-04-02 17:11:12 -04:00
Paul Adenot a996edae64 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 d3b8229033 Bug 818822 - Resample all inputs of the MediaStreamGraph to the ideal audio rate. r=roc 2014-03-24 11:06:05 +01:00
Daniel Holbert 0a7b04c924 Bug 984786 part 5: Give NS_INLINE_DECL_*REFCOUNTING classes private/protected destructor & MOZ_FINAL annotation where appropriate, in /content/media. r=kinetik 2014-04-02 09:21:11 -07:00
Karl Tomlinson 5ae65fd2c5 b=932400 rename ProduceOutput to ProcessInput r=roc
--HG--
extra : transplant_source : m0%91%3D%99%EB.%20%28%BD%B4%F4%A5%3F%0C%13%22%BA%FD%06
2014-03-05 10:53:55 +13:00
Chris Pearce aa8aee7920 Bug 968016 - Use a SharedThreadPool of size 1 for the Media State Machine thread. r=kinetik
This makes it easy to share the state machine thread, and for it to shut down
automatically when the last reference is dropped to it.
2014-02-18 11:53:53 +13:00
Paul Adenot 77fe8ccc32 Bug 960057 - When an HTMLMediaElement outputs to a MediaStream, make sure to install the refill callback in any case. r=roc DONTBUILD 2014-02-14 10:38:58 -08:00
Paul Adenot 8185373937 Backed out changeset 4d0197840932 (bug 960057) for invalid bug number in the commit message. 2014-02-17 13:54:17 +01:00
Paul Adenot 34a3734b1a Bug 960059 - When an HTMLMediaElement outputs to a MediaStream, make sure to install the refill callback in any case. r=roc
--HG--
extra : rebase_source : a690159d6395ed7bab2a053bbb1cc65e11bb8be6
2014-02-14 10:38:58 -08:00
Robert O'Callahan 09bac2f130 Bug 943461. Part 13: Keep producing silence in AudioNodeStreams' mLastChunks even after they've finished r=padenot
Without this the last before-finished audio block gets picked up by downstream
ObtainInputBlock calls.

--HG--
extra : rebase_source : d7f804cea59454bdb0aa5931d19bcc123e0d16cb
2013-12-10 13:49:03 +13:00
Robert O'Callahan 27ac5e476a Bug 943461. Part 11: Don't tear down an OfflineAudioContext until its current time has actually reached its end, to ensure that all relevant stream state changes have been forwarded to the main thread. r=padenot
--HG--
extra : rebase_source : 32b9a4cf4c39edfabf5be17cec50a676f1ad4641
2013-12-09 18:08:02 +13:00