1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Copyright 2013 The Chromium Authors. All rights reserved.
2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// Use of this source code is governed by a BSD-style license that can be
3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com// found in the LICENSE file.
4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#ifndef MEDIA_CDM_PPAPI_SUPPORTED_CDM_VERSIONS_H_
6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#define MEDIA_CDM_PPAPI_SUPPORTED_CDM_VERSIONS_H_
7ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com
88a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#include "media/cdm/ppapi/api/content_decryption_module.h"
98a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
108a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.comnamespace media {
118a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
12ada3635c8e83739f45cd52459d3e052783d1a40emtkleinbool IsSupportedCdmModuleVersion(int version) {
13ada3635c8e83739f45cd52459d3e052783d1a40emtklein  switch(version) {
140b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org    // Latest.
150b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org    case CDM_MODULE_VERSION:
160b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org      return true;
170b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org    default:
180b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org      return false;
190b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org  }
200b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org}
210b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org
220b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.orgbool IsSupportedCdmInterfaceVersion(int version) {
230b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org  COMPILE_ASSERT(cdm::ContentDecryptionModule::kVersion ==
240b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org                     cdm::ContentDecryptionModule_6::kVersion,
250b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org                 update_code_below);
260b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org  switch(version) {
270b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org    // Supported versions in decreasing order.
28ab7ac026d25fcb6e10c042e933f03e5f806c9097reed@android.com    case cdm::ContentDecryptionModule_6::kVersion:
298f4d2306fa866a26f9448048ff63f692b2ba43aareed@google.com    case cdm::ContentDecryptionModule_4::kVersion:
308f4d2306fa866a26f9448048ff63f692b2ba43aareed@google.com      return true;
318f4d2306fa866a26f9448048ff63f692b2ba43aareed@google.com    default:
328a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com      return false;
338a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com  }
348a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}
358a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
368a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.combool IsSupportedCdmHostVersion(int version) {
378a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com  COMPILE_ASSERT(cdm::ContentDecryptionModule::Host::kVersion ==
388a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com                     cdm::ContentDecryptionModule_6::Host::kVersion,
390b9ada1318acf7d5fe90c57331c2a4548aad8b98commit-bot@chromium.org                 update_code_below);
40fbfcd5602128ec010c82cb733c9cdc0a3254f9f3rmistry@google.com  switch(version) {
418a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    // Supported versions in decreasing order.
428a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    case cdm::Host_6::kVersion:
438a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    case cdm::Host_4::kVersion:
448a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com      return true;
458a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com    default:
468a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com      return false;
478a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com  }
488a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}
498a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
508a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com}  // namespace media
518a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com
528a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com#endif  // MEDIA_CDM_PPAPI_SUPPORTED_CDM_VERSIONS_H_
538a1c16ff38322f0210116fa7293eb8817c7e477ereed@android.com