Commit Graph

2372 Commits

Author SHA1 Message Date
Sotaro Ikeda
806c406d91 Bug 1143694 - Care about gralloc YV12 stride r=jesup 2015-04-02 09:28:11 -07:00
Peter Van der Beken
42dd041fc8 Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 6 - enable tests on e10s that were blocked on fixing bug 1057908.
--HG--
extra : rebase_source : b0cfe4b73ea595aef8532e26a1306dc2b9325b71
2015-03-24 00:09:41 +01:00
Peter Van der Beken
166fcb5464 Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 5 - use bridging for GMP in e10s. r=billm.
--HG--
extra : rebase_source : a20ed3386758ceabccb50b68a9b9081c17a95c49
2015-02-10 11:49:03 +01:00
Peter Van der Beken
8308cf3a1b Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 4 - make GetNodeId asynchronous. r=jwwang.
--HG--
extra : rebase_source : 59784b0a947cd870791a85b22c4d0607d9cdb835
2015-02-10 11:48:52 +01:00
Peter Van der Beken
75ade681f5 Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 3 - split the GMP IPDL actors in 2 parts (and use opens to open the second in non-e10s). r=billm.
--HG--
extra : rebase_source : 260e61d4a3e688e3ae3fb5c956d3ecce50fd7e0d
2015-02-10 11:48:42 +01:00
Peter Van der Beken
83b03d9a6f Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 2 - support asynchronous GMP API getters. r=jwwang,rjesup.
--HG--
extra : rebase_source : 7010b6a0d5f3efc1ee749f836a37905f250d7cc6
2015-02-10 11:48:29 +01:00
Peter Van der Beken
f3fd8b5329 Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 1 - split GeckoMediaPluginService into a part for chrome and a part for both content and chrome. r=jwwang.
--HG--
rename : dom/media/gmp/GMPService.cpp => dom/media/gmp/GMPServiceParent.cpp
rename : dom/media/gmp/GMPService.h => dom/media/gmp/GMPServiceParent.h
rename : dom/media/gmp/mozIGeckoMediaPluginService.idl => dom/media/gmp/mozIGeckoMediaPluginChromeService.idl
extra : rebase_source : 7fe8972a20b198ca960ae76df082b153d22c37b4
2015-02-09 21:54:12 +01:00
Peter Van der Beken
5ae3fb0f69 Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Part 0 - Make mozIGeckoMediaPluginService::GetPluginVersionForAPI return whether we even have the plugin. r=cpearce.
--HG--
extra : rebase_source : fdb14a5ad68a7c6c76a4b67ca9ece1094d06422c
2015-02-24 15:03:56 +01:00
Peter Van der Beken
ec1c124919 Bug 1057908 - GeckoMediaPluginService needs to be proxied from Content processes to parent process. Add nsServiceManagerUtils.h include to WMFDecoderModule.cpp.
--HG--
extra : rebase_source : 4285384ce5c38bd296ba065adf4f057c5e12dced
2015-03-24 13:46:56 +01:00
Karl Tomlinson
5ff9091968 bug 1149376 remove no-op assignment of loop terminator variable r=cajbir
--HG--
extra : rebase_source : 9d9fe731ef616a9fbcbcd4844412a6886dd940fd
2015-03-31 13:52:10 +13:00
Karl Tomlinson
a1294b7697 bug 1149376 release leaking GstIterator holding on to mPlayBin r=cajbir
--HG--
extra : rebase_source : 3746864d01b6b1eba86de3b2af9854303f409138
2015-03-31 13:46:58 +13:00
Matt Woodrow
5616e5d763 Bug 1102612 - Don't attempt to read data from a resource if we've evicted the start position. r=jya 2015-04-02 11:10:34 +13:00
Dragana Damjanovic
b658f9d97e Bug 647010 - Limit when HTTP authentication dialog is shown. Block cross-origin http auth prompts with pref. r=mayhemer, r=tanvi 2015-04-01 06:56:00 -04:00
Carsten "Tomcat" Book
223480b06a Backed out changeset 9a21cd6530b1 (bug 996238) 2015-04-01 16:14:05 +02:00
Carsten "Tomcat" Book
be87c8e736 Backed out changeset 445c2952117c (bug 996238) 2015-04-01 16:14:00 +02:00
Gerald Squelart
19543b2301 Bug 1144409 - Test that encrypted events are fired for each initData. r=edwin 2015-03-26 18:58:00 -04:00
Gerald Squelart
9c87262f4f Bug 1144409 - Encrypted event should be fired once per initData. r=cpearce 2015-04-01 03:36:00 -04:00
Martin Thomson
73191bb9d0 Bug 996238 - Move more of the test code to promises. r=jib
--HG--
extra : transplant_source : %26%24%FFb%E7%95%FE%BF%82%19%0B%D5%0F3l%1F%D7%28%928
2015-03-31 16:01:52 -07:00
Martin Thomson
3812b282fb Bug 996238 - Adding test for asymmetric media isolation across PC. r=ekr
--HG--
extra : transplant_source : %7C%85%7B%C5R%BB%20Y%DF%7E%B3%D91%CC%F4%D2%DD%24%3E%18
2015-03-31 16:01:52 -07:00
Bob Owen
e4f543bb58 Bug 1119878 Part 2: Change IPC code to hold ProcessID instead of ProcessHandle. r=billm, r=dvander, r=aklotz, r=cpearce 2015-04-01 09:40:35 +01:00
Bob Owen
eef3ca5f6e Bug 1119878 Part 1: Change SandboxTarget to hold sandbox target services to provide functions. r=aklotz, r=glandium, r=cpearce 2015-04-01 09:40:35 +01:00
Chris Pearce
f800285f02 Bug 1148286 - Ensure we don't nullpointer deref if the CDM crashes in MediaKeys and Reader::SetCDMProxy implementations. r=edwin 2015-04-01 20:48:43 +13:00
Matt Woodrow
6c21c805bf Bug 1149343 - Followup to fix bustage on a CLOSED TREE 2015-04-01 16:39:07 +13:00
Jean-Yves Avenard
8ea88abcfd Bug 1149343 - Part2: Add HW decode blacklisting support on mac. r=mattwoodrow 2015-03-31 14:18:38 +11:00
Matt Woodrow
b3d4a15c89 Bug 1149343 - Part 1: Unify prefs/blacklist for hardware acceleration video decoding. r=cpearce 2015-04-01 16:06:56 +13:00
Byron Campen [:bwc]
3ff500ee41 Bug 1149298 - Part 1: Test cases. r=drno
--HG--
extra : rebase_source : a29be5c74c4bddfe672159b0de12a61e8540b9df
2015-03-30 15:46:49 -07:00
Byron Campen [:bwc]
c72b942b7e Bug 1148649: Reenable video multistream mochitests on debug e10s. r=drno
--HG--
extra : rebase_source : 5e29d37c289cb67148bafe7947191bb6de1338a6
extra : amend_source : b89129bcedf027ffc5c19cc17d5faeba6eb545b6
2015-03-26 13:03:29 -07:00
Ryan VanderMeulen
ab26b260cd Merge m-c to inbound. a=merge
CLOSED TREE
2015-03-31 15:01:26 -04:00
Ryan VanderMeulen
bf52a3a76f Merge inbound to m-c. a=merge 2015-03-31 14:08:52 -04:00
Ryan VanderMeulen
608e0e0c96 Backed out changeset 95866bc69415 (bug 1144409) for bustage. 2015-03-31 11:16:29 -04:00
Ryan VanderMeulen
5afca0859f Backed out changeset 13c7176938cd (bug 1144409) 2015-03-31 11:16:21 -04:00
Alastor Wu
5f4ff6530f Bug 1107534 - Using audio channels type to capture different stream. r=roc 2015-03-31 10:14:00 +08:00
Gerald Squelart
b27ea35c32 Bug 1144409 - Test that encrypted events are fired for each initData. r=edwin 2015-03-26 18:58:00 -04:00
Gerald Squelart
1d7764854a Bug 1144409 - Encrypted event should be fired once per initData. r=cpearce 2015-03-26 18:57:00 -04:00
Sotaro Ikeda
1255918bb8 Bug 1139206 - Update AudioOffloadPlayer seek r=bholley,bwu 2015-03-31 10:02:22 -07:00
Mike Hommey
c39e359c7d Bug 1138293 - Use malloc/free/realloc/calloc instead of moz_malloc/moz_free/moz_realloc/moz_calloc. r=njn
The distinction between moz_malloc/moz_free and malloc/free is not
interesting. We are inconsistent in our use of one or the other, and
I wouldn't be surprised if we are mixing them anyways.
2015-03-31 12:32:49 +09:00
Jed Davis
08d1c1ef36 Bug 1149312 - Obtain test coverage for the file-backed case of MediaRecorder. r=roc
--HG--
extra : rebase_source : a32154a1d15308c204848e8b2fb7f0070cc4490f
2015-03-30 17:13:00 +02:00
Blake Wu
2030c9f064 Bug 1147258 - Check with assertion if there is any queued sample when EOS. r=ajones
--HG--
extra : rebase_source : 4047c157bbbc196b04879b476e6e7e5d096c8fef
2015-03-27 15:56:07 +08:00
Jean-Yves Avenard
a288b721e4 Bug 1133633: Part2. Enable async decoding on mac. r=mattmoodrow 2015-03-31 20:36:32 +11:00
Jean-Yves Avenard
624eb59f55 Bug 1062098: Do not attempt to display dropped frames. r=mattwoodrow 2015-03-31 20:36:29 +11:00
Chris Pearce
5d922e0e8e Bug 1146201 - Delay navigator.requestMediaKeySystemAccess if CDM not downloaded yet or needs update. r=jwwang,ehsan 2015-03-31 20:50:01 +13:00
Bobby Holley
e42f8208f6 Bug 1147555 - Implement logging for MediaTimer. r=mattwoodrow 2015-03-30 20:06:38 -07:00
Bobby Holley
9f31ecca48 Bug 1147555 - Invert the ordering of our priority queue. r=mattwoodrow 2015-03-30 20:06:38 -07:00
Carsten "Tomcat" Book
60382cb6ba Backed out changeset bf22c9e5c5a3 (bug 1094764) for crashtest failures on a CLOSED TREE 2015-03-30 15:14:09 +02:00
Paul Adenot
6ee36e38f6 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).
2015-02-27 18:22:05 +01:00
Edwin Flores
157fb06549 Bug 1142835 - Null check mPlugin on GMPAudioDecoderParent shutdown - r=cpearce 2015-03-30 14:58:19 +13:00
Jan-Ivar Bruaroey
924f8ae71f Bug 1046245 - IO on STS thread + cleanup BackgroundChild on shutdown. r=jesup 2015-03-29 13:43:43 -04:00
Jan-Ivar Bruaroey
c6676519f2 Bug 1046245 - enumerateDevices w/non-blocking e10s, nsICryptoHMAC, clear cookies, lambdas. r=keeler, florian, billm, jesup 2015-03-03 09:51:05 -05:00
Jan-Ivar Bruaroey
95f7adab84 Bug 1046245 - enumerateDevices origin-unique ids persisted to disk. r=jesup 2015-03-03 09:51:05 -05:00
Jan-Ivar Bruaroey
8af3083f44 Bug 1046245 - enumerateDevices session-persisted hmac id. r=jesup 2015-02-23 11:50:48 -05:00