summaryrefslogtreecommitdiffstats
path: root/media/gmp-clearkey/0.1/ClearKeyAsyncShutdown.cpp
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /media/gmp-clearkey/0.1/ClearKeyAsyncShutdown.cpp
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'media/gmp-clearkey/0.1/ClearKeyAsyncShutdown.cpp')
-rw-r--r--media/gmp-clearkey/0.1/ClearKeyAsyncShutdown.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/media/gmp-clearkey/0.1/ClearKeyAsyncShutdown.cpp b/media/gmp-clearkey/0.1/ClearKeyAsyncShutdown.cpp
new file mode 100644
index 000000000..ed1cac738
--- /dev/null
+++ b/media/gmp-clearkey/0.1/ClearKeyAsyncShutdown.cpp
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2015, Mozilla Foundation and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "ClearKeyAsyncShutdown.h"
+#include "gmp-task-utils.h"
+
+ClearKeyAsyncShutdown::ClearKeyAsyncShutdown(GMPAsyncShutdownHost *aHostAPI)
+ : mHost(aHostAPI)
+{
+ CK_LOGD("ClearKeyAsyncShutdown::ClearKeyAsyncShutdown");
+ AddRef();
+}
+
+ClearKeyAsyncShutdown::~ClearKeyAsyncShutdown()
+{
+ CK_LOGD("ClearKeyAsyncShutdown::~ClearKeyAsyncShutdown");
+}
+
+void ShutdownTask(ClearKeyAsyncShutdown* aSelf, GMPAsyncShutdownHost* aHost)
+{
+ // Dumb implementation that just immediately reports completion.
+ // Real GMPs should ensure they are properly shutdown.
+ CK_LOGD("ClearKeyAsyncShutdown::BeginShutdown calling ShutdownComplete");
+ aHost->ShutdownComplete();
+ aSelf->Release();
+}
+
+void ClearKeyAsyncShutdown::BeginShutdown()
+{
+ CK_LOGD("ClearKeyAsyncShutdown::BeginShutdown dispatching asynchronous shutdown task");
+ GetPlatform()->runonmainthread(WrapTaskNM(ShutdownTask, this, mHost));
+}