Commit Graph

456 Commits

Author SHA1 Message Date
Wes Kocher
07fd8cebf7 Backed out 3 changesets (bug 1318965) for frequent media test failures a=backout
Backed out changeset 3f756d8ee4cf (bug 1318965)
Backed out changeset 4bdf65d60c9e (bug 1318965)
Backed out changeset c1e2b6c14a7f (bug 1318965)

MozReview-Commit-ID: 6CPk5oS5AOw

--HG--
extra : source : babe3f8a0258fb592e17a590450de6ceb09460c3
2017-01-13 13:23:31 -08:00
Jay Harris
a5aa2bceb7 Bug 1318965 - Fixes a bug in the WideVineAdapter wherein session load failures were not adapted correctly r=cpearce
MozReview-Commit-ID: 2ze4d8EuHr9

--HG--
extra : rebase_source : 185272b47b0c70b83d6b88819e222a71e0e15dcc
extra : amend_source : b6d0b7e6f4705700d73cacfb024ea3a5c6f17a56
2016-12-20 14:35:55 +13:00
Jay Harris
06bce5da83 Bug 1318965 - Converts gmp-clearkey to use Chromium ContentDecryptionModule8 interface used by widevine r=cpearce
MozReview-Commit-ID: 6lOzItuuvdd

--HG--
extra : rebase_source : 7f70380be5628c3e6668cf9fa235c8d2525bf1dc
extra : amend_source : 8d6afebb484ed59cf02907cab8991e6f232b0f69
2017-01-12 09:52:05 +13:00
Jay Harris
b8bec2ab2b Bug 1319159 - Updates the whitelist of libraries in GMPChild, r=cpearce
MozReview-Commit-ID: 2KZHwO34idZ

--HG--
extra : rebase_source : 37a1c58a0fbff6ea3f736c829853c18a3ee13526
extra : amend_source : 7e285d9c8abf80266515c62ea19ffe0b5f7bcf2e
2017-01-11 10:02:25 +13:00
Jay Harris
6f7214ca07 Bug 1319159 - Updates how 'ParseChromiumManifest' works so that it doesn't assume Widevine (now it assumes Widevine or Clearkey..). r=cpearce
MozReview-Commit-ID: 8m6hPIiUPT

--HG--
extra : rebase_source : 1e8de4d233e15cda3f08f1ca556ea4f82eb6cebe
extra : amend_source : 50a7e80ff09bd6cb1f4033425c136b4552cbda41
2016-12-22 11:28:40 +13:00
Andrea Marchesini
359ae91eac Bug 1328653 - Merging all the various *OriginAttributes to just one, r=huseby 2017-01-12 17:38:48 +01:00
Chris Peterson
4b28bd3f34 Bug 1329547 - Remove EME checks for Vista. r=cpearce
MozReview-Commit-ID: J1ww70KMQuw

--HG--
extra : rebase_source : 8cbf795562a02469ce1c5629c5c693700ee8fcea
2017-01-08 00:56:45 -08:00
Haik Aftandilian
7e7b9330e3 Bug 1322716 - Remove /private/var regex from GMP sandbox rules. r=jesup, r=cpearce, r=gcp
MozReview-Commit-ID: I1Y2MOum5T3
2016-12-19 18:16:31 -08:00
Chris Pearce
80a5e71248 Bug 1325185 - Fix operator precedence in GMPUtils' ToHexString(). r=gerald
MozReview-Commit-ID: 41KoItfOYts

--HG--
extra : rebase_source : b42a325a00f5939ee3c4945c1a5cee826f89c385
2016-12-22 09:20:17 +13:00
Chris Pearce
55e0da876c Bug 1324926 - Convert other EME/GMP byte logging from Base64 to Hex. r=gerald
This is marginly more readable.

MozReview-Commit-ID: DWJNFXxI7Vd

--HG--
extra : rebase_source : cb29271f3942db63da2b815e81977f98ec955968
2016-12-21 10:37:09 +13:00
Chris Pearce
9a69924b0c Bug 1324926 - Log keyId as hex when decoding video via GMP. r=gerald
MozReview-Commit-ID: DIiErrwjONo

--HG--
extra : rebase_source : 05a7b667c65ee11a80244c8c832c134cd6b05485
2016-12-21 09:54:20 +13:00
Chris Pearce
dbd88a8bc7 Bug 1324926 - Log Gecko version and buildID in GMP log. r=gerald
MozReview-Commit-ID: 3QLi8aCrqUF

