Commit Graph

16 Commits

Author SHA1 Message Date
Chris Pearce
f800da4db3 Bug 1430673 - Remove CDMProxy::GetSessionIdsForKeyId(). r=JamesCheng
MozReview-Commit-ID: EMT8BaHE2Pf

--HG--
extra : rebase_source : 292412397b5a3617857daf199e324f3560a58f14
2018-01-16 11:38:27 +13:00
Chris Pearce
da0df79d86 Bug 1426291 - Use DataMutex<T> to synchronize CDMCaps. r=jwwang
MozReview-Commit-ID: NLnoItNZKP

--HG--
extra : rebase_source : 39dd374343989350897aa3ab22b46fb554be17a9
2017-12-20 16:16:50 +13:00
James Cheng
f733aff224 Bug 1404230 - Part4 - Add GetStatusForPolicy method in ipdl and implement it by calling CDM. r=cpearce
MozReview-Commit-ID: 8L0qKgnKMES

--HG--
extra : rebase_source : 05b6fe33a9c0cbe5ca52f245decc167889bbe6d9
2017-10-24 10:55:03 +08:00
James Cheng
c48a2cbcfa Bug 1404230 - Part3 - Add GetStatusForPolicy method in CDMProxy and its derived classes. r=cpearce
MozReview-Commit-ID: myrPzVi0rl

--HG--
extra : rebase_source : e576823470e9ac97c3c519bb286150d895953c8e
2017-10-05 15:37:25 +08:00
James Cheng
8f80fefaf0 Bug 1403830 - [Part1] Remove gmp-decryption.h and its related code. r=cpearce
MozReview-Commit-ID: G8RHADhfd3c

--HG--
extra : rebase_source : 125098fb689e5d031f042c9b3976a8163f41ff51
2017-09-28 15:50:28 +08:00
James Cheng
ec87af6c06 Bug 1403804 - P2 - Remove remaining GMPCDMProxy term. r=cpearce
MozReview-Commit-ID: IlcqZWYlFPv

--HG--
extra : rebase_source : 7bc9bc7ef3573f491be833003e52aa8c4ccddf3e
2017-09-28 11:58:35 +08:00
James Cheng
be5b995e78 Bug 1397123 - [Part2] Decouple ChromiumCDMProxy from ChromiumCDMParent. r=cpearce
1. Pass ChromiumCDMCallback interface to ChromiumCDMParent instead of ChromiumCDMProxy directly.
2. Wrap dispatching to main thread function to clean up the redundant code.

MozReview-Commit-ID: 5HxS9Fc1yr

--HG--
extra : rebase_source : 3ac4c4b260f3196bd862e97aaf12c2422d43ad11
2017-09-11 12:17:36 +08:00
James Cheng
e3b97ecea3 Bug 1397123 - [Part1] Make aMessage of CDMProxy::OnSessionMessage const. r=cpearce
MozReview-Commit-ID: Bsw6s2HE02

--HG--
extra : rebase_source : 40a0bd4d5cc20210322daed0eba04dec2273fbd7
2017-09-11 12:16:18 +08:00
Phil Ringnalda
2387b87164 Backed out 2 changesets (bug 1397123) for Android build bustage
Backed out changeset 803c2d6f4be4 (bug 1397123)
Backed out changeset 2d41a6eb4df4 (bug 1397123)

MozReview-Commit-ID: A45nVCrhbQA
2017-09-11 20:23:22 -07:00
James Cheng
48f1756606 Bug 1397123 - [Part2] Decouple ChromiumCDMProxy from ChromiumCDMParent. r=cpearce
1. Pass ChromiumCDMCallback interface to ChromiumCDMParent instead of ChromiumCDMProxy directly.
2. Wrap dispatching to main thread function to clean up the redundant code.

MozReview-Commit-ID: 5HxS9Fc1yr

--HG--
extra : rebase_source : ff3227b01003398d0410bdde5f43621f44d9e477
2017-09-11 12:17:36 +08:00
James Cheng
7cfecdecc8 Bug 1397123 - [Part1] Make aMessage of CDMProxy::OnSessionMessage const. r=cpearce
MozReview-Commit-ID: Bsw6s2HE02

--HG--
extra : rebase_source : e165dd24b22a06f5a7a9ebe2797136b4109a203f
2017-09-11 12:16:18 +08:00
Chris Pearce
caac622c6d Bug 1315850 - Implement CDM persistent sessions. r=gerald
This is required for the browser clearing persistence tests to pass.

MozReview-Commit-ID: Ai9qc6Ds1IG

--HG--
extra : rebase_source : 80c2133e26742410fda983e3c18c35736fc013d0
2017-03-09 19:09:43 +13:00
Chris Pearce
33d324d5b1 Bug 1315850 - Add threadsafe ChromiumCDMProxy::GetCDMParent. r=gerald
The MediaKeys accesses the ChromiumCDMProxy on the main thread. But the
ChromiumCDMVideoDecoder will need to access the ChromiumCDMProxy on the decode
task queue in order to get a reference to the ChromiumCDMParent so that it can
talk to the CDM (on the GMP thread).

Additionally we'll need to shutdown the ChromiumCDMProxy, and if we do that
on the main threrad while the ChromiumCDMVideoDecoder is trying to get the
ChromiumCDMParent reference, we could hit thread safety issues.

So we need to hold a lock while reading or writing from the ChromiumCDMProxy's
reference to the ChromiumCDMParent. So add a GetCDMParent() function to the
ChromiumCDMProxy which takes the lock while reading or writing the reference.

This means that the caller will always get a valid reference. There is no guarantee
that the ChromiumCDMParent isn't shutdown after the reference is taken; if that
happens, the ChromiumCDMParent returned will fail on all operations.

In a later patch in this series, the ChromiumCDMProxy will anull its reference
to the ChromiumCDMParent on shutdown, and cause GetCDMParent to return null.
So callers need to null check the return value of GetCDMParent.

MozReview-Commit-ID: 4xL41YbwkxL

--HG--
extra : rebase_source : aa854e9d88965d7da60231d6f6a3912bf6ad2eeb
2017-03-13 13:47:20 +13:00
Chris Pearce
c60d6c1294 Bug 1315850 - Add CDMProxy::AsChromiumCDMProxy(). r=gerald
This means the EME PDM implementation can safely tell when a CDMProxy is a
ChromiumCDMProxy, so we can create an appropriate MediaDataDecoder for it (in
the next patch).

MozReview-Commit-ID: CpL6QRa7SwJ

--HG--
extra : rebase_source : 3821c378c73067066f3cc67499680bdf546fb4f0
2016-12-15 11:32:03 +13:00
Chris Pearce
a987efe1ed Bug 1315850 - Implement ChromiumCDMProxy initialization. r=gerald
This means the MediaKeys is able to create a CDM.

MozReview-Commit-ID: 94Xc7sCLhH3

--HG--
extra : rebase_source : 914db1f04e0770776ae25c7b8bdc59e729fe78d0
2017-03-09 11:29:45 +13:00
Chris Pearce
57b480eb64 Bug 1315850 - Stub out ChromiumCDMProxy. r=gerald
This will eventually replace GMPCDMProxy. Methods will be implemented in later
patches.

MozReview-Commit-ID: 86pwo81tFZv

--HG--
extra : rebase_source : df41a20a0fefaf26a63ed18f1ccdf7fa5a3a1e89
2017-02-22 14:42:32 +13:00