Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: components/cdm/browser/cdm_message_filter_android.cc

Issue 320383005: Add an IPC to return the platform supported key-system names in Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/cdm/browser/cdm_message_filter_android.cc
diff --git a/components/cdm/browser/cdm_message_filter_android.cc b/components/cdm/browser/cdm_message_filter_android.cc
index 2bda86078edf434c9f5dc759f716cb77ad7f2ab1..62d027638c2cbfad1499472b5e089b4c2e7d55de 100644
--- a/components/cdm/browser/cdm_message_filter_android.cc
+++ b/components/cdm/browser/cdm_message_filter_android.cc
@@ -5,12 +5,15 @@
#include "components/cdm/browser/cdm_message_filter_android.h"
#include <string>
+#include <vector>
#include "components/cdm/common/cdm_messages_android.h"
#include "ipc/ipc_message_macros.h"
#include "media/base/android/media_codec_bridge.h"
#include "media/base/android/media_drm_bridge.h"
+#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
+
using content::BrowserThread;
using content::SupportedCodecs;
using media::MediaCodecBridge;
@@ -66,15 +69,24 @@ static SupportedCodecs GetSupportedCodecs(
}
CdmMessageFilterAndroid::CdmMessageFilterAndroid()
ddorwin 2014/06/10 18:48:03 This is used by Chrome and the next one is only us
ycheo (away) 2014/06/11 00:08:22 That's my original intention.
- : BrowserMessageFilter(EncryptedMediaMsgStart) {}
+ : BrowserMessageFilter(EncryptedMediaMsgStart) {
+ key_systems_.push_back(kWidevineKeySystem);
ddorwin 2014/06/10 18:48:03 If we need special handling for Chrome, why not ju
ycheo (away) 2014/06/11 00:08:21 Removed.
+}
+
+CdmMessageFilterAndroid::CdmMessageFilterAndroid(
ddorwin 2014/06/10 18:48:04 This is never used.
ycheo (away) 2014/06/11 00:08:22 Removed.
+ const std::vector<std::string> key_systems)
+ : BrowserMessageFilter(EncryptedMediaMsgStart),
+ key_systems_(key_systems) {}
CdmMessageFilterAndroid::~CdmMessageFilterAndroid() {}
bool CdmMessageFilterAndroid::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(CdmMessageFilterAndroid, message)
- IPC_MESSAGE_HANDLER(ChromeViewHostMsg_GetSupportedKeySystems,
- OnGetSupportedKeySystems)
+ IPC_MESSAGE_HANDLER(CdmHostMsg_GetSupportedKeySystem,
ddorwin 2014/06/10 18:48:03 I'm not sure CdmHostMsg is correct. It is not a me
ycheo (away) 2014/06/11 00:08:22 Reverted the prefix to ChromeViewHostMsg.
+ OnGetSupportedKeySystem)
+ IPC_MESSAGE_HANDLER(CdmHostMsg_GetAllSupportedKeySystemNames,
+ OnGetAllSupportedKeySystemNames)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
@@ -83,11 +95,13 @@ bool CdmMessageFilterAndroid::OnMessageReceived(const IPC::Message& message) {
void CdmMessageFilterAndroid::OverrideThreadForMessage(
const IPC::Message& message, BrowserThread::ID* thread) {
// Move the IPC handling to FILE thread as it is not very cheap.
- if (message.type() == ChromeViewHostMsg_GetSupportedKeySystems::ID)
+ if (message.type() == CdmHostMsg_GetSupportedKeySystem::ID ||
+ message.type() == CdmHostMsg_GetAllSupportedKeySystemNames) {
ddorwin 2014/06/10 18:48:04 This one is cheap - it just returns a list, right?
ycheo (away) 2014/06/11 00:08:21 Correct. Removed this from the condition.
*thread = BrowserThread::FILE;
+ }
}
-void CdmMessageFilterAndroid::OnGetSupportedKeySystems(
+void CdmMessageFilterAndroid::OnGetSupportedKeySystem(
ddorwin 2014/06/10 18:48:04 This should probably be something like OnGetKeySys
ycheo (away) 2014/06/11 00:08:22 Thanks for the suggestion.
const SupportedKeySystemRequest& request,
SupportedKeySystemResponse* response) {
if (!response) {
@@ -110,4 +124,9 @@ void CdmMessageFilterAndroid::OnGetSupportedKeySystems(
response->non_compositing_codecs = GetSupportedCodecs(request, false);
}
+void CdmMessageFilterAndroid::OnGetAllSupportedKeySystemNames(
ddorwin 2014/06/10 18:48:04 If this was OnGetPlatform... then you wouldn't nee
ycheo (away) 2014/06/11 00:08:21 Done.
+ std::vector<std::string>* key_systems) {
+ *key_systems = key_systems_;
ddorwin 2014/06/10 18:48:04 It seems this information should come from the sam
ycheo (away) 2014/06/11 00:08:21 Added a method MediaDrmBridge::GetPlatformKeySyste
+}
+
} // namespace cdm

Powered by Google App Engine
This is Rietveld 408576698