--HG--
extra : rebase_source : 7148b586bd82cc042db9f76101c962d078cff8d6
2016-12-21 09:53:15 +13:00
Wes Kocher
5401734deb Backed out 4 changesets (bug 1324926) for windows build bustage a=backout
Backed out changeset e57acea9a4ab (bug 1324926)
Backed out changeset 3a5fc19f492b (bug 1324926)
Backed out changeset 1694d0248f1a (bug 1324926)
Backed out changeset b0a59896aa01 (bug 1324926)
2016-12-20 16:53:41 -08:00
Chris Pearce
d71275d786 Bug 1324926 - Convert other EME/GMP byte logging from Base64 to Hex. r=gerald
This is marginly more readable.

MozReview-Commit-ID: DWJNFXxI7Vd

--HG--
extra : rebase_source : bfc694c51a8f1de28a6a11155f0c3e6b723ff153
2016-12-21 10:37:09 +13:00
Chris Pearce
e0308ca287 Bug 1324926 - Log keyId as hex when decoding video via GMP. r=gerald
MozReview-Commit-ID: DIiErrwjONo

--HG--
extra : rebase_source : dbc7c23a53cce7e997fdc03a9df5691ab05f7c94
2016-12-21 09:54:20 +13:00
Chris Pearce
6fc80c2aaa Bug 1324926 - Log Gecko version and buildID in GMP log. r=gerald
MozReview-Commit-ID: 3QLi8aCrqUF

--HG--
extra : rebase_source : 8ca50b09a04478453bf67ce9a055c6253e767b89
2016-12-21 09:53:15 +13:00
Chris Pearce
8e41b15452 Bug 1324925 - Convert GMPTimestamp to epoch seconds in GMPDecryptorChild::ExpirationChange(). r=gerald
MozReview-Commit-ID: 8tSl2kIQc1w

--HG--
extra : rebase_source : c10839a0df68716b2370e15645470442b0b69922
2016-12-21 11:52:16 +13:00
Chris Pearce
d42aaaf304 Bug 1322305. r=gerald
MozReview-Commit-ID: BLPkf2yrASn

--HG--
extra : amend_source : 58028c34dd322ff23c6b3e4bd6b266791096e200
2016-12-04 18:21:01 +13:00
James Cheng
4f0ada8315 Bug 1323566 - Fix incorrect index usage in MediaKeySystemAccessManager::Observe(). r=cpearce
MozReview-Commit-ID: 1D6Yes6ofdj

--HG--
extra : rebase_source : aada68f7aab16fb51c3a5025993e52a01dd5ed07
2016-12-15 11:53:54 +08:00
JW Wang
d4d5d4d5bb Bug 1321744. Part 3 - remove ThenPromise and replace its use with Then. r=gerald
MozReview-Commit-ID: AsmePdCp2tC

--HG--
extra : rebase_source : e08ac48584375d2bc12f5b73a1e60f2800359ed9
extra : intermediate-source : 94e727f7cd11bb04812da3662a0ee1fd461cc832
extra : source : 5307716231f93b01c0357011f8849015d4d97d0a
2016-12-04 08:51:25 +08:00
Andrea Marchesini
f7f5990527 Bug 1317927 - Media caching needs to use origin attributes, r=cpearce, r=jesup 2016-12-07 07:07:09 -10:00
JW Wang
c1ec600a1a Bug 1321471. Part 1 - Use of MozPromise::ThenPromise() in place of CompletionPromise(). r=jya.
MozReview-Commit-ID: INbGpzwK4f9

--HG--
extra : rebase_source : 76942aa9741f2ce59f6208cfb0699ad3718a25d4
extra : intermediate-source : 61f3ade0fb73f6318ae616393d66e3dc21d68323
extra : source : 92e78c9b199b252da5d219f8d68902ce353aa4c7
2016-11-30 18:19:26 +08:00
Carsten "Tomcat" Book
d98418da69 merge mozilla-inbound to mozilla-central a=merge 2016-11-28 16:37:22 +01:00
Chris Pearce
19f0b2fe44 Bug 1320614 - Remove MediaKeys::mNodeId as it's only ever written and never read. r=gerald
MozReview-Commit-ID: BWfrjzdfph

--HG--
extra : amend_source : 784b9d8341dc2fad29c522b5faa147a2a81a9388
2016-11-28 12:12:34 +13:00
Gerald Squelart
2f3c3d06e9 Bug 1313497 - Use InvokeAsync with Storages in GMPServiceParent - r=jya
MozReview-Commit-ID: LnbzlqQIWco

--HG--
extra : rebase_source : 8a546bf28875b9bdce8b8c75bd0d655bf30a8642
2016-11-13 17:03:35 +11:00
Gerald Squelart
926a1eab6b Bug 1313497 - Use InvokeAsync with Storages in GMPParent - r=jya
MozReview-Commit-ID: EQQFDzvAs8O

