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

411 Коммитов

Автор SHA1 Сообщение Дата
Chris Pearce b430a8a481 Bug 1306314 - Add an ID to GMPDecryptor instances, reflect that on CDMProxy. r=gerald
This enables us to identify GMPDecryptor instances in the child process, so that
in a later patch when we create a GMPVideoDecoder instance, we can associate it
with a GMPDecryptor. Then the cdm::ContentDecryptionModule8 instance that these
two actors are adapted to can know whom it's supposed to respond to.

We use the IPDL PGMPDecryptorChild actor ID as the GMPDecryptor's ID. This is unique
per GMP process, which is sufficient.

MozReview-Commit-ID: 7NKND9VjPUW

--HG--
extra : rebase_source : da14d9a8a7313a609e30649af1a23e79b3e401fe
2016-11-11 12:10:43 +13:00
Iris Hsiao d9a1a0a083 Backed out changeset 9e9727bdc484 (bug 1306314) 2016-11-14 11:07:39 +08:00
Iris Hsiao 891306a89a Backed out changeset 9343cb73c218 (bug 1306314) 2016-11-14 11:07:28 +08:00
Iris Hsiao 8be72fb1e5 Backed out changeset e2a5702d96b0 (bug 1306314) 2016-11-14 11:07:23 +08:00
Iris Hsiao 85b8be1656 Backed out changeset d37e28309560 (bug 1306314) 2016-11-14 11:07:19 +08:00
Iris Hsiao cd600c5ab4 Backed out changeset 5c5600e1f30f (bug 1306314) for bustage 2016-11-14 11:07:13 +08:00
Chris Pearce 21137c728b Bug 1306314 - Allow Widevine CDM process to contain multiple CDM instances and to have persistent storage. r=gerald
This change ensures that we don't create a new random node Id for every
MediaKeys object using Widevine - which has the effect of ensuring
Widevine CDMs that are same origin get created in the same process, and
that persistent storage can be used and retrieved.

MozReview-Commit-ID: K55rkcu9jWo

--HG--
extra : rebase_source : 9bd789d05d1f5ed0a00eeb9870668e6335e899e6
2016-11-14 11:43:45 +13:00
Chris Pearce 14a0cc34ed Bug 1306314 - Use decryptor ID in WidevineAdapter to link decryptors with decoders. r=gerald
Store a mapping of decryptor ID to the CDM instance that the corresponding
WidevineDecryptor is using. This allows us to link GMPDecryptor instances
with the corresponding GMPVideoDecoder.

The CDM is stored inside the CDMWrapper, so that we destroy the CDM instance
when the last reference to the CDM is dropped.

MozReview-Commit-ID: FQYzh77yjoC

--HG--
extra : rebase_source : 7e8c264200e904a4f5a1311f11cd317d98df9791
2016-11-11 15:39:10 +13:00
Chris Pearce 7af167a212 Bug 1306314 - Pipe decryptor ID through to WidevineAdapter. r=gerald
MozReview-Commit-ID: HqRoImDhuFl

--HG--
extra : rebase_source : 7c8459af145e948a15eade34a842df92184353d4
2016-11-11 14:55:56 +13:00
Chris Pearce 5926bef365 Bug 1306314 - Pass decryptor ID to GMPVideoDecoder constructor. r=gerald
Retrieve the ID of the GMPDecryptor from the GMPCDMProxy, and pass that
through to the GMPVideoDecoder's constructor.

MozReview-Commit-ID: IuNsSroZ9Zu

--HG--
extra : rebase_source : 6f1db4a019deaedac07fa15c1958270268dcb941
2016-11-14 11:07:02 +13:00
Chris Pearce ec543ad267 Bug 1306314 - Add an ID to GMPDecryptor instances, reflect that on CDMProxy. r=gerald
This enables us to identify GMPDecryptor instances in the child process, so that
in a later patch when we create a GMPVideoDecoder instance, we can associate it
with a GMPDecryptor. Then the cdm::ContentDecryptionModule8 instance that these
two actors are adapted to can know whom it's supposed to respond to.

We use the IPDL PGMPDecryptorChild actor ID as the GMPDecryptor's ID. This is unique
per GMP process, which is sufficient.

MozReview-Commit-ID: 7NKND9VjPUW

--HG--
extra : rebase_source : 6ea7dfa358f8d13f7d36db5a581fc075268038b7
2016-11-11 12:10:43 +13:00
Chris Pearce 5cba5b5a25 Bug 1314858 - Refactor multiple callers of HasPluginForAPI into a helper. r=gerald
I've repeated myself a few times, so make a helper to make determining which
GMPs are available easier.

MozReview-Commit-ID: 2fFLeaA5o8u

