| Index: chrome/browser/media/encrypted_media_message_filter_android.cc
|
| diff --git a/chrome/browser/media/encrypted_media_message_filter_android.cc b/chrome/browser/media/encrypted_media_message_filter_android.cc
|
| deleted file mode 100644
|
| index e16b0e9b948cc3da2691d52ae38e9a4b3e79ed56..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/media/encrypted_media_message_filter_android.cc
|
| +++ /dev/null
|
| @@ -1,115 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/media/encrypted_media_message_filter_android.h"
|
| -
|
| -#include <string>
|
| -
|
| -#include "chrome/common/encrypted_media_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"
|
| -
|
| -using content::BrowserThread;
|
| -using content::SupportedCodecs;
|
| -using media::MediaCodecBridge;
|
| -using media::MediaDrmBridge;
|
| -
|
| -namespace chrome {
|
| -
|
| -const size_t kMaxKeySystemLength = 256;
|
| -
|
| -enum CodecType {
|
| - CODEC_AUDIO,
|
| - CODEC_VIDEO
|
| -};
|
| -
|
| -struct CodecInfo {
|
| - SupportedCodecs codec;
|
| - CodecType codec_type;
|
| - const char* codec_name;
|
| - const char* container_mime_type;
|
| -};
|
| -
|
| -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"},
|
| -#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"}
|
| -#endif // defined(USE_PROPRIETARY_CODECS)
|
| -};
|
| -
|
| -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;
|
| -
|
| - for (size_t i = 0; i < arraysize(kCodecsToQuery); ++i) {
|
| - const CodecInfo& info = kCodecsToQuery[i];
|
| - // TODO(qinmin): Remove the composition logic when secure contents can be
|
| - // composited.
|
| - bool is_secure = (info.codec_type == CODEC_VIDEO)
|
| - ? (!video_must_be_compositable) : false;
|
| - if ((request.codecs & info.codec) &&
|
| - MediaDrmBridge::IsKeySystemSupportedWithType(
|
| - key_system, info.container_mime_type) &&
|
| - MediaCodecBridge::CanDecode(info.codec_name, is_secure)) {
|
| - supported_codecs |= info.codec;
|
| - }
|
| - }
|
| -
|
| - return supported_codecs;
|
| -}
|
| -
|
| -EncryptedMediaMessageFilterAndroid::EncryptedMediaMessageFilterAndroid()
|
| - : BrowserMessageFilter(EncryptedMediaMsgStart) {}
|
| -
|
| -EncryptedMediaMessageFilterAndroid::~EncryptedMediaMessageFilterAndroid() {}
|
| -
|
| -bool EncryptedMediaMessageFilterAndroid::OnMessageReceived(
|
| - const IPC::Message& message, bool* message_was_ok) {
|
| - bool handled = true;
|
| - IPC_BEGIN_MESSAGE_MAP_EX(
|
| - EncryptedMediaMessageFilterAndroid, message, *message_was_ok)
|
| - IPC_MESSAGE_HANDLER(ChromeViewHostMsg_GetSupportedKeySystems,
|
| - OnGetSupportedKeySystems)
|
| - IPC_MESSAGE_UNHANDLED(handled = false)
|
| - IPC_END_MESSAGE_MAP_EX()
|
| - return handled;
|
| -}
|
| -
|
| -void EncryptedMediaMessageFilterAndroid::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)
|
| - *thread = BrowserThread::FILE;
|
| -}
|
| -
|
| -void EncryptedMediaMessageFilterAndroid::OnGetSupportedKeySystems(
|
| - const SupportedKeySystemRequest& request,
|
| - SupportedKeySystemResponse* response) {
|
| - if (!response) {
|
| - NOTREACHED() << "NULL response pointer provided.";
|
| - return;
|
| - }
|
| -
|
| - if (request.key_system.size() > kMaxKeySystemLength) {
|
| - NOTREACHED() << "Invalid key system: " << request.key_system;
|
| - return;
|
| - }
|
| -
|
| - if (!MediaDrmBridge::IsKeySystemSupported(request.key_system))
|
| - return;
|
| -
|
| - DCHECK(request.codecs & content::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);
|
| - response->non_compositing_codecs = GetSupportedCodecs(request, false);
|
| -}
|
| -
|
| -} // namespace chrome
|
|
|