--HG--
extra : rebase_source : d5985a84058c3cab55e8896a8e74c36e62ddf150
2016-11-13 16:53:05 +11:00
Carsten "Tomcat" Book
61849e269d merge mozilla-inbound to mozilla-central a=merge 2016-11-24 16:41:59 +01:00
Jay Harris
7a7b0325f0 Bug 1319197 - Remove audio decoding from gmp-clearkey. r=cpearce
MozReview-Commit-ID: EA0AAoDjWUh

--HG--
extra : transplant_source : 1D%21%1C%21%15%F7A%CD%EF-%C9%8FS%ECl%A8%9A%DC%B5
2016-11-22 14:32:26 +13:00
Chris Pearce
27f8f13960 Bug 1316215 - Merge SelectGMP and LaunchGMP into one synchronous IPC operation. r=gerald
We were seeing almost permaorange failures in the WebRTC H.264/GMP tests
due to the GMP being shutdown in the parent process in between the
content process performing an OOP select operation and then performing
an OOP launch operation.

That is, in GeckoMediaPluginServiceChild::GetContentParent() in between
the SendSelectGMP completing and the SendLaunchGMP completing, the GMP
would shutdown and so when the launch operation ran in the main process
it would fail.

The select and launch are seperate operations so that the crash handler
can be reported to the content process and an association can be made
in the content process between the plugin ID and the crash helper before
we try to launch the GMP. This is so that if the GMP crashes on startup,
we're ready to handle the crash.

However it turns out that if the GMP crashes on startup, the crash report
message comes in after another round of the event/IPC message loop. So we
actually do have time in the content process to connect the crash helper
after the launch fails.

So in order to fix the problem of the GMP shutting down in between select
and launch, we can partially revert the changes I made in Bug 1267918 to
merge selecting and launching GMPs back into a single operation.


MozReview-Commit-ID: 5n4T1Gqlvr3

--HG--
extra : rebase_source : 6e6892a5e32a485b5bfc2f93bddb2d2fe5a422bd
2016-11-22 14:17:59 +13:00
Chris Pearce
39f5dc88d5 Bug 1316215 - Make GMPParent::IsUsed() take into account whether there are pending GetContentParent calls. r=gerald
In a similar vein to the previous patch, while we're waiting on a
GetContentParent promise to resolve, we don't want the GMPParent
to shutdown. So make IsUsed() check whether we're waiting on a
GetContentParent promise to resolve, so we don't pull the rug out
from under any code waiting to get a content parent to bridge a
GMP.

MozReview-Commit-ID: 8cTCuXLXMsK

--HG--
extra : rebase_source : 8cc04d57ea1ef4e48c7ff088dbb12eabe4b3b223
extra : source : f79a51d9bd193024f7359ba6ff75076b15d15faf
2016-11-18 12:37:14 +13:00
Chris Pearce
4fa2a5c829 Bug 1316215 - Block GMPContentParent close while a GMPService::GetContentParent is being processed. r=gerald
When GMPService::GetContentParent returns a MozPromise, we end up failing in
test_peerConnection_scaleResolution.html with e10s enabled because we Close()
the GMPContentParent twice. The test causes two GMPVideoEncoderParents to
be created. When the number of IPDL actors on the GMPContentParent reach 0,
we close the IPC connection. With GetContentParent() returning a MozPromise,
it's more async, and so we can end up requesting the content parent in order
to create the second GMPVideoEncoderParent, but while we're waiting for
the promise to resolve the previous GMPVideoEncoderParent is destroyed and
the GMPContentParent closes its IPC connection. Then the GetContentParent
promise resolves, and that fails to operate correctly since it's closed its
IPC connection.

My solution here is to add a "blocker" that prevents the GMPContentParent from
being shutdown while we're waiting for the GetContentParent promise to resolve.

MozReview-Commit-ID: HxBkFkmv0tV

--HG--
extra : rebase_source : 59aa7bcfe8b8f44274d136d6147a946542a64fff
extra : source : 59ab10349b58b0fbe13dca9312ec82332f7c3dbe
2016-11-16 10:59:08 +13:00
Chris Pearce
c93e08bf59 Bug 1316215 - Promisify GMPService GetGMPContentParent and GetServiceChild. r=gerald
MozReview-Commit-ID: 5ydGmZWGzWG