--HG--
extra : rebase_source : 74ea0b429d339273535610df3bbd7fec7beae469
2016-11-03 14:33:31 +13:00
Chris Pearce 7250493ddc Bug 1314858 - Remove GMPDecoderModule::UpdateUsableCodecs. r=gerald
MozReview-Commit-ID: 7678JImLL9T

--HG--
extra : rebase_source : 77cd678431669cc3932cfaabc7034e546b92166c
2016-11-02 15:31:21 +13:00
Chris Pearce d6045d04f6 Bug 1314858 - Make content process cache of GMP capabilities thread safe. r=gerald
MozReview-Commit-ID: 5zTFlfReBne

--HG--
extra : rebase_source : 90e6018b6574c0d2f5a51ad56ab87ef5b535f124
2016-11-02 09:47:00 +13:00
Chris Pearce c28985ad89 Bug 1314445 - Remove GMPService::GetPluginVersionForAPI. r=gerald
MozReview-Commit-ID: ybq6ZZlA9P

--HG--
extra : rebase_source : 1a8356740cbb9d73f7d851cb82f8b71c0ca364c4
2016-11-02 11:57:14 +13:00
Chris Pearce ca6cc0c8f4 Bug 1314797 - Dispatch 'gmp-changed' notification after updating GMP capabilities. r=gerald
This ensures that when requests for keysystem access in the content process
retry, they do so on an up-to-date set of capabilities.

MozReview-Commit-ID: JxmlZnFhKYs

--HG--
extra : rebase_source : 6e02777be6a0692c7e157d3ab0a1952c3017c208
2016-11-03 11:18:29 +13:00
Chris Pearce 70807a8f54 Bug 1312540 - Remove GetGMPPluginVersionForAPI IPC. r=mconley
MozReview-Commit-ID: EKtFKd1dgjJ

--HG--
extra : rebase_source : 5ebac34f9346fc76e56e070e32d948e46169c085
2016-11-01 18:48:18 +13:00
Chris Pearce 43a9f990fb Bug 1312540 - Use GMP caps cached in content process for GetPluginVersion. r=gerald
MozReview-Commit-ID: 1nDHsW527Tu

--HG--
extra : rebase_source : b3c7d8ec04b2ebb78f03b3620b2cd2498b35a1e6
2016-11-01 16:55:08 +13:00
Chris Pearce f7f660aaf4 Bug 1312540 - Simplify behaviour of GMP::GetPluginVersionForAPI. r=gerald
We only have one version of a GMP installed at once anyway. This version code
is to support Adobe Primetime, and that's disabled.

Making the behaviour of this code simpler will make it easier to have the
same behaviour of the GetGMPVersion code in e10s and non-e10s mode.

I will be removing this code soon, but I will do that in a later patch, so as
to not complicate the uplift.

MozReview-Commit-ID: 3cn7GhihWzm

--HG--
extra : rebase_source : f4e3470794a2a3dd1d97b8e78fe21df887854dc0
2016-11-01 16:36:00 +13:00
Chris Pearce 0a480d38f2 Bug 1312540 - Maintain a cache of GMPs capabilities in content processes. r=billm,gerald
In order to avoid doing a synchronous call from content process to chrome
process in order to determine what GMPs are usable, maintain a cache of GMP
capabilities in the content processes.

We must seed the cache when content processes are created, as the GMP service
is started up and GMPs are added to it before the first (or any subsequent)
content process is created.


MozReview-Commit-ID: Eb4Pu81XHmn

--HG--
extra : rebase_source : ef5de4dd17ee337ca378569691e55d4cfb7939ef
2016-11-01 16:25:19 +13:00
James Cheng 472ba25796 Bug 1313878 - Use lambda to create runnable for dispatching to main thread in GMPCDMCallbackProxy.cpp r=cpearce
MozReview-Commit-ID: 2X1oWsL29n9

--HG--
extra : rebase_source : 0f652a7449f5af13641144811dc8e1d5457242db
2016-10-30 03:48:26 +08:00
Chris Pearce f98c7aa8b5 Bug 1313202 - Convert InvalidAccessErrors coming out of the Widevine CDM to TypeErrors like Chrome does. r=gerald
MozReview-Commit-ID: FEY08LZheTf

--HG--
extra : rebase_source : e6ddc8a5f7740a5e09822ea1b16ca58b05dee919
2016-10-27 14:04:10 +13:00
Kilik Kuo 55bf555b74 Bug 1303922 - Part 2: Remove KeyStatusChanged/ForgetKeyStatus IPDL messages. r=cpearce
MozReview-Commit-ID: Flx2SQI7lM0

