summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorxhwang <xhwang@chromium.org>2014-10-23 17:03:26 -0700
committerCommit bot <commit-bot@chromium.org>2014-10-24 00:03:45 +0000
commit1c03e830f2ab2d83e2bdc96cb399d2a43c77f576 (patch)
tree7f2f7f517e6e05299df6947cc074359b7ed40ade
parent9448dfa74ccf2ecbe7aa8be87701d5fc9fedf215 (diff)
downloadchromium_src-1c03e830f2ab2d83e2bdc96cb399d2a43c77f576.zip
chromium_src-1c03e830f2ab2d83e2bdc96cb399d2a43c77f576.tar.gz
chromium_src-1c03e830f2ab2d83e2bdc96cb399d2a43c77f576.tar.bz2
Move KeySystemInfo to media/.
This is a preparation to move KeySystems to media, which is needed to support Encrypted Media Extensions (EME) without relying on content. BUG=422730 Review URL: https://codereview.chromium.org/665343002 Cr-Commit-Position: refs/heads/master@{#300992}
-rw-r--r--android_webview/renderer/DEPS2
-rw-r--r--android_webview/renderer/aw_content_renderer_client.cc2
-rw-r--r--android_webview/renderer/aw_content_renderer_client.h2
-rw-r--r--android_webview/renderer/aw_key_systems.cc2
-rw-r--r--android_webview/renderer/aw_key_systems.h6
-rw-r--r--chrome/renderer/chrome_content_renderer_client.cc2
-rw-r--r--chrome/renderer/chrome_content_renderer_client.h2
-rw-r--r--chrome/renderer/media/chrome_key_systems.cc26
-rw-r--r--chrome/renderer/media/chrome_key_systems.h4
-rw-r--r--chromecast/renderer/DEPS1
-rw-r--r--chromecast/renderer/key_systems_cast.cc12
-rw-r--r--chromecast/renderer/key_systems_cast.h8
-rw-r--r--components/cdm.gypi5
-rw-r--r--components/cdm/DEPS1
-rw-r--r--components/cdm/browser/cdm_message_filter_android.cc16
-rw-r--r--components/cdm/common/cdm_messages_android.h12
-rw-r--r--components/cdm/renderer/BUILD.gn2
-rw-r--r--components/cdm/renderer/DEPS1
-rw-r--r--components/cdm/renderer/android_key_systems.cc26
-rw-r--r--components/cdm/renderer/android_key_systems.h6
-rw-r--r--components/cdm/renderer/widevine_key_systems.cc14
-rw-r--r--components/cdm/renderer/widevine_key_systems.h7
-rw-r--r--content/content_common.gypi1
-rw-r--r--content/content_renderer.gypi2
-rw-r--r--content/public/renderer/content_renderer_client.cc2
-rw-r--r--content/public/renderer/content_renderer_client.h7
-rw-r--r--content/renderer/media/crypto/key_systems.cc58
-rw-r--r--content/renderer/media/crypto/key_systems_unittest.cc22
-rw-r--r--media/base/BUILD.gn3
-rw-r--r--media/base/eme_constants.h (renamed from content/public/common/eme_constants.h)10
-rw-r--r--media/base/key_system_info.cc (renamed from content/public/renderer/key_system_info.cc)6
-rw-r--r--media/base/key_system_info.h (renamed from content/public/renderer/key_system_info.h)19
-rw-r--r--media/media.gyp3
33 files changed, 154 insertions, 138 deletions
diff --git a/android_webview/renderer/DEPS b/android_webview/renderer/DEPS
index b5cbb48..055b5e0 100644
--- a/android_webview/renderer/DEPS
+++ b/android_webview/renderer/DEPS
@@ -9,6 +9,8 @@ include_rules = [
"+content/public/renderer",
+ "+media/base",
+
"+printing",
"+third_party/WebKit/public/platform",
diff --git a/android_webview/renderer/aw_content_renderer_client.cc b/android_webview/renderer/aw_content_renderer_client.cc
index 7ba28d9..5114d0f 100644
--- a/android_webview/renderer/aw_content_renderer_client.cc
+++ b/android_webview/renderer/aw_content_renderer_client.cc
@@ -193,7 +193,7 @@ bool AwContentRendererClient::IsLinkVisited(unsigned long long link_hash) {
}
void AwContentRendererClient::AddKeySystems(
- std::vector<content::KeySystemInfo>* key_systems) {
+ std::vector<media::KeySystemInfo>* key_systems) {
AwAddKeySystems(key_systems);
}
diff --git a/android_webview/renderer/aw_content_renderer_client.h b/android_webview/renderer/aw_content_renderer_client.h
index ac6e67b..f6ffcbf 100644
--- a/android_webview/renderer/aw_content_renderer_client.h
+++ b/android_webview/renderer/aw_content_renderer_client.h
@@ -38,7 +38,7 @@ class AwContentRendererClient : public content::ContentRendererClient {
size_t length) override;
virtual bool IsLinkVisited(unsigned long long link_hash) override;
virtual void AddKeySystems(
- std::vector<content::KeySystemInfo>* key_systems) override;
+ std::vector<media::KeySystemInfo>* key_systems) override;
virtual bool HandleNavigation(content::RenderFrame* render_frame,
content::DocumentState* document_state,
diff --git a/android_webview/renderer/aw_key_systems.cc b/android_webview/renderer/aw_key_systems.cc
index 2076c92..cc3059e 100644
--- a/android_webview/renderer/aw_key_systems.cc
+++ b/android_webview/renderer/aw_key_systems.cc
@@ -8,7 +8,7 @@
namespace android_webview {
void AwAddKeySystems(
- std::vector<content::KeySystemInfo>* key_systems_info) {
+ std::vector<media::KeySystemInfo>* key_systems_info) {
cdm::AddAndroidWidevine(key_systems_info);
cdm::AddAndroidPlatformKeySystems(key_systems_info);
}
diff --git a/android_webview/renderer/aw_key_systems.h b/android_webview/renderer/aw_key_systems.h
index 96823b5..4bed8b6 100644
--- a/android_webview/renderer/aw_key_systems.h
+++ b/android_webview/renderer/aw_key_systems.h
@@ -5,11 +5,13 @@
#ifndef ANDROID_WEBVIEW_RENDERER_AW_KEY_SYSTEMS_H_
#define ANDROID_WEBVIEW_RENDERER_AW_KEY_SYSTEMS_H_
-#include "content/public/renderer/key_system_info.h"
+#include <vector>
+
+#include "media/base/key_system_info.h"
namespace android_webview {
-void AwAddKeySystems(std::vector<content::KeySystemInfo>* key_systems_info);
+void AwAddKeySystems(std::vector<media::KeySystemInfo>* key_systems_info);
} // namespace android_webview
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index 671c197e..9f99262 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -1497,7 +1497,7 @@ bool ChromeContentRendererClient::AllowPepperMediaStreamAPI(
}
void ChromeContentRendererClient::AddKeySystems(
- std::vector<content::KeySystemInfo>* key_systems) {
+ std::vector<media::KeySystemInfo>* key_systems) {
AddChromeKeySystems(key_systems);
}
diff --git a/chrome/renderer/chrome_content_renderer_client.h b/chrome/renderer/chrome_content_renderer_client.h
index 9c3ac3a..e28b9eb 100644
--- a/chrome/renderer/chrome_content_renderer_client.h
+++ b/chrome/renderer/chrome_content_renderer_client.h
@@ -134,7 +134,7 @@ class ChromeContentRendererClient : public content::ContentRendererClient {
content::RenderFrame* render_frame,
blink::WebFrame* frame) override;
bool AllowPepperMediaStreamAPI(const GURL& url) override;
- void AddKeySystems(std::vector<content::KeySystemInfo>* key_systems) override;
+ void AddKeySystems(std::vector<media::KeySystemInfo>* key_systems) override;
bool IsPluginAllowedToUseDevChannelAPIs() override;
bool IsPluginAllowedToUseCompositorAPI(const GURL& url) override;
bool IsPluginAllowedToUseVideoDecodeAPI(const GURL& url) override;
diff --git a/chrome/renderer/media/chrome_key_systems.cc b/chrome/renderer/media/chrome_key_systems.cc
index e23e360..7ebb4fe 100644
--- a/chrome/renderer/media/chrome_key_systems.cc
+++ b/chrome/renderer/media/chrome_key_systems.cc
@@ -13,8 +13,8 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/common/render_messages.h"
#include "components/cdm/renderer/widevine_key_systems.h"
-#include "content/public/common/eme_constants.h"
#include "content/public/renderer/render_thread.h"
+#include "media/base/eme_constants.h"
#if defined(OS_ANDROID)
#include "components/cdm/renderer/android_key_systems.h"
@@ -29,8 +29,8 @@
#include "base/version.h"
#endif
-using content::KeySystemInfo;
-using content::SupportedCodecs;
+using media::KeySystemInfo;
+using media::SupportedCodecs;
#if defined(ENABLE_PEPPER_CDMS)
static bool IsPepperCdmAvailable(
@@ -74,11 +74,11 @@ static void AddExternalClearKey(
KeySystemInfo info(kExternalClearKeyKeySystem);
- info.supported_codecs = content::EME_CODEC_WEBM_ALL;
- info.supported_init_data_types = content::EME_INIT_DATA_TYPE_WEBM;
+ info.supported_codecs = media::EME_CODEC_WEBM_ALL;
+ info.supported_init_data_types = media::EME_INIT_DATA_TYPE_WEBM;
#if defined(USE_PROPRIETARY_CODECS)
- info.supported_codecs |= content::EME_CODEC_MP4_ALL;
- info.supported_init_data_types |= content::EME_INIT_DATA_TYPE_CENC;
+ info.supported_codecs |= media::EME_CODEC_MP4_ALL;
+ info.supported_init_data_types |= media::EME_INIT_DATA_TYPE_CENC;
#endif // defined(USE_PROPRIETARY_CODECS)
info.pepper_type = kExternalClearKeyPepperType;
@@ -156,19 +156,19 @@ static void AddPepperBasedWidevine(
additional_param_values,
&codecs);
- SupportedCodecs supported_codecs = content::EME_CODEC_NONE;
+ SupportedCodecs supported_codecs = media::EME_CODEC_NONE;
for (size_t i = 0; i < codecs.size(); ++i) {
if (codecs[i] == kCdmSupportedCodecVorbis)
- supported_codecs |= content::EME_CODEC_WEBM_VORBIS;
+ supported_codecs |= media::EME_CODEC_WEBM_VORBIS;
if (codecs[i] == kCdmSupportedCodecVp8)
- supported_codecs |= content::EME_CODEC_WEBM_VP8;
+ supported_codecs |= media::EME_CODEC_WEBM_VP8;
if (codecs[i] == kCdmSupportedCodecVp9)
- supported_codecs |= content::EME_CODEC_WEBM_VP9;
+ supported_codecs |= media::EME_CODEC_WEBM_VP9;
#if defined(USE_PROPRIETARY_CODECS)
if (codecs[i] == kCdmSupportedCodecAac)
- supported_codecs |= content::EME_CODEC_MP4_AAC;
+ supported_codecs |= media::EME_CODEC_MP4_AAC;
if (codecs[i] == kCdmSupportedCodecAvc1)
- supported_codecs |= content::EME_CODEC_MP4_AVC1;
+ supported_codecs |= media::EME_CODEC_MP4_AVC1;
#endif // defined(USE_PROPRIETARY_CODECS)
}
diff --git a/chrome/renderer/media/chrome_key_systems.h b/chrome/renderer/media/chrome_key_systems.h
index 13acd39..dfec84f 100644
--- a/chrome/renderer/media/chrome_key_systems.h
+++ b/chrome/renderer/media/chrome_key_systems.h
@@ -7,8 +7,8 @@
#include <vector>
-#include "content/public/renderer/key_system_info.h"
+#include "media/base/key_system_info.h"
-void AddChromeKeySystems(std::vector<content::KeySystemInfo>* key_systems_info);
+void AddChromeKeySystems(std::vector<media::KeySystemInfo>* key_systems_info);
#endif // CHROME_RENDERER_MEDIA_CHROME_KEY_SYSTEMS_H_
diff --git a/chromecast/renderer/DEPS b/chromecast/renderer/DEPS
index 8632b54..790b870 100644
--- a/chromecast/renderer/DEPS
+++ b/chromecast/renderer/DEPS
@@ -2,6 +2,7 @@ include_rules = [
"+chromecast/media",
"+components/cdm/renderer",
"+content/public/renderer",
+ "+media/base",
"+third_party/WebKit/public/platform",
"+third_party/WebKit/public/web",
]
diff --git a/chromecast/renderer/key_systems_cast.cc b/chromecast/renderer/key_systems_cast.cc
index be25c64..a07e6ba 100644
--- a/chromecast/renderer/key_systems_cast.cc
+++ b/chromecast/renderer/key_systems_cast.cc
@@ -10,7 +10,7 @@
#include "base/logging.h"
#include "chromecast/media/base/key_systems_common.h"
#include "components/cdm/renderer/widevine_key_systems.h"
-#include "content/public/common/eme_constants.h"
+#include "media/base/eme_constants.h"
#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
@@ -19,17 +19,17 @@ namespace shell {
void AddKeySystemWithCodecs(
const std::string& key_system_name,
- std::vector<content::KeySystemInfo>* concrete_key_systems) {
- content::KeySystemInfo info(key_system_name);
- info.supported_codecs = content::EME_CODEC_MP4_ALL;
+ std::vector<media::KeySystemInfo>* concrete_key_systems) {
+ media::KeySystemInfo info(key_system_name);
+ info.supported_codecs = media::EME_CODEC_MP4_ALL;
concrete_key_systems->push_back(info);
}
void AddChromecastKeySystems(
- std::vector<content::KeySystemInfo>* key_systems_info) {
+ std::vector<media::KeySystemInfo>* key_systems_info) {
#if defined(WIDEVINE_CDM_AVAILABLE)
AddWidevineWithCodecs(cdm::WIDEVINE,
- content::EME_CODEC_MP4_ALL,
+ media::EME_CODEC_MP4_ALL,
key_systems_info);
#endif
diff --git a/chromecast/renderer/key_systems_cast.h b/chromecast/renderer/key_systems_cast.h
index 5853c68..544876b 100644
--- a/chromecast/renderer/key_systems_cast.h
+++ b/chromecast/renderer/key_systems_cast.h
@@ -7,7 +7,7 @@
#include <vector>
-#include "content/public/renderer/key_system_info.h"
+#include "media/base/key_system_info.h"
namespace chromecast {
namespace shell {
@@ -15,14 +15,14 @@ namespace shell {
// Adds a single key system by name.
void AddKeySystemWithCodecs(
const std::string& key_system_name,
- std::vector<content::KeySystemInfo>* concrete_key_systems);
+ std::vector<media::KeySystemInfo>* concrete_key_systems);
void AddChromecastKeySystems(
- std::vector<content::KeySystemInfo>* key_systems_info);
+ std::vector<media::KeySystemInfo>* key_systems_info);
// TODO(gunsch): Remove when prefixed EME is removed.
void AddChromecastPlatformKeySystems(
- std::vector<content::KeySystemInfo>* key_systems_info);
+ std::vector<media::KeySystemInfo>* key_systems_info);
} // namespace shell
} // namespace chromecast
diff --git a/components/cdm.gypi b/components/cdm.gypi
index 618342c..d6f640a 100644
--- a/components/cdm.gypi
+++ b/components/cdm.gypi
@@ -26,7 +26,6 @@
'dependencies': [
'cdm_common',
'../base/base.gyp:base',
- '../content/content.gyp:content_common',
'../content/content.gyp:content_renderer',
'../third_party/widevine/cdm/widevine_cdm.gyp:widevine_cdm_version_h',
],
@@ -43,8 +42,8 @@
'sources': [
'cdm/renderer/android_key_systems.cc',
'cdm/renderer/android_key_systems.h',
- ],
- }],
+ ],
+ }],
],
},
],
diff --git a/components/cdm/DEPS b/components/cdm/DEPS
index 1c40d98..5ca4943 100644
--- a/components/cdm/DEPS
+++ b/components/cdm/DEPS
@@ -1,3 +1,4 @@
include_rules = [
"+ipc",
+ "+media/base",
]
diff --git a/components/cdm/browser/cdm_message_filter_android.cc b/components/cdm/browser/cdm_message_filter_android.cc
index ccea5fe..a19a037 100644
--- a/components/cdm/browser/cdm_message_filter_android.cc
+++ b/components/cdm/browser/cdm_message_filter_android.cc
@@ -13,9 +13,9 @@
#include "media/base/android/media_drm_bridge.h"
using content::BrowserThread;
-using content::SupportedCodecs;
using media::MediaCodecBridge;
using media::MediaDrmBridge;
+using media::SupportedCodecs;
namespace cdm {
@@ -34,12 +34,12 @@ struct CodecInfo {
};
const CodecInfo kCodecsToQuery[] = {
- {content::EME_CODEC_WEBM_VORBIS, CODEC_AUDIO, "vorbis", "video/webm"},
- {content::EME_CODEC_WEBM_VP8, CODEC_VIDEO, "vp8", "video/webm"},
- {content::EME_CODEC_WEBM_VP9, CODEC_VIDEO, "vp9", "video/webm"},
+ {media::EME_CODEC_WEBM_VORBIS, CODEC_AUDIO, "vorbis", "video/webm"},
+ {media::EME_CODEC_WEBM_VP8, CODEC_VIDEO, "vp8", "video/webm"},
+ {media::EME_CODEC_WEBM_VP9, CODEC_VIDEO, "vp9", "video/webm"},
#if defined(USE_PROPRIETARY_CODECS)
- {content::EME_CODEC_MP4_AAC, CODEC_AUDIO, "mp4a", "video/mp4"},
- {content::EME_CODEC_MP4_AVC1, CODEC_VIDEO, "avc1", "video/mp4"}
+ {media::EME_CODEC_MP4_AAC, CODEC_AUDIO, "mp4a", "video/mp4"},
+ {media::EME_CODEC_MP4_AVC1, CODEC_VIDEO, "avc1", "video/mp4"}
#endif // defined(USE_PROPRIETARY_CODECS)
};
@@ -47,7 +47,7 @@ static SupportedCodecs GetSupportedCodecs(
const SupportedKeySystemRequest& request,
bool video_must_be_compositable) {
const std::string& key_system = request.key_system;
- SupportedCodecs supported_codecs = content::EME_CODEC_NONE;
+ SupportedCodecs supported_codecs = media::EME_CODEC_NONE;
for (size_t i = 0; i < arraysize(kCodecsToQuery); ++i) {
const CodecInfo& info = kCodecsToQuery[i];
@@ -106,7 +106,7 @@ void CdmMessageFilterAndroid::OnQueryKeySystemSupport(
if (!MediaDrmBridge::IsKeySystemSupported(request.key_system))
return;
- DCHECK(request.codecs & content::EME_CODEC_ALL) << "unrecognized codec";
+ DCHECK(request.codecs & media::EME_CODEC_ALL) << "unrecognized codec";
response->key_system = request.key_system;
// TODO(qinmin): check composition is supported or not.
response->compositing_codecs = GetSupportedCodecs(request, true);
diff --git a/components/cdm/common/cdm_messages_android.h b/components/cdm/common/cdm_messages_android.h
index 8e0ad1c..028306a 100644
--- a/components/cdm/common/cdm_messages_android.h
+++ b/components/cdm/common/cdm_messages_android.h
@@ -7,24 +7,24 @@
#include <vector>
-#include "content/public/common/eme_constants.h"
#include "ipc/ipc_message_macros.h"
+#include "media/base/eme_constants.h"
#define IPC_MESSAGE_START EncryptedMediaMsgStart
IPC_STRUCT_BEGIN(SupportedKeySystemRequest)
IPC_STRUCT_MEMBER(std::string, key_system)
- IPC_STRUCT_MEMBER(content::SupportedCodecs, codecs, content::EME_CODEC_NONE)
+ IPC_STRUCT_MEMBER(media::SupportedCodecs, codecs, media::EME_CODEC_NONE)
IPC_STRUCT_END()
IPC_STRUCT_BEGIN(SupportedKeySystemResponse)
IPC_STRUCT_MEMBER(std::string, key_system)
- IPC_STRUCT_MEMBER(content::SupportedCodecs,
+ IPC_STRUCT_MEMBER(media::SupportedCodecs,
compositing_codecs,
- content::EME_CODEC_NONE)
- IPC_STRUCT_MEMBER(content::SupportedCodecs,
+ media::EME_CODEC_NONE)
+ IPC_STRUCT_MEMBER(media::SupportedCodecs,
non_compositing_codecs,
- content::EME_CODEC_NONE)
+ media::EME_CODEC_NONE)
IPC_STRUCT_END()
// Messages sent from the renderer to the browser.
diff --git a/components/cdm/renderer/BUILD.gn b/components/cdm/renderer/BUILD.gn
index bc470b0..9652a6c 100644
--- a/components/cdm/renderer/BUILD.gn
+++ b/components/cdm/renderer/BUILD.gn
@@ -18,8 +18,8 @@ static_library("renderer") {
deps = [
"//base",
"//components/cdm/common",
- "//content/public/common",
"//content/public/renderer",
+ "//media/base",
"//third_party/widevine/cdm:version_h",
]
}
diff --git a/components/cdm/renderer/DEPS b/components/cdm/renderer/DEPS
index dbd28cf..725e151 100644
--- a/components/cdm/renderer/DEPS
+++ b/components/cdm/renderer/DEPS
@@ -1,4 +1,3 @@
include_rules = [
- "+content/public/common",
"+content/public/renderer",
]
diff --git a/components/cdm/renderer/android_key_systems.cc b/components/cdm/renderer/android_key_systems.cc
index c6adc80..83a0d04 100644
--- a/components/cdm/renderer/android_key_systems.cc
+++ b/components/cdm/renderer/android_key_systems.cc
@@ -10,13 +10,13 @@
#include "base/logging.h"
#include "components/cdm/common/cdm_messages_android.h"
#include "components/cdm/renderer/widevine_key_systems.h"
-#include "content/public/common/eme_constants.h"
#include "content/public/renderer/render_thread.h"
+#include "media/base/eme_constants.h"
#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
-using content::KeySystemInfo;
-using content::SupportedCodecs;
+using media::KeySystemInfo;
+using media::SupportedCodecs;
namespace cdm {
@@ -26,12 +26,12 @@ static SupportedKeySystemResponse QueryKeySystemSupport(
SupportedKeySystemResponse response;
request.key_system = key_system;
- request.codecs = content::EME_CODEC_ALL;
+ request.codecs = media::EME_CODEC_ALL;
content::RenderThread::Get()->Send(
new ChromeViewHostMsg_QueryKeySystemSupport(request, &response));
- DCHECK(!(response.compositing_codecs & ~content::EME_CODEC_ALL))
+ DCHECK(!(response.compositing_codecs & ~media::EME_CODEC_ALL))
<< "unrecognized codec";
- DCHECK(!(response.non_compositing_codecs & ~content::EME_CODEC_ALL))
+ DCHECK(!(response.non_compositing_codecs & ~media::EME_CODEC_ALL))
<< "unrecognized codec";
return response;
}
@@ -39,14 +39,14 @@ static SupportedKeySystemResponse QueryKeySystemSupport(
void AddAndroidWidevine(std::vector<KeySystemInfo>* concrete_key_systems) {
SupportedKeySystemResponse response = QueryKeySystemSupport(
kWidevineKeySystem);
- if (response.compositing_codecs != content::EME_CODEC_NONE) {
+ if (response.compositing_codecs != media::EME_CODEC_NONE) {
AddWidevineWithCodecs(
WIDEVINE,
static_cast<SupportedCodecs>(response.compositing_codecs),
concrete_key_systems);
}
- if (response.non_compositing_codecs != content::EME_CODEC_NONE) {
+ if (response.non_compositing_codecs != media::EME_CODEC_NONE) {
AddWidevineWithCodecs(
WIDEVINE_HR_NON_COMPOSITING,
static_cast<SupportedCodecs>(response.non_compositing_codecs),
@@ -63,17 +63,17 @@ void AddAndroidPlatformKeySystems(
for (std::vector<std::string>::const_iterator it = key_system_names.begin();
it != key_system_names.end(); ++it) {
SupportedKeySystemResponse response = QueryKeySystemSupport(*it);
- if (response.compositing_codecs != content::EME_CODEC_NONE) {
+ if (response.compositing_codecs != media::EME_CODEC_NONE) {
KeySystemInfo info(*it);
info.supported_codecs = response.compositing_codecs;
// Here we assume that support for a container implies support for the
// associated initialization data type. KeySystems handles validating
// |init_data_type| x |container| pairings.
- if (response.compositing_codecs & content::EME_CODEC_WEBM_ALL)
- info.supported_init_data_types |= content::EME_INIT_DATA_TYPE_WEBM;
+ if (response.compositing_codecs & media::EME_CODEC_WEBM_ALL)
+ info.supported_init_data_types |= media::EME_INIT_DATA_TYPE_WEBM;
#if defined(USE_PROPRIETARY_CODECS)
- if (response.compositing_codecs & content::EME_CODEC_MP4_ALL)
- info.supported_init_data_types |= content::EME_INIT_DATA_TYPE_CENC;
+ if (response.compositing_codecs & media::EME_CODEC_MP4_ALL)
+ info.supported_init_data_types |= media::EME_INIT_DATA_TYPE_CENC;
#endif // defined(USE_PROPRIETARY_CODECS)
concrete_key_systems->push_back(info);
}
diff --git a/components/cdm/renderer/android_key_systems.h b/components/cdm/renderer/android_key_systems.h
index 36be6c9..fb962b1 100644
--- a/components/cdm/renderer/android_key_systems.h
+++ b/components/cdm/renderer/android_key_systems.h
@@ -7,17 +7,17 @@
#include <vector>
-#include "content/public/renderer/key_system_info.h"
+#include "media/base/key_system_info.h"
namespace cdm {
void AddAndroidWidevine(
- std::vector<content::KeySystemInfo>* concrete_key_systems);
+ std::vector<media::KeySystemInfo>* concrete_key_systems);
// Add platform-supported key systems which are not explicitly handled
// by Chrome.
void AddAndroidPlatformKeySystems(
- std::vector<content::KeySystemInfo>* concrete_key_systems);
+ std::vector<media::KeySystemInfo>* concrete_key_systems);
} // namespace cdm
diff --git a/components/cdm/renderer/widevine_key_systems.cc b/components/cdm/renderer/widevine_key_systems.cc
index d08b6ad..f803e8e 100644
--- a/components/cdm/renderer/widevine_key_systems.cc
+++ b/components/cdm/renderer/widevine_key_systems.cc
@@ -8,14 +8,14 @@
#include <vector>
#include "base/logging.h"
-#include "content/public/common/eme_constants.h"
+#include "media/base/eme_constants.h"
#include "widevine_cdm_version.h" // In SHARED_INTERMEDIATE_DIR.
#if defined(WIDEVINE_CDM_AVAILABLE)
-using content::KeySystemInfo;
-using content::SupportedCodecs;
+using media::KeySystemInfo;
+using media::SupportedCodecs;
namespace cdm {
@@ -53,11 +53,11 @@ void AddWidevineWithCodecs(WidevineCdmType widevine_cdm_type,
// Here we assume that support for a container imples support for the
// associated initialization data type. KeySystems handles validating
// |init_data_type| x |container| pairings.
- if (supported_codecs & content::EME_CODEC_WEBM_ALL)
- info.supported_init_data_types |= content::EME_INIT_DATA_TYPE_WEBM;
+ if (supported_codecs & media::EME_CODEC_WEBM_ALL)
+ info.supported_init_data_types |= media::EME_INIT_DATA_TYPE_WEBM;
#if defined(USE_PROPRIETARY_CODECS)
- if (supported_codecs & content::EME_CODEC_MP4_ALL)
- info.supported_init_data_types |= content::EME_INIT_DATA_TYPE_CENC;
+ if (supported_codecs & media::EME_CODEC_MP4_ALL)
+ info.supported_init_data_types |= media::EME_INIT_DATA_TYPE_CENC;
#endif // defined(USE_PROPRIETARY_CODECS)
#if defined(ENABLE_PEPPER_CDMS)
diff --git a/components/cdm/renderer/widevine_key_systems.h b/components/cdm/renderer/widevine_key_systems.h
index ab1966f..1d42b3b 100644
--- a/components/cdm/renderer/widevine_key_systems.h
+++ b/components/cdm/renderer/widevine_key_systems.h
@@ -7,7 +7,8 @@
#include <vector>
-#include "content/public/renderer/key_system_info.h"
+#include "build/build_config.h"
+#include "media/base/key_system_info.h"
namespace cdm {
@@ -20,8 +21,8 @@ enum WidevineCdmType {
void AddWidevineWithCodecs(
WidevineCdmType widevine_cdm_type,
- content::SupportedCodecs supported_codecs,
- std::vector<content::KeySystemInfo>* concrete_key_systems);
+ media::SupportedCodecs supported_codecs,
+ std::vector<media::KeySystemInfo>* concrete_key_systems);
} // namespace cdm
diff --git a/content/content_common.gypi b/content/content_common.gypi
index 47538d6..8d95e6a 100644
--- a/content/content_common.gypi
+++ b/content/content_common.gypi
@@ -57,7 +57,6 @@
'public/common/context_menu_params.h',
'public/common/drop_data.cc',
'public/common/drop_data.h',
- 'public/common/eme_constants.h',
'public/common/favicon_url.cc',
'public/common/favicon_url.h',
'public/common/file_chooser_file_info.cc',
diff --git a/content/content_renderer.gypi b/content/content_renderer.gypi
index b2a0b4c..f3f445d 100644
--- a/content/content_renderer.gypi
+++ b/content/content_renderer.gypi
@@ -49,8 +49,6 @@
'public/renderer/context_menu_client.h',
'public/renderer/document_state.cc',
'public/renderer/document_state.h',
- 'public/renderer/key_system_info.cc',
- 'public/renderer/key_system_info.h',
'public/renderer/navigation_state.cc',
'public/renderer/navigation_state.h',
'public/renderer/pepper_plugin_instance.h',
diff --git a/content/public/renderer/content_renderer_client.cc b/content/public/renderer/content_renderer_client.cc
index 88ca258..76f27ee 100644
--- a/content/public/renderer/content_renderer_client.cc
+++ b/content/public/renderer/content_renderer_client.cc
@@ -155,7 +155,7 @@ bool ContentRendererClient::AllowPepperMediaStreamAPI(const GURL& url) {
}
void ContentRendererClient::AddKeySystems(
- std::vector<KeySystemInfo>* key_systems) {
+ std::vector<media::KeySystemInfo>* key_systems) {
}
bool ContentRendererClient::ShouldReportDetailedMessageForSource(
diff --git a/content/public/renderer/content_renderer_client.h b/content/public/renderer/content_renderer_client.h
index 9de7a08..daf8d4a 100644
--- a/content/public/renderer/content_renderer_client.h
+++ b/content/public/renderer/content_renderer_client.h
@@ -49,13 +49,16 @@ struct WebPluginParams;
struct WebURLError;
}
+namespace media {
+struct KeySystemInfo;
+}
+
namespace content {
class BrowserPluginDelegate;
class DocumentState;
class RenderFrame;
class RenderView;
class SynchronousCompositor;
-struct KeySystemInfo;
struct WebPluginInfo;
// Embedder API for participating in renderer logic.
@@ -243,7 +246,7 @@ class CONTENT_EXPORT ContentRendererClient {
// Gives the embedder a chance to register the key system(s) it supports by
// populating |key_systems|.
- virtual void AddKeySystems(std::vector<KeySystemInfo>* key_systems);
+ virtual void AddKeySystems(std::vector<media::KeySystemInfo>* key_systems);
// Returns true if we should report a detailed message (including a stack
// trace) for console [logs|errors|exceptions]. |source| is the WebKit-
diff --git a/content/renderer/media/crypto/key_systems.cc b/content/renderer/media/crypto/key_systems.cc
index 7435d69..9c3ce04 100644
--- a/content/renderer/media/crypto/key_systems.cc
+++ b/content/renderer/media/crypto/key_systems.cc
@@ -13,10 +13,10 @@
#include "base/threading/thread_checker.h"
#include "base/time/time.h"
#include "content/public/common/content_client.h"
-#include "content/public/common/eme_constants.h"
#include "content/public/renderer/content_renderer_client.h"
-#include "content/public/renderer/key_system_info.h"
#include "content/renderer/media/crypto/key_systems_support_uma.h"
+#include "media/base/eme_constants.h"
+#include "media/base/key_system_info.h"
#if defined(OS_ANDROID)
#include "media/base/android/media_codec_bridge.h"
@@ -26,6 +26,12 @@
namespace content {
+using media::EmeCodec;
+using media::EmeInitDataType;
+using media::KeySystemInfo;
+using media::SupportedInitDataTypes;
+using media::SupportedCodecs;
+
const char kClearKeyKeySystem[] = "org.w3.clearkey";
const char kPrefixedClearKeyKeySystem[] = "webkit-org.w3.clearkey";
const char kUnsupportedClearKeyKeySystem[] = "unsupported-org.w3.clearkey";
@@ -38,9 +44,9 @@ struct NamedInitDataType {
// Mapping between initialization data types names and enum values. When adding
// entries, make sure to update IsSaneInitDataTypeWithContainer().
static NamedInitDataType kInitDataTypeNames[] = {
- {"webm", EME_INIT_DATA_TYPE_WEBM},
+ {"webm", media::EME_INIT_DATA_TYPE_WEBM},
#if defined(USE_PROPRIETARY_CODECS)
- {"cenc", EME_INIT_DATA_TYPE_CENC}
+ {"cenc", media::EME_INIT_DATA_TYPE_CENC}
#endif // defined(USE_PROPRIETARY_CODECS)
};
@@ -53,25 +59,25 @@ struct NamedCodec {
// Only audio codec can belong to a "audio/*" container. Both audio and video
// codecs can belong to a "video/*" container.
static NamedCodec kContainerToCodecMasks[] = {
- {"audio/webm", EME_CODEC_WEBM_AUDIO_ALL},
- {"video/webm", EME_CODEC_WEBM_ALL},
+ {"audio/webm", media::EME_CODEC_WEBM_AUDIO_ALL},
+ {"video/webm", media::EME_CODEC_WEBM_ALL},
#if defined(USE_PROPRIETARY_CODECS)
- {"audio/mp4", EME_CODEC_MP4_AUDIO_ALL},
- {"video/mp4", EME_CODEC_MP4_ALL}
+ {"audio/mp4", media::EME_CODEC_MP4_AUDIO_ALL},
+ {"video/mp4", media::EME_CODEC_MP4_ALL}
#endif // defined(USE_PROPRIETARY_CODECS)
};
// Mapping between codec names and enum values.
static NamedCodec kCodecStrings[] = {
- {"vorbis", EME_CODEC_WEBM_VORBIS},
- {"vp8", EME_CODEC_WEBM_VP8},
- {"vp8.0", EME_CODEC_WEBM_VP8},
- {"vp9", EME_CODEC_WEBM_VP9},
- {"vp9.0", EME_CODEC_WEBM_VP9},
+ {"vorbis", media::EME_CODEC_WEBM_VORBIS},
+ {"vp8", media::EME_CODEC_WEBM_VP8},
+ {"vp8.0", media::EME_CODEC_WEBM_VP8},
+ {"vp9", media::EME_CODEC_WEBM_VP9},
+ {"vp9.0", media::EME_CODEC_WEBM_VP9},
#if defined(USE_PROPRIETARY_CODECS)
- {"mp4a", EME_CODEC_MP4_AAC},
- {"avc1", EME_CODEC_MP4_AVC1},
- {"avc3", EME_CODEC_MP4_AVC1}
+ {"mp4a", media::EME_CODEC_MP4_AAC},
+ {"avc1", media::EME_CODEC_MP4_AVC1},
+ {"avc3", media::EME_CODEC_MP4_AVC1}
#endif // defined(USE_PROPRIETARY_CODECS)
};
@@ -82,18 +88,18 @@ static void AddClearKey(std::vector<KeySystemInfo>* concrete_key_systems) {
// http://developer.android.com/guide/appendix/media-formats.html
// VP9 support is device dependent.
- info.supported_init_data_types = EME_INIT_DATA_TYPE_WEBM;
- info.supported_codecs = EME_CODEC_WEBM_ALL;
+ info.supported_init_data_types = media::EME_INIT_DATA_TYPE_WEBM;
+ info.supported_codecs = media::EME_CODEC_WEBM_ALL;
#if defined(OS_ANDROID)
// Temporarily disable VP9 support for Android.
// TODO(xhwang): Use mime_util.h to query VP9 support on Android.
- info.supported_codecs &= ~EME_CODEC_WEBM_VP9;
+ info.supported_codecs &= ~media::EME_CODEC_WEBM_VP9;
#endif // defined(OS_ANDROID)
#if defined(USE_PROPRIETARY_CODECS)
- info.supported_init_data_types |= EME_INIT_DATA_TYPE_CENC;
- info.supported_codecs |= EME_CODEC_MP4_ALL;
+ info.supported_init_data_types |= media::EME_INIT_DATA_TYPE_CENC;
+ info.supported_codecs |= media::EME_CODEC_MP4_ALL;
#endif // defined(USE_PROPRIETARY_CODECS)
info.use_aes_decryptor = true;
@@ -149,7 +155,7 @@ class KeySystems {
struct KeySystemProperties {
KeySystemProperties()
- : use_aes_decryptor(false), supported_codecs(EME_CODEC_NONE) {}
+ : use_aes_decryptor(false), supported_codecs(media::EME_CODEC_NONE) {}
bool use_aes_decryptor;
#if defined(ENABLE_PEPPER_CDMS)
@@ -164,7 +170,7 @@ class KeySystems {
typedef base::hash_map<std::string, std::string> ParentKeySystemMap;
typedef base::hash_map<std::string, SupportedCodecs> ContainerCodecsMap;
typedef base::hash_map<std::string, EmeCodec> CodecsMap;
- typedef base::hash_map<std::string, EmeInitDataType> InitDataTypesMap;
+ typedef base::hash_map<std::string, media::EmeInitDataType> InitDataTypesMap;
KeySystems();
~KeySystems() {}
@@ -255,7 +261,7 @@ EmeInitDataType KeySystems::GetInitDataTypeForName(
init_data_type_name_map_.find(init_data_type);
if (iter != init_data_type_name_map_.end())
return iter->second;
- return EME_INIT_DATA_TYPE_NONE;
+ return media::EME_INIT_DATA_TYPE_NONE;
}
SupportedCodecs KeySystems::GetCodecMaskForContainer(
@@ -264,14 +270,14 @@ SupportedCodecs KeySystems::GetCodecMaskForContainer(
container_to_codec_mask_map_.find(container);
if (iter != container_to_codec_mask_map_.end())
return iter->second;
- return EME_CODEC_NONE;
+ return media::EME_CODEC_NONE;
}
EmeCodec KeySystems::GetCodecForString(const std::string& codec) const {
CodecsMap::const_iterator iter = codec_string_map_.find(codec);
if (iter != codec_string_map_.end())
return iter->second;
- return EME_CODEC_NONE;
+ return media::EME_CODEC_NONE;
}
const std::string& KeySystems::GetConcreteKeySystemName(
diff --git a/content/renderer/media/crypto/key_systems_unittest.cc b/content/renderer/media/crypto/key_systems_unittest.cc
index 7b877ee..742dc00 100644
--- a/content/renderer/media/crypto/key_systems_unittest.cc
+++ b/content/renderer/media/crypto/key_systems_unittest.cc
@@ -6,11 +6,11 @@
#include <vector>
#include "content/public/common/content_client.h"
-#include "content/public/common/eme_constants.h"
#include "content/public/renderer/content_renderer_client.h"
-#include "content/public/renderer/key_system_info.h"
#include "content/renderer/media/crypto/key_systems.h"
#include "content/test/test_content_client.h"
+#include "media/base/eme_constants.h"
+#include "media/base/key_system_info.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/WebKit/public/platform/WebString.h"
@@ -37,6 +37,7 @@
namespace content {
using blink::WebString;
+using media::KeySystemInfo;
// These are the (fake) key systems that are registered for these tests.
// kUsesAes uses the AesDecryptor like Clear Key.
@@ -65,8 +66,9 @@ enum TestCodec {
TEST_CODEC_FOO_ALL = TEST_CODEC_FOO_AUDIO_ALL | TEST_CODEC_FOO_VIDEO_ALL
};
-COMPILE_ASSERT((TEST_CODEC_FOO_ALL & EME_CODEC_ALL) == EME_CODEC_NONE,
- test_codec_masks_should_only_use_invalid_codec_masks);
+COMPILE_ASSERT((TEST_CODEC_FOO_ALL & media::EME_CODEC_ALL) ==
+ media::EME_CODEC_NONE,
+ test_codec_masks_should_only_use_invalid_codec_masks);
// Adds test container and codec masks.
// This function must be called after SetContentClient() is called.
@@ -92,22 +94,22 @@ static void AddContainerAndCodecMasksForTest() {
}
class TestContentRendererClient : public ContentRendererClient {
- void AddKeySystems(std::vector<content::KeySystemInfo>* key_systems) override;
+ void AddKeySystems(std::vector<media::KeySystemInfo>* key_systems) override;
};
void TestContentRendererClient::AddKeySystems(
- std::vector<content::KeySystemInfo>* key_systems) {
+ std::vector<media::KeySystemInfo>* key_systems) {
KeySystemInfo aes(kUsesAes);
- aes.supported_codecs = EME_CODEC_WEBM_ALL;
+ aes.supported_codecs = media::EME_CODEC_WEBM_ALL;
aes.supported_codecs |= TEST_CODEC_FOO_ALL;
- aes.supported_init_data_types = EME_INIT_DATA_TYPE_WEBM;
+ aes.supported_init_data_types = media::EME_INIT_DATA_TYPE_WEBM;
aes.use_aes_decryptor = true;
key_systems->push_back(aes);
KeySystemInfo ext(kExternal);
- ext.supported_codecs = EME_CODEC_WEBM_ALL;
+ ext.supported_codecs = media::EME_CODEC_WEBM_ALL;
ext.supported_codecs |= TEST_CODEC_FOO_ALL;
- ext.supported_init_data_types = EME_INIT_DATA_TYPE_WEBM;
+ ext.supported_init_data_types = media::EME_INIT_DATA_TYPE_WEBM;
ext.parent_key_system = kExternalParent;
#if defined(ENABLE_PEPPER_CDMS)
ext.pepper_type = "application/x-ppapi-external-cdm";
diff --git a/media/base/BUILD.gn b/media/base/BUILD.gn
index 51d56df..61fc291 100644
--- a/media/base/BUILD.gn
+++ b/media/base/BUILD.gn
@@ -87,6 +87,9 @@ source_set("base") {
"demuxer_stream_provider.h",
"djb2.cc",
"djb2.h",
+ "eme_constants.h",
+ "key_system_info.cc",
+ "key_system_info.h",
"media.cc",
"media.h",
"media_keys.cc",
diff --git a/content/public/common/eme_constants.h b/media/base/eme_constants.h
index aaf183e..27ebfff 100644
--- a/content/public/common/eme_constants.h
+++ b/media/base/eme_constants.h
@@ -2,12 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_PUBLIC_COMMON_EME_CONSTANTS_H_
-#define CONTENT_PUBLIC_COMMON_EME_CONSTANTS_H_
+#ifndef MEDIA_BASE_EME_CONSTANTS_H_
+#define MEDIA_BASE_EME_CONSTANTS_H_
#include <stdint.h>
-namespace content {
+namespace media {
// Defines bitmask values that specify registered initialization data types used
// in Encrypted Media Extensions (EME).
@@ -48,6 +48,6 @@ enum EmeCodec {
typedef uint32_t SupportedInitDataTypes;
typedef uint32_t SupportedCodecs;
-} // namespace content
+} // namespace media
-#endif // CONTENT_PUBLIC_COMMON_EME_CONSTANTS_H_
+#endif // MEDIA_BASE_EME_CONSTANTS_H_
diff --git a/content/public/renderer/key_system_info.cc b/media/base/key_system_info.cc
index 9578ebf..f436912 100644
--- a/content/public/renderer/key_system_info.cc
+++ b/media/base/key_system_info.cc
@@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/public/renderer/key_system_info.h"
+#include "media/base/key_system_info.h"
-namespace content {
+namespace media {
KeySystemInfo::KeySystemInfo(const std::string& key_system)
: key_system(key_system),
@@ -16,4 +16,4 @@ KeySystemInfo::KeySystemInfo(const std::string& key_system)
KeySystemInfo::~KeySystemInfo() {
}
-} // namespace content
+} // namespace media
diff --git a/content/public/renderer/key_system_info.h b/media/base/key_system_info.h
index 9ec317d..e259c00 100644
--- a/content/public/renderer/key_system_info.h
+++ b/media/base/key_system_info.h
@@ -2,16 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef CONTENT_PUBLIC_RENDERER_KEY_SYSTEM_INFO_H_
-#define CONTENT_PUBLIC_RENDERER_KEY_SYSTEM_INFO_H_
+#ifndef MEDIA_BASE_KEY_SYSTEM_INFO_H_
+#define MEDIA_BASE_KEY_SYSTEM_INFO_H_
-#include <map>
#include <string>
-#include "base/basictypes.h"
-#include "base/containers/hash_tables.h"
-#include "content/common/content_export.h"
-#include "content/public/common/eme_constants.h"
+#include "media/base/eme_constants.h"
+#include "media/base/media_export.h"
// Definitions:
// * Key system
@@ -28,11 +25,11 @@
// be an abstract key system.
// As an example, "com.example" is the parent of "com.example.foo".
-namespace content {
+namespace media {
// Contains information about an EME key system as well as how to instantiate
// the corresponding CDM.
-struct CONTENT_EXPORT KeySystemInfo {
+struct MEDIA_EXPORT KeySystemInfo {
explicit KeySystemInfo(const std::string& key_system);
~KeySystemInfo();
@@ -56,6 +53,6 @@ struct CONTENT_EXPORT KeySystemInfo {
#endif
};
-} // namespace content
+} // namespace media
-#endif // CONTENT_PUBLIC_RENDERER_KEY_SYSTEM_INFO_H_
+#endif // MEDIA_BASE_KEY_SYSTEM_INFO_H_
diff --git a/media/media.gyp b/media/media.gyp
index 7f0884c..f3b2817 100644
--- a/media/media.gyp
+++ b/media/media.gyp
@@ -287,6 +287,9 @@
'base/demuxer_stream_provider.h',
'base/djb2.cc',
'base/djb2.h',
+ 'base/eme_constants.h',
+ 'base/key_system_info.cc',
+ 'base/key_system_info.h',
'base/keyboard_event_counter.cc',
'base/keyboard_event_counter.h',
'base/mac/avfoundation_glue.h',