--HG--
extra : rebase_source : bc61628e97243db55b68d1efc93e7b55f32628e5
extra : intermediate-source : 7ca4bd360797b8207d26e46192400307cf046593
extra : source : eda96f88317dbf0c696aeaab8993bf2f030517c0
2016-11-09 15:52:22 +13:00
Jed Davis
8f3f056572 Bug 1313808 - Part 1: Move LinuxSandboxStarter back into libxul. r=cpearce,glandium,tedd
MozReview-Commit-ID: FAReOZX7Rvn

--HG--
extra : rebase_source : 01d0d1970822b5af6a37ff450ac01408f871237a
2016-11-08 14:23:47 -07:00
Gerald Squelart
c22dcadd40 Bug 1318228 - Replace nsAutoPtr with UniquePtr in GMPCDMProxy - r=cpearce
MozReview-Commit-ID: Hy4rag5UbsZ

--HG--
extra : rebase_source : d3802b3e0e22cb1ef982eecc4c1a5b016f0ff6aa
2016-11-17 18:40:28 +11:00
Sylvestre Ledru
caf1487b6c Bug 1317430 - Avoid a unnecessary copy by passing a const & in dom/media/ r=jya,pehrsons
MozReview-Commit-ID: 9MDVY9mgui0

--HG--
extra : rebase_source : d077c3f4d39e9914c591a0ef671a7db99679c608
2016-11-14 23:15:53 +01:00
Chris Pearce
0a0e9d8f06 Bug 1317822 - Move GMPCrashHelper into its own file. r=gerald
MozReview-Commit-ID: 7CinZ2Y2Fmz

--HG--
extra : rebase_source : 3b176cbfadebf6463384105c261ff208bc58b1c2
2016-11-16 11:35:36 +13:00
Chris Pearce
eac0e11773 Bug 1317473 - Make GMPService accept paths with mixed dir separators. r=jesup
The mochitest harness on Windows sets MOZ_GMP_PATH to paths with a mixture of
Windows and UNIX dir separators, and the NS_NewLocalFile() call in
GMPServiceParent::AddOnGMPThread() fails on this input.

We've had this problem before, and if we fixed the test harness to give us
input with platform specific line endings somebody would likely just break this
again someday and have this issue again, so just make the GMP service normalize
the paths it's given to have consistent dir separators.

This makes test_peerConnection_basicH264Video.html pass when run
locally on my Windows machine.


MozReview-Commit-ID: 88hSvTdZuWg

--HG--
extra : rebase_source : 2cf63ccd1155e59f9745163cf4a28d3bdb7012ba
2016-11-15 10:56:43 +13:00
Kan-Ru Chen
f8100451db Bug 1314254 - Add mozilla::ipc::IPCResult type and convert IPDL handlers to use new return type. r=billm
We will use the new type for the generated IPDL message handler
prototype to make sure correct error handling method is called.

MozReview-Commit-ID: AzVbApxFGZ0
2016-11-15 04:26:00 +01:00
Andi-Bogdan Postelnicu
65ae72060c Bug 1317241 - Use C++11's override and remove virtual where applicable in dom/ r=baku
MozReview-Commit-ID: 8jUAehd1odv

--HG--
extra : rebase_source : 13375a14447ce344214fa30babf540de0a394c6a
2016-11-15 13:09:07 +02:00
Andi-Bogdan Postelnicu
aaf2063029 Bug 1317241 - Replace default bodies of special member functions with = default in dom/. r=baku
MozReview-Commit-ID: 12AHOhrpaNO

--HG--
extra : rebase_source : 7881277a13fe7389b95635ee9b94f1686f56d142
2016-11-14 11:40:37 +02:00
Andi-Bogdan Postelnicu
4df235170d Bug 1317241 - Use auto type specifier where aplicable for variable declarations to improve code readability and maintainability in dom/. r=baku
MozReview-Commit-ID: CST7fV4h20h

--HG--
extra : rebase_source : 663d24e9c15d7b42023f1557b75fb8dabfc9b6a9
2016-11-14 11:35:58 +02:00
Chris Pearce
6f8b365df3 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 : ebca24d2eeb4acd5fb14e0063cf2065c419853b1
2016-11-14 11:43:45 +13:00
Chris Pearce
d60faf6fad 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 : 772d4bead18a9b88e7f9ee30b0f169a192322e24
2016-11-11 15:39:10 +13:00
Chris Pearce
451c0b5421 Bug 1306314 - Pipe decryptor ID through to WidevineAdapter. r=gerald
MozReview-Commit-ID: HqRoImDhuFl

--HG--
extra : rebase_source : b153d8f7557c0bbf78ed04c01dd11b2400c324a7
2016-11-11 14:55:56 +13:00
Chris Pearce
1b21fde486 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 : d678628dec67a059aec06918f07ea93ecc54a5f9
2016-11-14 11:07:02 +13:00
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