--HG--
extra : transplant_source : %40p%5C%C3%06%D0m%0C/%7B%0C%5B%A2%93o%F6%A1%1B%00%7D
2016-10-04 17:19:53 +08:00
Kilik Kuo 4d162fcd4a Bug 1303922 - Part 1: Make EME keystatuschanged information notified in batch. r=cpearce
MozReview-Commit-ID: IeExaQ62qTF

--HG--
extra : transplant_source : t%D4%AFxu%D6%40%F8hU%D2%94%D4q8q%EDy%08-
2016-10-04 17:18:46 +08:00
James Cheng 48efb9caad Bug 1300654 Part1-Remove MOZ_EME from code base. r=cpearce,smaug
MozReview-Commit-ID: JboGO0w4tcE

--HG--
extra : rebase_source : abfe53f30081f74fc39c900cab48d08c7574bfec
2016-09-08 18:06:20 +08:00
James Cheng 2e79d305fc Bug 1302881 - Undefined behavior in GeckoMediaPluginServiceParent::RemoveOnGMPThread(). r=cpearce
MozReview-Commit-ID: KgMYm936lbL

--HG--
extra : rebase_source : 0d1a533ef0d9aacb27f2e3ae830d61fd59e8d67f
2016-09-23 07:24:21 +08:00
Cervantes Yu a703779628 Bug 1279612 - Block xpcom-will-shutdown before GMPServiceParent instances are shut down. r=gerald
MozReview-Commit-ID: HdF1RDxVXv1

--HG--
extra : rebase_source : f532fd60bd07ab91c6e089822258a0e3d7102a7b
2016-09-08 11:08:27 +08:00
Phil Ringnalda fa1e0afddb Backed out changeset b82fa1825412 (bug 1279612) for static analysis bustage
CLOSED TREE
2016-09-21 20:46:01 -07:00
Cervantes Yu 4cbbce3d03 Bug 1279612 - Block xpcom-will-shutdown before GMPServiceParent instances are shut down. r=gerald
MozReview-Commit-ID: HdF1RDxVXv1

--HG--
extra : rebase_source : caf2279eb5aa57a74a035c45d81fcb4ee29ef42f
2016-09-08 11:08:27 +08:00
Michael Layzell c47fca1cd7 Bug 1018486 - Part 1: Changes in dom/, r=baku
MozReview-Commit-ID: 4tCUM4KRe81
2016-09-07 10:50:35 -04:00
Tim Huang 52370e14ba Bug 1278037 - Part 4: Modify the mozIGeckoMediaPluginChromeService.forgetThisSite() to take the originAttributes pattern as an argument. r=cpearce
--HG--
extra : rebase_source : c480a89fabd99a6ead348c172e68f524dbb2b458
extra : histedit_source : 145d639edff67799e33dd2c4592b4f5902b872e5
2016-07-28 11:46:06 +08:00
Andi-Bogdan Postelnicu 038e7bc3cc Bug 1299749 - removed unused variable from SessionMessageTask. r=baku
MozReview-Commit-ID: 6QfkkCfQ60

--HG--
extra : rebase_source : 8dd222b4218f4b461e547713c5e0f45998a3569c
2016-09-01 11:55:49 +03:00
Ryan VanderMeulen 520acfd195 Merge inbound to m-c. a=merge 2016-08-25 08:10:52 -04:00
JW Wang d13f41c2a0 Bug 1294616 - Somewhat improve the string performance by defining string literals whose length is known at compile time. r=cpearce
MozReview-Commit-ID: LAlqMDtGQN7

--HG--
extra : rebase_source : 4f2cdc9cb9ee7e4dd024d47dad329304f6ba70ae
extra : source : 6db22a524b1452fc50bf56535e7c619a8441dcfe
2016-08-15 15:41:53 +08:00
James Cheng c6899c4863 Bug 1290830 - [Part2] Remove the GMP types using genral types instead. r=cpearce
MozReview-Commit-ID: 3EKwTNPddI1

--HG--
extra : rebase_source : 00f7267a76ad299b52d02b16425bb266ee58985b
2016-08-02 15:05:21 +08:00
James Cheng b74f50bca9 Bug 1290830 - [Part1] Detach the GMPDecryptorProxyCallback interface to DecryptorProxyCallback. r=cpearce
MozReview-Commit-ID: EPGf0ITakPO

--HG--
extra : rebase_source : 1186be0680789c1f9e66366e549fd5ec5b418a38
2016-08-01 17:37:18 +08:00
Ryan VanderMeulen 69113163cf Merge m-c to inbound. a=merge 2016-08-24 09:09:05 -04:00
Kan-Ru Chen b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
James Cheng 0593e89ea0 Bug 1293194 - Building with --disable-eme fails with GMPDecoderModule.cpp:15:30: fatal error: mozilla/EMEUtils.h: No such file or directory. r=cpearce
MozReview-Commit-ID: VUGdiaLqkV

