| // 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. |
| |
| // IPC messages for EME on android. |
| // Multiply-included message file, hence no include guard. |
| |
| #include <vector> |
| |
| #include "ipc/ipc_message_macros.h" |
| |
| // Singly-included section for enums and custom IPC traits. |
| #ifndef CHROME_COMMON_ENCRYPTED_MEDIA_MESSAGES_ANDROID_H |
| #define CHROME_COMMON_ENCRYPTED_MEDIA_MESSAGES_ANDROID_H |
| |
| namespace android { |
| |
| // Defines bitmask values used to specify supported codecs. |
| // Each value represents a codec within a specific container. |
| enum SupportedCodecs { |
| NO_SUPPORTED_CODECS = 0, |
| WEBM_VP8_AND_VORBIS = 1 << 0, |
| MP4_AAC = 1 << 1, |
| MP4_AVC1 = 1 << 2, |
| }; |
| |
| } // namespace android |
| |
| #endif // CHROME_COMMON_ENCRYPTED_MEDIA_MESSAGES_ANDROID_H |
| |
| |
| #define IPC_MESSAGE_START EncryptedMediaMsgStart |
| |
| IPC_ENUM_TRAITS(android::SupportedCodecs) |
| |
| IPC_STRUCT_BEGIN(SupportedKeySystemRequest) |
| IPC_STRUCT_MEMBER(std::vector<uint8>, uuid) |
| IPC_STRUCT_MEMBER(android::SupportedCodecs, codecs, |
| android::NO_SUPPORTED_CODECS) |
| IPC_STRUCT_END() |
| |
| IPC_STRUCT_BEGIN(SupportedKeySystemResponse) |
| IPC_STRUCT_MEMBER(std::vector<uint8>, uuid) |
| IPC_STRUCT_MEMBER(android::SupportedCodecs, compositing_codecs, |
| android::NO_SUPPORTED_CODECS) |
| IPC_STRUCT_MEMBER(android::SupportedCodecs, non_compositing_codecs, |
| android::NO_SUPPORTED_CODECS) |
| IPC_STRUCT_END() |
| |
| // Messages sent from the renderer to the browser. |
| |
| // Synchronously get a list of supported EME key systems. |
| IPC_SYNC_MESSAGE_CONTROL1_1( |
| ChromeViewHostMsg_GetSupportedKeySystems, |
| SupportedKeySystemRequest /* key system information request */, |
| SupportedKeySystemResponse /* key system information response */) |