Commit Graph

154 Commits

Author SHA1 Message Date
Chris Pearce
15b0194f5f Bug 1067744 - Fix build bustage in e8a1c2b11f71, and actually make the monitor re-entrant. r=bustage. 2014-09-16 20:38:21 +12:00
Chris Pearce
7f7ef76704 Bug 1067744 - Make GMPMutex reentrant. r=jesup 2014-09-16 20:15:14 +12:00
Andrew McCreight
a677ceee79 Bug 1065049 - Enable logging of GMP process name. r=jesup 2014-09-10 14:52:36 -07:00
Andrew McCreight
61a5c7e622 Bug 1058903 - Ignore the GMPService shutdown assert, because it always fails. r=jesup
This is failing all the time right now, but we never reach the assert due to crashing earlier.

To allow us to get e10s shutdown leak checking working, ignore this assertion until GMPService is
fixed for e10s.
2014-09-10 14:52:36 -07:00
Jacek Caban
bf62af6357 Bug 1063511 - Fix mingw builds after bug 1027906. r=tabraldes 2014-09-08 10:35:24 +02:00
Ehsan Akhgari
5c071cc02e 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
Tim Abraldes
6157602479 bug 1027906. Set delayed token level for GMP plugin processes to USER_RESTRICTED. Whitelist certain files and registry keys that are required for EME plugins to successfully load. r=bobowen. r=jesup. r=bent. 2014-08-29 17:34:26 -07:00
Jacek Caban
57c0ae2d2e Bug 1042426 - Added --disable-sandbox option that disables building sandbox code. r=glandium 2014-08-27 16:32:55 +02:00
Ryan VanderMeulen
04c90e50f6 Merge m-c to inbound. a=merge 2014-08-25 16:28:25 -04:00
Steven Michaud
a17eb6d1fd Bug 1056936 - Specify full path to plugin-container in sandbox rules. r=rjesup 2014-08-25 15:01:04 -05:00
Qeole
a149d081ef Bug 1045209 - Remove media.gmp-gmpopenh264.path pref and set install path for OpenH264 plugin to <profile-dir>/<gmp-plugin-id>/<version>. r=unfocused,jesup
Certain usage scenarios, like enterprise roaming profile setups, lead to the installed OpenH264 plugin not being found anymore.
We install the plugin into the profile directory, so the fix here is to just store the install path relative the profile and not an absolute path.
We also now store the plugin in a version-specific subdirectory, which avoids further issues like e.g. Windows preventing updates due to locking loaded DLLs.
2014-08-25 17:23:34 +02:00
Nathan Froyd
631962a036 Bug 1055281 - check for existence of paths in LOCAL_INCLUDES in moz.build; r=mshal 2014-08-20 11:51:33 -04:00
Nathan Froyd
762482b3da Bug 1055114 - convert GMPVideo{Encoder,Decoder} methods to take UniquePtr arguments where appropriate; r=cpearce 2014-08-18 13:11:11 -04:00
Steven Michaud
1bda5ab8b6 Bug 1055308 - GMP Fake plugin keeps crashing in mochitests. r=rjesup 2014-08-21 13:23:02 -05:00
Qeole
19a307aa10 Bug 1040905 - Passing GMP plugin filename as a UTF-8 string. r=bsmedberg 2014-08-20 10:13:25 -04:00
Benjamin Smedberg
89077153d8 Bug 1054965 - initialize the crash reporter correctly in GMP children; reorder the init method so that mac doesn't early-return it away, r=smichaud
--HG--
extra : rebase_source : 7accc05d988ee8d5b6101c012f2d4e23fa631d75
2014-08-19 15:22:16 -04:00
Chris Pearce
a7658fb6b8 Bug 1055408 - Kill GMP timers when entering shutdown. r=jesup 2014-08-19 20:56:55 +12:00
Chris Pearce
27e104e80d Bug 1034368 - Add storage capabilities to GMPs. r=jesup 2014-08-19 20:56:33 +12:00
Nigel Babu
0ad13193ff Backed out changeset 55ea2c2fb857 (bug 1034368) for bustage 2014-08-19 12:07:01 +05:30
Nigel Babu
ec1c45c5c4 Backed out changeset 3b0d1e17cad0 (bug 1055408) for bustage 2014-08-19 12:06:42 +05:30
Chris Pearce
8526e8d309 Bug 1055408 - Kill GMP timers when entering shutdown. r=jesup 2014-08-19 17:03:11 +12:00
Chris Pearce
25f90a04b3 Bug 1034368 - Add storage capabilities to GMPs. r=jesup 2014-08-19 17:03:04 +12:00
Chris Pearce
dd1aae595b Bug 1035056 part 3 - Implement GMPAsyncShutdown interface. r=jesup 2014-08-18 09:41:56 +12:00
Chris Pearce
9c9e610e07 Bug 1035056 part 2 - Force GMPTimers to shutdown when other API objects do, prevent timers from firing after GMPTimerParent is shutdown. r=jesup 2014-08-18 09:41:53 +12:00
Randell Jesup
80ebcbb9f1 Bug 1049501: Don't let the GMPThread event loop recurse while handling IPDL shutdowns r=bsmedberg 2014-08-14 13:50:25 -04:00
Ryan VanderMeulen
d751a0d213 Backed out changeset 2322a7c26246 (bug 1049501) for Windows bustage. 2014-08-15 13:13:14 -04:00
Randell Jesup
447596b23c Bug 1049501: Don't let the GMPThread event loop recurse while handling IPDL shutdowns r=bsmedberg 2014-08-14 13:50:25 -04:00
Jed Davis
66d1734f54 Bug 1043733 - Require sandboxing to load Gecko Media Plugins on Linux. r=jesup r=kang
Also refactors how sandbox support and disabling are handled, and allows
simulating a lack of sandbox support with an env var (for testing
without rebuilding a kernel).
2014-08-12 21:28:27 -07:00
Chris Pearce
5bdadd2f23 Bug 1050582 - Check we're on the correct thread in SetTimerOnMainThread. r=jesup 2014-08-11 14:18:53 +12:00
Steven Michaud
d67d41563b Bug 1012949 - Sandbox the OpenH264 plugin for Mac r=rjesup,areinald,ted a=PatchNeedsToLandToday 2014-08-08 11:55:22 -05:00
Chris Pearce
636eece8ca Bug 1050199 - Support the GMP returning arbitrary audio sample rates and number of channels. r=jesup 2014-08-08 14:44:01 +12:00
Chris Pearce
631440484f Bug 1048107 - Bustage fix. r=bustage. 2014-08-05 20:33:01 +12:00
Chris Pearce
c0ec5650c9 Bug 1048107 - Add GMPTimer implementation and placeholder GMP clock. r=jesup 2014-08-05 19:56:05 +12:00
Chris Pearce
2245d8c218 Bug 1048104 - Add GMPMutex::Destroy(). r=jesup 2014-08-05 19:56:04 +12:00
Chris Pearce
58a96d4766 Bug 1048102 - Delete GMPThreads as they're joined. r=jesup 2014-08-05 19:56:04 +12:00
Chris Pearce
e2dd7df0b9 Bug 1048097 - Delete the GMPBuffer we send into GMP/CDM for decryption once it's been returned decrypted. r=jesup 2014-08-05 19:56:04 +12:00
Jed Davis
7bab545482 Bug 1012951 - Add Linux sandboxing for GeckoMediaPlugin processes. r=kang r=ted
--HG--
extra : rebase_source : 1b890000d5b8d2a8954cdd1118a1023eba829c29
2014-08-04 15:11:18 -07:00
Wes Kocher
7912756da5 Backed out changeset ef8d10dc3927 (bug 1048097) for build bustage on a CLOSED TREE 2014-08-04 16:07:18 -07:00
Wes Kocher
b3604eb0ca Backed out changeset a38bb1a95176 (bug 1048102) for build bustage on a CLOSED TREE 2014-08-04 16:07:08 -07:00
Wes Kocher
7d862f333b Backed out changeset 7b550d45454b (bug 1048104) for build bustage on a CLOSED TREE 2014-08-04 16:06:59 -07:00
Wes Kocher
6f537c630b Backed out changeset 83d8226768ee (bug 1048107) for build bustage on a CLOSED TREE 2014-08-04 16:06:41 -07:00
Chris Pearce
7c9ed0305d Bug 1048107 - Add GMPTimer implementation and placeholder GMP clock. r=jesup 2014-08-05 10:18:31 +12:00
Chris Pearce
44ec4974a4 Bug 1048104 - Add GMPMutex::Destroy(). r=jesup 2014-08-05 10:18:31 +12:00
Chris Pearce
e6ff1eaf1d Bug 1048102 - Delete GMPThreads as they're joined. r=jesup 2014-08-05 10:18:31 +12:00
Chris Pearce
f32c7614e8 Bug 1048097 - Delete the GMPBuffer we send into GMP/CDM for decryption once it's been returned decrypted. r=jesup 2014-08-05 10:18:12 +12:00
Randell Jesup
032f0dc66b Bug 1044408: add missing nit from review r=ted 2014-08-04 10:28:20 -04:00
Chris Pearce
aea84628ca Bug 1047204 - Implement GMPAudioDecoder interface. r=jesup 2014-08-03 09:29:26 +12:00
Chris Pearce
7cc92fb518 Bug 1047205 - Attach crypto info to encoded GMP video frames. r=jesup 2014-08-03 09:29:18 +12:00
Randell Jesup
d922d76394 Bug 1047442: bustage fix (unified builds) rs=bustage,kwierso on a CLOSED TREE 2014-08-01 17:53:59 -04:00
Randell Jesup
251c8f2513 Bug 1047442: Add thread to resolve deadlock on sendCritSect caused by sync Encode dispatch to GMPThread r=pkerr 2014-08-01 17:27:52 -04:00
Randell Jesup
523b21da24 Bug 1044408: enable crashing all GMP plugins on a pref strobe r=cpearce,ted 2014-07-30 17:40:43 -04:00
Ed Morley
433e593c8c Backed out changeset d50d7e88f35e (bug 1012951) for LSan failures 2014-07-30 16:49:43 +01:00
Jed Davis
ac97af274c Bug 1012951 - Sandbox GMP plugins on Linux using seccomp-bpf. r=kang r=ted 2014-07-29 15:31:12 -07:00
Chris Pearce
44b0d5968b Bug 1043147 - Update CDMProxy and EME JS APIs to proxy calls to a GMP/CDM. r=ehsan 2014-07-30 18:53:28 +12:00
Randell Jesup
89f3fc9ceb Bug 1044550: Move GMP shared mem cache from a global to per-GMPParent r=cpearce 2014-07-28 11:44:20 -04:00
Randell Jesup
fd5eebc63c Bug 1043531: Safely delete GMP processes when unused and handle plugin crashes r=cpearce 2014-07-28 11:42:55 -04:00
Chris Pearce
88f1547b33 Bug 1042373 - Fix unused-in-opt-build WAE. r=burning. 2014-07-28 11:42:06 +12:00
Chris Pearce
ef07674c94 Bug 1042373 - Implement GMPDecryptor interface for use in GMPs. r=jesup 2014-07-28 11:20:34 +12:00
Georg Fritzsche
6ee6f7fa24 Bug 1041226: Make sure IPC channel is open before initializing GMP CrashReporter r=jesup 2014-07-22 16:00:00 +02:00
Randell Jesup
50baa1493e Bug 1042765 - Better logging for GMP plugins r=cpearce 2014-07-24 21:47:44 -04:00
Randell Jesup
0780c7491c Bug 1041232: Deferred GMP process shutdown to avoid Shmem lockup (workaround) r=cpearce 2014-07-24 21:47:41 -04:00
Randell Jesup
8591e2dec0 Bug 1041232: Resolve GMP API lifetime issues and allow mid-call shutdown, etc r=cpearce 2014-07-24 21:47:40 -04:00
Chris Pearce
2e4358d5e7 Bug 1042342 - Add GMPDecryptor::DecryptingComplete() to gmp-api. r=jesup 2014-07-24 09:35:02 +12:00
Chris Pearce
1ad436df22 Bug 1041384 - Update GMP APIs for decrypt without decoding and reporting capabilities. r=jesup 2014-07-24 09:35:02 +12:00
Chris Pearce
9633095076 Bug 1038615 - Report GMP decoding/encoding errors asynchronously. r=jesup 2014-07-24 09:35:01 +12:00
Randell Jesup
d5d69056c4 Bug 1038961: Fix --disable_webrtc breakage due to mtransport/runnable_utils r=dholbert, ted 2014-07-23 04:26:05 -04:00
Mike Hommey
b99bba5c3f Bug 1041864 - Remove LIBRARY_NAMEs that aren't used. r=mshal 2014-07-23 08:39:56 +09:00
Randell Jesup
4ac7943b4f Bug 1038961: Patch 1 - Send GMP plugin crashes to observer, and implement PluginID system r=cpearce,jib 2014-07-21 03:50:09 -04:00
Randell Jesup
6b383c6465 Bug 1041226: disable crashreporter in GMP plugins until it's ready r=gfritzsche a=kwierso 2014-07-19 19:51:37 -04:00
Randell Jesup
2a66338f30 Bug 1040345: Fix shutdown design issues with Webrtc GMP interfaces and quash leaks r=gcp 2014-07-19 19:14:03 -04:00
Benjamin Smedberg
6a1e7fc555 Bug 1039575 followup to fix --disable-crashreporter builds r=bustage 2014-07-18 14:23:07 -04:00
Benjamin Smedberg
76203fd3dd Bug 1039572 - Fix the re-entry problem with GMPParent::ActorDestroy and the MaybeUnload callers who are asynchronous, r=jesup 2014-07-18 13:37:06 -04:00
Benjamin Smedberg
214fd35cc4 Bug 1039575 - Hook up crash reporting for GMP plugins to the point where we have a crash ID in GMPParent::ActorDestroy, r=ted
* * *
Bug 1039575 followup - always return from GMPChild
2014-07-18 13:35:44 -04:00
Randell Jesup
0ff7099b5e Bug 1037754: Query GMPService to determine if H.264 is available r=cpearce 2014-07-16 22:59:17 -04:00
Randell Jesup
6de133ee99 Backed out changeset 6d976c67e926 (bug 1037754) 2014-07-16 23:50:10 -04:00
Randell Jesup
f9990e063e Bug 1037754: Query GMPService to determine if H.264 is available r=cpearce 2014-07-16 22:59:17 -04:00
Tim Abraldes
2271b8aa31 bug 985252. Build sandbox code regardless of whether --enable-content-sandbox/MOZ_CONTENT_SANDBOX is provided. Enable sandboxing of GMP plugins. Enable SandboxBroker to set different security policies for different process types. r=bbondy, r=cpearce, r=bent 2014-07-16 16:01:34 -07:00
Randell Jesup
7da48eb8d2 Bug 1037911: bustage fix for the other half rs=bustage 2014-07-13 20:48:45 -04:00
Randell Jesup
d7b8f3271a Bug 1037911: Bustage fix for -Werror rs=bustage 2014-07-13 15:11:39 -04:00
Randell Jesup
51e9a98280 Bug 1037911: Downgrade assertion on GMP codec destruction since an edge case triggers it r=cpearce 2014-07-13 02:06:58 -04:00
Chris Pearce
51e6635487 Bug 1037317 - Move GMPBufferType to be a property of GMPVideoFrameEncoded. r=jesup 2014-07-11 10:39:10 -04:00
Chris Pearce
642fd1a624 Bug 1035653 - Proxy GMPParent creation to main thread to avoid assert in IToplevelProtocol ctor. r=jesup 2014-07-11 15:36:38 +12:00
Chris Pearce
40161d6200 Bug 1020760 - Pass GMP codec specific info as a uint8_t[], and pass buffer type separately. r=jesup 2014-07-11 15:36:21 +12:00
Chris Pearce
77d72ce6d8 Bug 1020760 - Update GMP APIs to support EME plugins. r=jesup 2014-07-11 15:35:56 +12:00
Chris Pearce
6699a6e910 Bug 1020090 - Ensure we don't report leaking the GMP free list. r=jesup 2014-07-11 15:35:28 +12:00
Randell Jesup
74e9a36353 Bug 1020090: Proxy all GMP Shmem create/delete to parent and reduce allocation traffic. r=nical 2014-07-01 22:26:35 -04:00
Ryan VanderMeulen
12f0323d62 Backed out 5 changesets (bug 1020760, bug 1035653, bug 1020090) for leaks on a CLOSED TREE.
Backed out changeset f0b20e3db93c (bug 1020760)
Backed out changeset 412b654e5cd2 (bug 1035653)
Backed out changeset 01ba0892af29 (bug 1020760)
Backed out changeset c7de1f4b078f (bug 1020760)
Backed out changeset 96aa9d33a1f5 (bug 1020090)
2014-07-10 21:43:04 -04:00
Chris Pearce
0c190f1a7c Bug 1035653 - Proxy GMPParent creation to main thread to avoid assert in IToplevelProtocol ctor. r=jesup 2014-07-11 12:21:33 +12:00
Chris Pearce
96de77e4a1 Bug 1020760 - Pass GMP codec specific info as a uint8_t[], and pass buffer type separately. r=jesup 2014-07-11 12:21:13 +12:00
Chris Pearce
0b4b3a50b2 Bug 1020760 - Update GMP APIs to support EME plugins. r=jesup 2014-07-11 12:20:51 +12:00
Randell Jesup
a57219d56f Bug 1020090: Proxy all GMP Shmem create/delete to parent and reduce allocation traffic. r=nical 2014-07-01 22:26:35 -04:00
Benjamin Smedberg
8961003e8a Bug 1032814 - Gecko media plugins should not automatically enable plugin from system locations. Instead, there is a programmatic API for registering available plugins which will be used by addons or the addon manager. For development, there is also an environment variable. r=josh/jesup 2014-07-10 14:48:11 -04:00
Ed Morley
37cda6c7a5 Backed out changeset 91f25a63dea9 (bug 1032814) for build failures 2014-07-10 17:43:21 +01:00
Benjamin Smedberg
64468154ba Bug 1032814 - Gecko media plugins should not automatically enable plugin from system locations. Instead, there is a programmatic API for registering available plugins which will be used by addons or the addon manager. For development, there is also an environment variable. r=josh/jesup
--HG--
extra : rebase_source : dcd8708ac50a96cff3c59d3c4a531288c19bd961
2014-07-10 10:32:59 -04:00
Chris Pearce
d0c6a2bd83 Bug 1024300 - Allow GMPs to be segregated by origin. r=josh 2014-06-30 11:02:39 +12:00
Ehsan Akhgari
baf1bebd32 Fix the places where we forward declare already_AddRefed as a struct, no bug, r=I'm-sick-and-tired-of-MSVC-stupidity 2014-06-17 10:57:23 -04:00
Randell Jesup
370f28d765 Bug 999704: Implement GMP codec interface to webrtc (not enabled yet) r=joshmoz,ehugg,jesup,pkerr 2014-06-08 17:25:18 -04:00
Ryan VanderMeulen
0ae54304d5 Backed out changeset 2af237fa2079 (bug 999704) for bustage.
CLOSED TREE DONTBUILD
2014-06-08 14:39:44 -04:00
Randell Jesup
8cf755ddd9 Bug 999704: Implement GMP codec interface to webrtc (not enabled yet) r=joshmoz,ehugg,jesup 2014-06-08 14:07:53 -04:00
Jan Beich
d43aad9a35 Bug 1012415 - Explicitly include <unistd.h> for _exit() on XP_UNIX. r=josh 2014-05-18 10:29:00 -04:00