--HG--
extra : rebase_source : 3439ba2f7a81ad80f9db514f21c6091cc3e5711a
2016-08-09 12:13:30 +08:00
Nicholas Nethercote e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Bryce Van Dyk e06afda01b Bug 1279077 - Update GMP/EME path to support webm. r=cpearce
Update handling of VP8, VP9 to enable decryption and decoding via widevine.
Update handling with further validation to make sure that invalid video types
are rejected when trying to create widevine decryptor session or init widevine
decoders.

MozReview-Commit-ID: 8FOvUJfxr6L

--HG--
extra : rebase_source : 0f6aed8256d7f106a598b09e6f11efe80f0e4bb2
2016-07-29 15:53:22 +12:00
James Cheng 240e465d99 Bug 1288320 - Define each keysystem string as specific identifier instead of placing some.keysystem everywhere. r=cpearce
MozReview-Commit-ID: 1bwPRhMOawu

--HG--
extra : amend_source : 7550352f178c0082484acdd342db05ed0dc02e23
extra : transplant_source : %96%C1%B9%8B%28%B0%96f%8AM%AA%13T%1E%3Bg%98%96%92%C1
2016-07-27 16:07:46 +08:00
Chris Pearce e3566aa24b Bug 1266938 - Add explicit to ctors for helper classes in WidevineVideoDecoder. r=bustage 2016-07-27 11:27:08 +12:00
Bryce Van Dyk 306b3774aa Bug 1266938 - Prevent WidevineVideoDecoder emitting out of order frames. r=cpearce
It was possible for WidevineVideoDeocder when allocating shmems for frames to
become reentrant. If a further frame was allocated during this reentrancy it
would be returned before the first frame being allocated. As frames are fed into
the decoder in order, altering this order for returned frames would result in an
out of order display.

This is addressed by keeping a deque of frames and allocating them in order.

There are changes to guard again reentracy issues with draining also. Previously
it was possible to drain a decoder, but still have a frame allocation be
pending, resulting in a drain being completed, and a frame being returned follow
that. This has been addressed by not draining during reentrancy.

MozReview-Commit-ID: LcIsmyabqAv

--HG--
extra : transplant_source : %DB%F7%E3%DC%2AkZ%9D%11Xc%06a%A0%21%EB%05%0E%BDp
2016-07-26 11:23:10 +12:00
Carsten "Tomcat" Book b9a6c687fa merge mozilla-inbound to mozilla-central a=merge 2016-07-25 15:50:41 +02:00
Chris Pearce d183d8433b Bug 1288976 - Use gmp-changed rather than gmp-path-added to retry MediaKeys requests. r=gerald
We're already routing the "gmp-changed" observer service notification over from
the chrome process to the content process, and it fires at pretty much the same
time as the "gmp-path-added" notification (and a few more) so we can just switch
to have the MediaKeySystemAccessManager listen on that notification instead, and
we'll be e10s compatible.




MozReview-Commit-ID: EowFDfdWgAJ

--HG--
extra : rebase_source : ad01990278cf9005f6676ef0b7fa0acbf69249eb
2016-07-25 10:18:34 +12:00
Chris Pearce 30716f1d57 Bug 1278198 - Adapt Adobe GMP's obsolete GMPDecryptor interface to new interface. r=gerald
The Adobe GMP only supports up to GMPDecryptor version 7. We're now up to
version 9.  So we need to provide an adaptor to convert the old version to run
with the new interface.

MozReview-Commit-ID: 5dKreev7JMv

--HG--
extra : rebase_source : b9aa1b66ad23e9f7ddbe60b71c94c161ad974818
2016-07-14 13:33:48 +12:00
Chris Pearce f49856bc79 Bug 1278198 - Pipe through distinctive identifier and persistent state allowed. r=gerald
MozReview-Commit-ID: A92e0XGp5s4

--HG--
extra : rebase_source : 09f7ba18c9b81263aa345cc7f34f0ef2a2548482
2016-07-07 17:26:15 +12:00
Chris Pearce e2b41d3d04 Bug 1278198 - Add Widevine FileIO. r=gerald
MozReview-Commit-ID: IXgSobtF24L

--HG--
extra : rebase_source : e1df08666b0713fa4c10fc020d6482a802d2fb52
2016-07-07 17:28:14 +12:00
Chris Pearce 1ea9b742f5 Bug 1278198 - Update EME code to reflect new WebIDL name changes. r=gerald
MozReview-Commit-ID: EssCsJxBBwt

--HG--
extra : rebase_source : 154746eca911e2250f3fa94a6a2d4b2624910e50
2016-07-04 14:14:01 +12:00