7f283bb1827ce8e6a426713ceda96cfca0712fd3: Bug 1150853: Part1. Create MediaRawData object type. r=cpearce
Jean-Yves Avenard <jyavenard@mozilla.com> - Thu, 09 Apr 2015 21:14:55 +1000 - rev 268163
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1150853: Part1. Create MediaRawData object type. r=cpearce This object extends MediaData and will be used to contain demuxed compressed data.
b9fcd818c945f1769dfd4d575428936f3c891a62: Bug 1152425: Fix unicode string lookup in Marionette client
Andreas Tolfsen <ato@mozilla.com> - Wed, 08 Apr 2015 18:39:53 +0100 - rev 268162
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1152425: Fix unicode string lookup in Marionette client r=jgraham
450f08cb8777a873fea94c3c8fdb1fecc80baa83: Backed out changeset 35e6bbc2136b (bug 1134596) for Android Crashtest failures
Carsten "Tomcat" Book <cbook@mozilla.com> - Thu, 09 Apr 2015 12:33:41 +0200 - rev 268161
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Backed out changeset 35e6bbc2136b (bug 1134596) for Android Crashtest failures
5c1530d4b38cf911491deab62a4ba6ba8e5a18e6: Backed out changeset 82d6b5523a2b (bug 1134596)
Carsten "Tomcat" Book <cbook@mozilla.com> - Thu, 09 Apr 2015 12:31:51 +0200 - rev 268160
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Backed out changeset 82d6b5523a2b (bug 1134596)
09e982a5d59166a1c3ff123a9c7d1122abe2dcca: Backed out changeset fb48ee62bab4 (bug 1134596)
Carsten "Tomcat" Book <cbook@mozilla.com> - Thu, 09 Apr 2015 12:31:49 +0200 - rev 268159
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Backed out changeset fb48ee62bab4 (bug 1134596)
baaa01bb29bb54b3e83ba72d3939cab243ad4f88: Bug 1128365 - MOZ_TOOLS is unnecessary. r=glandium
Makoto Kato <m_kato@ga2.so-net.ne.jp> - Thu, 09 Apr 2015 19:24:02 +0900 - rev 268158
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1128365 - MOZ_TOOLS is unnecessary. r=glandium
fa63bc4130b978dfd5e2d3dbf575475cd1993467: Bug 1152359 - Fix doppler shift calculation formula. r=padenot
Boris Egorov <egorov@linux.com> - Wed, 08 Apr 2015 21:18:54 +0600 - rev 268157
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1152359 - Fix doppler shift calculation formula. r=padenot
7fc52c48e6e315c9a662b6fac639b320b0790cab: Bug 1094764 - Implement AudioContext.suspend and friends. r=roc,ehsan
Paul Adenot <paul@paul.cx> - Fri, 27 Feb 2015 18:22:05 +0100 - rev 268156
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1094764 - Implement AudioContext.suspend and friends. r=roc,ehsan - Relevant spec text: - http://webaudio.github.io/web-audio-api/#widl-AudioContext-suspend-Promise - http://webaudio.github.io/web-audio-api/#widl-AudioContext-resume-Promise - http://webaudio.github.io/web-audio-api/#widl-AudioContext-close-Promise - http://webaudio.github.io/web-audio-api/#widl-AudioContext-state - http://webaudio.github.io/web-audio-api/#widl-AudioContext-onstatechange - In a couple words, the behavior we want: - Closed context cannot have new nodes created, but can do decodeAudioData, and create buffers, and such. - OfflineAudioContexts don't support those methods, transitions happen at startRendering and at the end of processing. onstatechange is used to make this observable. - (regular) AudioContexts support those methods. The promises and onstatechange should be resolved/called when the operation has actually completed on the rendering thread. Once a context has been closed, it cannot transition back to "running". An AudioContext switches to "running" when the audio callback start running, this allow authors to know how long the audio stack takes to start running. - MediaStreams that feed in/go out of a suspended graph should respectively not buffer at the graph input, and output silence - suspended context should not be doing much on the CPU, and we should try to pause audio streams if we can (this behaviour is the main reason we need this in the first place, for saving battery on mobile, and CPU on all platforms) - Now, the implementation: - AudioNodeStreams are now tagged with a context id, to be able to operate on all the streams of a given AudioContext on the Graph thread without having to go and lock everytime to touch the AudioContext. This happens in the AudioNodeStream ctor. IDs are of course constant for the lifetime of the node. - When an AudioContext goes into suspended mode, streams for this AudioContext are moved out of the mStreams array to a second array, mSuspendedStreams. Streams in mSuspendedStream are not ordered, and are not processed. - The MSG will automatically switch to a SystemClockDriver when it finds that there are no more AudioNodeStream/Stream with an audio track. This is how pausing the audio subsystem and saving battery works. Subsequently, when the MSG finds that there are only streams in mSuspendedStreams, it will go to sleep (block on a monitor), so we save CPU, but it does not shut itself down. This is mostly not a new behaviour (this is what the MSG does since the refactoring), but is important to note. - Promises are gripped (addref-ed) on the main thread, and then shepherd down other threads and to the GraphDriver, if needed (sometimes we can resolve them right away). They move between threads as void* to prevent calling methods on them, as they are not thread safe. Then, the driver executes the operation, and when it's done (initializing and closing audio streams can take some time), we send the promise back to the main thread, and resolve it, casting back to Promise* after asserting we're back on the main thread. This way, we can send them back on the main thread once an operation has complete (suspending an audio stream, starting it again on resume(), etc.), without having to do bookkeeping between suspend calls and their result. Promises are not thread safe, so we can't move them around AddRef-ed. - The stream destruction logic now takes into account that a stream can be destroyed while not being in mStreams. - A graph can now switch GraphDriver twice or more per iteration, for example if an author goes suspend()/resume()/suspend() in the same script. - Some operation have to be done on suspended stream, so we now use double for-loop around mSuspendedStreams and mStreams in some places in MediaStreamGraph.cpp. - A tricky part was making sure everything worked at AudioContext boundaries. TrackUnionStream that have one of their input stream suspended append null ticks instead. - The graph ordering algorithm had to be altered to not include suspended streams. - There are some edge cases (adding a stream on a suspended graph, calling suspend/resume when a graph has just been close()d).
59247aa975ee78e2031bdb01822d0685494f163b: Bug 1152236: OMX codec should use AnnexB as input format. r=jya
Alfredo Yang <ayang> - Thu, 09 Apr 2015 01:18:00 +1000 - rev 268155
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1152236: OMX codec should use AnnexB as input format. r=jya
e0d7904d5d21d333769427e2e1e8146d2ac26f41: Bug 1138881: IonMonkey - Part 4: Fold redudant OR compare away, r=bhackett
Hannes Verschore <hv1989@gmail.com> - Thu, 09 Apr 2015 09:45:09 +0200 - rev 268154
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1138881: IonMonkey - Part 4: Fold redudant OR compare away, r=bhackett
fa58bda5bde2ccf2542422184fded97f53b2a81c: Bug 1142593 - factor atomics into the platform layer. r=waldo
Lars T Hansen <lhansen@mozilla.com> - Thu, 09 Apr 2015 08:09:58 +0200 - rev 268153
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1142593 - factor atomics into the platform layer. r=waldo
d2a1fc813b91ec868a7e16e9de20658dc66de2ce: Bug 1141862 - Followup: Remove erronously landed debug spew. r=me
Eric Faust <efaustbmo@mozilla.com> - Wed, 08 Apr 2015 22:40:51 -0700 - rev 268152
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1141862 - Followup: Remove erronously landed debug spew. r=me
b987bc66a933b3fb5ccc2d35a4491cb432b653ef: Bug 1151489. Enable software vsync on all b2g versions. r=kats
Mason Chang <mchang@mozilla.com> - Wed, 08 Apr 2015 22:02:01 -0700 - rev 268151
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1151489. Enable software vsync on all b2g versions. r=kats
a3f6306dd05e64ea03f427652680151f89357e99: Bug 1141862 - Part 6: Implement ES6 SuperProperty and SuperMember. (r=jorendorff)
Eric Faust <efaustbmo@gmail.com> - Wed, 08 Apr 2015 17:41:01 -0700 - rev 268150
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1141862 - Part 6: Implement ES6 SuperProperty and SuperMember. (r=jorendorff)
8c22476cabcae21cb93d8680f3663009f65843a6: Bug 1151656 - Use TailDispatch for the MDSM's task queue. r=mattwoodrow
Bobby Holley <bobbyholley@gmail.com> - Tue, 07 Apr 2015 12:20:43 -0700 - rev 268149
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1151656 - Use TailDispatch for the MDSM's task queue. r=mattwoodrow
8b257d9772718afe34a7fd8896e48cd28b298182: Bug 1151656 - Make MediaPromises operate with TaskDispatchers. r=mattwoodrow
Bobby Holley <bobbyholley@gmail.com> - Thu, 02 Apr 2015 16:47:35 -0700 - rev 268148
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1151656 - Make MediaPromises operate with TaskDispatchers. r=mattwoodrow
9b43eca6d969d21e1bb72a9716fa8096f79093f8: Bug 1151656 - Implement the ability to assert tail dispatch. r=mattwoodrow
Bobby Holley <bobbyholley@gmail.com> - Tue, 07 Apr 2015 11:44:10 -0700 - rev 268147
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1151656 - Implement the ability to assert tail dispatch. r=mattwoodrow In order to make sure that the MDSM properly dispatches everything via tail dispatch, we want verification that is more robust than simple inspection.
fd5e9c300a80423a9aed9171bbe21c48d73be9d6: Bug 1151656 - Implement a post-run TaskDispatcher for MediaTaskQueue. r=mattwoodrow
Bobby Holley <bobbyholley@gmail.com> - Mon, 06 Apr 2015 11:24:16 -0700 - rev 268146
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1151656 - Implement a post-run TaskDispatcher for MediaTaskQueue. r=mattwoodrow
1c6ee34874d872b25e625f651ef24156de70e1e9: Bug 1151656 - Implement TaskDispatcher.h. r=mattwoodrow
Bobby Holley <bobbyholley@gmail.com> - Mon, 06 Apr 2015 12:12:09 -0700 - rev 268145
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1151656 - Implement TaskDispatcher.h. r=mattwoodrow
94128d385667f1379575855bd342c0256bdb5ce3: Bug 1151656 - Implement the ability to get the currently running task queue. r=mattwoodrow
Bobby Holley <bobbyholley@gmail.com> - Tue, 07 Apr 2015 11:26:35 -0700 - rev 268144
Push 4830 by jlund@mozilla.com at Mon, 29 Jun 2015 20:18:48 +0000
Bug 1151656 - Implement the ability to get the currently running task queue. r=mattwoodrow I think this will generally be useful for asserting things. If we're concerned about the TLS overhead we could make it debug-only, but my sense is that it's negligible.
(0) -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 +300000 tip