gecko-dev/dom/media/gmp/widevine-adapter
Chris Pearce 5734680cc7 Bug 1375708 - Use base::Time() instead of time(0) in WidevineDecryptor::GetCurrentWallTime(). r=gerald
On Linux some implementations of time(0) appear to be suffering from integer
overflow and giving us the wrong dates. This causes the time we expose to the
CDM to be wrong, and so licenses passed to the CDM are failing to authenticate,
and Netflix is thus broken on some Linux systems.

This is only happening in Firefox 54 and earlier, as in those versions we use
the WidevineDecryptor to talk to the CDM. In 55 (in beta) and later we use the
PChromiumCDM protocol to talk to the CDM. This doesn't use time(0) to get a
time for the CDM, so it's immune to the problem here.

So this patch makes the GetCurrentWallTime() implementation in
WidevineDecryptor match the code currently being used on Nightly and Beta in
the ChromiumCDMChild::GetCurrentWallTime() function.

Since we use the PChromiumCDM protocol to talk to the CDM on Nightly and Beta
by default, the WidevineDecryptor isn't actually being used on Nightly and
Beta. So this patch will only cause a behaviour change in Release, which still
uses the old backend. However it will make Release run the same code that we're
running in Nightly and Beta, so it should be safe to uplift to Release.

MozReview-Commit-ID: J58iDyinyQG

--HG--
extra : rebase_source : dcdf4a846f7b007526aa626db24598942f13f01d
2017-06-23 16:02:14 +12:00
..
content_decryption_module.h
moz.build Bug 1375708 - Use base::Time() instead of time(0) in WidevineDecryptor::GetCurrentWallTime(). r=gerald 2017-06-23 16:02:14 +12:00
WidevineAdapter.cpp Bug 1315850 - Add ChromiumAdapter which we can use instead of WidevineAdapter. r=gerald 2017-03-13 16:59:34 +13:00
WidevineAdapter.h Bug 1332530 - Remove GMP enum storage names. r=gerald 2017-01-20 15:06:00 +13:00
WidevineDecryptor.cpp Bug 1375708 - Use base::Time() instead of time(0) in WidevineDecryptor::GetCurrentWallTime(). r=gerald 2017-06-23 16:02:14 +12:00
WidevineDecryptor.h Bug 1342822 - Backed out changeset 70bc7d4e8512 (bug 1338924). r=gerald 2017-02-27 13:58:27 +13:00
WidevineDummyDecoder.cpp Bug 1341135 - Rename CDM log macro from Log to CDM_LOG. r=gerald 2017-02-21 13:07:10 +13:00
WidevineDummyDecoder.h Bug 1318965 - Adds a dummy WidevineDecoder so the CDM doesn't crash if the Decryptor has been destroyed r=cpearce 2017-01-17 14:10:11 +13:00
WidevineFileIO.cpp Bug 1341135 - Rename CDM log macro from Log to CDM_LOG. r=gerald 2017-02-21 13:07:10 +13:00
WidevineFileIO.h
WidevineUtils.cpp Bug 1341497 - Move WidevineBuffer and WidevineDecryptedBlock into WidevineUtils. r=gerald 2017-02-22 15:55:38 +13:00
WidevineUtils.h Backed out changeset 0b8bf5cb743f (bug 1358373) for build bustage. a=backout 2017-04-27 10:10:47 +08:00
WidevineVideoDecoder.cpp Bug 1349604 - Check CDM black-frame size computations. r=cpearce 2017-03-31 10:20:32 +11:00
WidevineVideoDecoder.h Backed out changeset bb2103358f84 (bug 1343140) for build bustage. r=backout on a CLOSED TREE 2017-03-06 19:34:25 +01:00
WidevineVideoFrame.cpp Bug 1349604 - Check CDM black-frame size computations. r=cpearce 2017-03-31 10:20:32 +11:00
WidevineVideoFrame.h Bug 1349604 - Check CDM black-frame size computations. r=cpearce 2017-03-31 10:20:32 +11:00