summaryrefslogtreecommitdiff
path: root/chromium/media/cdm
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-10-13 13:24:50 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-10-14 10:57:25 +0000
commitaf3d4809763ef308f08ced947a73b624729ac7ea (patch)
tree4402b911e30383f6c6dace1e8cf3b8e85355db3a /chromium/media/cdm
parent0e8ff63a407fe323e215bb1a2c423c09a4747c8a (diff)
downloadqtwebengine-chromium-af3d4809763ef308f08ced947a73b624729ac7ea.tar.gz
BASELINE: Update Chromium to 47.0.2526.14
Also adding in sources needed for spellchecking. Change-Id: Idd44170fa1616f26315188970a8d5ba7d472b18a Reviewed-by: Michael BrĂ¼ning <michael.bruning@theqtcompany.com>
Diffstat (limited to 'chromium/media/cdm')
-rw-r--r--chromium/media/cdm/json_web_key.cc4
-rw-r--r--chromium/media/cdm/player_tracker_impl.cc6
-rw-r--r--chromium/media/cdm/ppapi/BUILD.gn11
-rw-r--r--chromium/media/cdm/ppapi/api/codereview.settings9
-rw-r--r--chromium/media/cdm/ppapi/api/content_decryption_module.h5
-rw-r--r--chromium/media/cdm/ppapi/cdm_adapter.cc6
-rw-r--r--chromium/media/cdm/ppapi/cdm_adapter.gni98
-rw-r--r--chromium/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc6
-rw-r--r--chromium/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.cc2
-rw-r--r--chromium/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.cc23
-rw-r--r--chromium/media/cdm/ppapi/external_clear_key/libvpx_cdm_video_decoder.cc5
-rw-r--r--chromium/media/cdm/stub/stub_cdm.cc12
12 files changed, 62 insertions, 125 deletions
diff --git a/chromium/media/cdm/json_web_key.cc b/chromium/media/cdm/json_web_key.cc
index 0576f369009..5d8c5306993 100644
--- a/chromium/media/cdm/json_web_key.cc
+++ b/chromium/media/cdm/json_web_key.cc
@@ -307,7 +307,7 @@ bool ExtractKeyIdsFromKeyIdsInitData(const std::string& input,
error_message->assign("'");
error_message->append(kKeyIdsTag);
error_message->append("'[");
- error_message->append(base::UintToString(i));
+ error_message->append(base::SizeTToString(i));
error_message->append("] is not string.");
return false;
}
@@ -318,7 +318,7 @@ bool ExtractKeyIdsFromKeyIdsInitData(const std::string& input,
error_message->assign("'");
error_message->append(kKeyIdsTag);
error_message->append("'[");
- error_message->append(base::UintToString(i));
+ error_message->append(base::SizeTToString(i));
error_message->append("] is not valid base64url encoded. Value: ");
error_message->append(ShortenTo64Characters(encoded_key_id));
return false;
diff --git a/chromium/media/cdm/player_tracker_impl.cc b/chromium/media/cdm/player_tracker_impl.cc
index 8f102bd724e..e4abd61f707 100644
--- a/chromium/media/cdm/player_tracker_impl.cc
+++ b/chromium/media/cdm/player_tracker_impl.cc
@@ -19,7 +19,11 @@ PlayerTrackerImpl::PlayerCallbacks::PlayerCallbacks(
PlayerTrackerImpl::PlayerCallbacks::~PlayerCallbacks() {
}
-PlayerTrackerImpl::PlayerTrackerImpl() : next_registration_id_(1) {}
+PlayerTrackerImpl::PlayerTrackerImpl() : next_registration_id_(1) {
+ // Enable PlayerTrackerImpl to be created on another thread than it will be
+ // later exclusively used.
+ thread_checker_.DetachFromThread();
+}
PlayerTrackerImpl::~PlayerTrackerImpl() {}
diff --git a/chromium/media/cdm/ppapi/BUILD.gn b/chromium/media/cdm/ppapi/BUILD.gn
index 585e6bf00a2..1fdebd1bc75 100644
--- a/chromium/media/cdm/ppapi/BUILD.gn
+++ b/chromium/media/cdm/ppapi/BUILD.gn
@@ -30,6 +30,7 @@ shared_library("clearkeycdm") {
deps = [
"//base",
+ "//build/config/sanitizers:deps",
"//media", # For media::AudioTimestampHelper
"//media:shared_memory_support", # For media::AudioBus.
"//url",
@@ -51,11 +52,12 @@ shared_library("clearkeycdm") {
process_version("clearkeycdmadapter_resources") {
visibility = [ ":*" ]
+ template_file = chrome_version_rc_template
sources = [
"//media/clearkeycdmadapter.ver",
"external_clear_key/BRANDING",
]
- output = "$target_gen_dir/clearkeycdmadapter_version.rc"
+ output = "$target_gen_dir/clearkeycdmadapter_version.rc"
}
cdm_adapter("clearkeycdmadapter") {
@@ -66,11 +68,4 @@ cdm_adapter("clearkeycdmadapter") {
":clearkeycdmadapter_resources",
"//ppapi/cpp",
]
-
- if (is_posix && !is_mac && enable_pepper_cdms) {
- # Because clearkeycdm has type 'loadable_module', we must explicitly
- # specify this dependency.
- ldflags = [ rebase_path("$root_out_dir/libclearkeycdm.so", root_build_dir) ]
- libs = [ "rt" ]
- }
}
diff --git a/chromium/media/cdm/ppapi/api/codereview.settings b/chromium/media/cdm/ppapi/api/codereview.settings
index 5b1311c8917..9faf2326bf1 100644
--- a/chromium/media/cdm/ppapi/api/codereview.settings
+++ b/chromium/media/cdm/ppapi/api/codereview.settings
@@ -1,6 +1,9 @@
CODE_REVIEW_SERVER: codereview.chromium.org
CC_LIST: cdm-api-reviews@chromium.org, feature-media-reviews@chromium.org
-VIEW_VC: https://src.chromium.org/viewvc/chrome?view=rev&revision=
-GITCL_PREUPLOAD: http://src.chromium.org/viewvc/trunk/tools/depot_tools/git-cl-upload-hook?revision=HEAD&root=chrome
-GITCL_PREDCOMMIT: http://src.chromium.org/viewvc/trunk/tools/depot_tools/git-cl-upload-hook?revision=HEAD&root=chrome
+VIEW_VC: https://chromium.googlesource.com/chromium/cdm/+/
+STATUS: http://chromium-status.appspot.com/status
+TRY_ON_UPLOAD: False
+TRYSERVER_SVN_URL: svn://svn.chromium.org/chrome-try/try
+GITCL_PREUPLOAD: http://src.chromium.org/viewvc/chrome/trunk/tools/depot_tools/git-cl-upload-hook?revision=HEAD
+GITCL_PREDCOMMIT: http://src.chromium.org/viewvc/chrome/trunk/tools/depot_tools/git-cl-upload-hook?revision=HEAD
PROJECT: chromium_deps
diff --git a/chromium/media/cdm/ppapi/api/content_decryption_module.h b/chromium/media/cdm/ppapi/api/content_decryption_module.h
index 1e5e6f6ea95..512ca97689e 100644
--- a/chromium/media/cdm/ppapi/api/content_decryption_module.h
+++ b/chromium/media/cdm/ppapi/api/content_decryption_module.h
@@ -305,9 +305,10 @@ enum KeyStatus {
kUsable = 0,
kInternalError = 1,
kExpired = 2,
- kOutputNotAllowed = 3,
+ kOutputRestricted = 3,
kOutputDownscaled = 4,
- kStatusPending = 5
+ kStatusPending = 5,
+ kReleased = 6
};
// Used when passing arrays of key information. Does not own the referenced
diff --git a/chromium/media/cdm/ppapi/cdm_adapter.cc b/chromium/media/cdm/ppapi/cdm_adapter.cc
index 29ca3ea9849..93479e25955 100644
--- a/chromium/media/cdm/ppapi/cdm_adapter.cc
+++ b/chromium/media/cdm/ppapi/cdm_adapter.cc
@@ -296,12 +296,14 @@ PP_CdmKeyStatus CdmKeyStatusToPpKeyStatus(cdm::KeyStatus status) {
return PP_CDMKEYSTATUS_INVALID;
case cdm::kExpired:
return PP_CDMKEYSTATUS_EXPIRED;
- case cdm::kOutputNotAllowed:
- return PP_CDMKEYSTATUS_OUTPUTNOTALLOWED;
+ case cdm::kOutputRestricted:
+ return PP_CDMKEYSTATUS_OUTPUTRESTRICTED;
case cdm::kOutputDownscaled:
return PP_CDMKEYSTATUS_OUTPUTDOWNSCALED;
case cdm::kStatusPending:
return PP_CDMKEYSTATUS_STATUSPENDING;
+ case cdm::kReleased:
+ return PP_CDMKEYSTATUS_RELEASED;
}
PP_NOTREACHED();
diff --git a/chromium/media/cdm/ppapi/cdm_adapter.gni b/chromium/media/cdm/ppapi/cdm_adapter.gni
index d5152ae2b16..e326903042f 100644
--- a/chromium/media/cdm/ppapi/cdm_adapter.gni
+++ b/chromium/media/cdm/ppapi/cdm_adapter.gni
@@ -11,8 +11,13 @@ template("cdm_adapter") {
shared_library(target_name) {
# Don't filter sources list again.
set_sources_assignment_filter([])
+ cflags = []
+ sources = []
+ ldflags = []
+ libs = []
+ forward_variables_from(invoker, "*")
- sources = [
+ sources += [
"//media/cdm/ppapi/api/content_decryption_module.h",
"//media/cdm/ppapi/cdm_adapter.cc",
"//media/cdm/ppapi/cdm_adapter.h",
@@ -26,101 +31,22 @@ template("cdm_adapter") {
"//media/cdm/ppapi/linked_ptr.h",
"//media/cdm/ppapi/supported_cdm_versions.h",
]
- if (defined(invoker.sources)) {
- sources += invoker.sources
- }
-
if (is_mac) {
- ldflags = [
+ ldflags += [
# Not to strip important symbols by -Wl,-dead_strip.
"-Wl,-exported_symbol,_PPP_GetInterface",
"-Wl,-exported_symbol,_PPP_InitializeModule",
"-Wl,-exported_symbol,_PPP_ShutdownModule",
]
#TODO(GYP) Mac: 'DYLIB_INSTALL_NAME_BASE': '@loader_path',
- } else if (is_posix && !is_mac) {
- cflags = [ "-fvisibility=hidden" ]
- # Note GYP sets rpath but this is set by default on shared libraries in
- # the GN build.
+ } else if (is_posix) {
+ cflags += [ "-fvisibility=hidden" ]
+
+ # Required for clock_gettime()
+ libs += [ "rt" ]
}
# TODO(jschuh) crbug.com/167187
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
-
- if (defined(invoker.all_dependent_configs)) {
- all_dependent_configs = invoker.all_dependent_configs
- }
- if (defined(invoker.allow_circular_includes_from)) {
- allow_circular_includes_from = invoker.allow_circular_includes_from
- }
- if (defined(invoker.cflags)) {
- cflags = invoker.cflags
- }
- if (defined(invoker.cflags_c)) {
- cflags_c = invoker.cflags_c
- }
- if (defined(invoker.cflags_cc)) {
- cflags_cc = invoker.cflags_cc
- }
- if (defined(invoker.cflags_objc)) {
- cflags_objc = invoker.cflags_objc
- }
- if (defined(invoker.cflags_objcc)) {
- cflags_objcc = invoker.cflags_objcc
- }
- if (defined(invoker.check_includes)) {
- check_includes = invoker.check_includes
- }
- if (defined(invoker.data)) {
- data = invoker.data
- }
- if (defined(invoker.data_deps)) {
- data_deps = invoker.data_deps
- }
- if (defined(invoker.datadeps)) {
- datadeps = invoker.datadeps
- }
- if (defined(invoker.defines)) {
- defines = invoker.defines
- }
- if (defined(invoker.deps)) {
- deps = invoker.deps
- }
- if (defined(invoker.forward_dependent_configs_from)) {
- forward_dependent_configs_from = invoker.forward_dependent_configs_from
- }
- if (defined(invoker.include_dirs)) {
- include_dirs = invoker.include_dirs
- }
- if (defined(invoker.ldflags)) {
- ldflags = invoker.ldflags
- }
- if (defined(invoker.lib_dirs)) {
- lib_dirs = invoker.lib_dirs
- }
- if (defined(invoker.libs)) {
- libs = invoker.libs
- }
- if (defined(invoker.output_extension)) {
- output_extension = invoker.output_extension
- }
- if (defined(invoker.output_name)) {
- output_name = invoker.output_name
- }
- if (defined(invoker.public)) {
- public = invoker.public
- }
- if (defined(invoker.public_configs)) {
- public_configs = invoker.public_configs
- }
- if (defined(invoker.public_deps)) {
- public_deps = invoker.public_deps
- }
- if (defined(invoker.testonly)) {
- testonly = invoker.testonly
- }
- if (defined(invoker.visibility)) {
- visibility = invoker.visibility
- }
}
}
diff --git a/chromium/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc b/chromium/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
index a1f67079aad..4533f3959f0 100644
--- a/chromium/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
+++ b/chromium/media/cdm/ppapi/external_clear_key/clear_key_cdm.cc
@@ -183,12 +183,14 @@ cdm::KeyStatus ConvertKeyStatus(media::CdmKeyInformation::KeyStatus status) {
return cdm::kInternalError;
case media::CdmKeyInformation::KeyStatus::EXPIRED:
return cdm::kExpired;
- case media::CdmKeyInformation::KeyStatus::OUTPUT_NOT_ALLOWED:
- return cdm::kOutputNotAllowed;
+ case media::CdmKeyInformation::KeyStatus::OUTPUT_RESTRICTED:
+ return cdm::kOutputRestricted;
case media::CdmKeyInformation::KeyStatus::OUTPUT_DOWNSCALED:
return cdm::kOutputDownscaled;
case media::CdmKeyInformation::KeyStatus::KEY_STATUS_PENDING:
return cdm::kStatusPending;
+ case media::CdmKeyInformation::KeyStatus::RELEASED:
+ return cdm::kReleased;
}
NOTREACHED();
return cdm::kInternalError;
diff --git a/chromium/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.cc b/chromium/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.cc
index c35b1789c29..29b29a53d63 100644
--- a/chromium/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.cc
+++ b/chromium/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_audio_decoder.cc
@@ -9,9 +9,9 @@
#include "base/logging.h"
#include "media/base/audio_bus.h"
#include "media/base/audio_timestamp_helper.h"
-#include "media/base/buffers.h"
#include "media/base/data_buffer.h"
#include "media/base/limits.h"
+#include "media/base/timestamp_constants.h"
#include "media/ffmpeg/ffmpeg_common.h"
// Include FFmpeg header files.
diff --git a/chromium/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.cc b/chromium/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.cc
index 0bf0a305017..3f1497c708f 100644
--- a/chromium/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.cc
+++ b/chromium/media/cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.cc
@@ -5,7 +5,6 @@
#include "media/cdm/ppapi/external_clear_key/ffmpeg_cdm_video_decoder.h"
#include "base/logging.h"
-#include "media/base/buffers.h"
#include "media/base/limits.h"
#include "media/ffmpeg/ffmpeg_common.h"
@@ -21,26 +20,28 @@ namespace media {
static const int kDecodeThreads = 1;
-static cdm::VideoFormat PixelFormatToCdmVideoFormat(PixelFormat pixel_format) {
+static cdm::VideoFormat AVPixelFormatToCdmVideoFormat(
+ AVPixelFormat pixel_format) {
switch (pixel_format) {
- case PIX_FMT_YUV420P:
+ case AV_PIX_FMT_YUV420P:
return cdm::kYv12;
default:
- DVLOG(1) << "Unsupported PixelFormat: " << pixel_format;
+ DVLOG(1) << "Unsupported AVPixelFormat: " << pixel_format;
}
return cdm::kUnknownVideoFormat;
}
-static PixelFormat CdmVideoFormatToPixelFormat(cdm::VideoFormat video_format) {
+static AVPixelFormat CdmVideoFormatToAVPixelFormat(
+ cdm::VideoFormat video_format) {
switch (video_format) {
case cdm::kYv12:
case cdm::kI420:
- return PIX_FMT_YUV420P;
+ return AV_PIX_FMT_YUV420P;
case cdm::kUnknownVideoFormat:
default:
DVLOG(1) << "Unsupported cdm::VideoFormat: " << video_format;
}
- return PIX_FMT_NONE;
+ return AV_PIX_FMT_NONE;
}
static AVCodecID CdmVideoCodecToCodecID(
@@ -95,7 +96,7 @@ static void CdmVideoDecoderConfigToAVCodecContext(
codec_context->profile = CdmVideoCodecProfileToProfileID(config.profile);
codec_context->coded_width = config.coded_size.width;
codec_context->coded_height = config.coded_size.height;
- codec_context->pix_fmt = CdmVideoFormatToPixelFormat(config.format);
+ codec_context->pix_fmt = CdmVideoFormatToAVPixelFormat(config.format);
if (config.extra_data) {
codec_context->extradata_size = config.extra_data_size;
@@ -267,7 +268,7 @@ cdm::Status FFmpegCdmVideoDecoder::DecodeFrame(
bool FFmpegCdmVideoDecoder::CopyAvFrameTo(cdm::VideoFrame* cdm_video_frame) {
DCHECK(cdm_video_frame);
- DCHECK_EQ(av_frame_->format, PIX_FMT_YUV420P);
+ DCHECK_EQ(av_frame_->format, AV_PIX_FMT_YUV420P);
DCHECK_EQ(av_frame_->width % 2, 0);
DCHECK_EQ(av_frame_->height % 2, 0);
@@ -306,8 +307,8 @@ bool FFmpegCdmVideoDecoder::CopyAvFrameTo(cdm::VideoFrame* cdm_video_frame) {
uv_stride,
cdm_video_frame->FrameBuffer()->Data() + y_size + uv_size);
- PixelFormat format = static_cast<PixelFormat>(av_frame_->format);
- cdm_video_frame->SetFormat(PixelFormatToCdmVideoFormat(format));
+ AVPixelFormat format = static_cast<AVPixelFormat>(av_frame_->format);
+ cdm_video_frame->SetFormat(AVPixelFormatToCdmVideoFormat(format));
cdm::Size video_frame_size;
video_frame_size.width = av_frame_->width;
diff --git a/chromium/media/cdm/ppapi/external_clear_key/libvpx_cdm_video_decoder.cc b/chromium/media/cdm/ppapi/external_clear_key/libvpx_cdm_video_decoder.cc
index b5a804389fd..7aed711f88f 100644
--- a/chromium/media/cdm/ppapi/external_clear_key/libvpx_cdm_video_decoder.cc
+++ b/chromium/media/cdm/ppapi/external_clear_key/libvpx_cdm_video_decoder.cc
@@ -6,7 +6,6 @@
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
-#include "media/base/buffers.h"
#include "media/base/limits.h"
// Include libvpx header files.
@@ -15,8 +14,8 @@
#define VPX_CODEC_DISABLE_COMPAT 1
extern "C" {
// Note: vpx_decoder.h must be first or compile will fail.
-#include "third_party/libvpx/source/libvpx/vpx/vp8dx.h"
-#include "third_party/libvpx/source/libvpx/vpx/vpx_decoder.h" // NOLINT
+#include "third_party/libvpx_new/source/libvpx/vpx/vp8dx.h"
+#include "third_party/libvpx_new/source/libvpx/vpx/vpx_decoder.h" // NOLINT
}
// Enable USE_COPYPLANE_WITH_LIBVPX to use |CopyPlane()| instead of memcpy to
diff --git a/chromium/media/cdm/stub/stub_cdm.cc b/chromium/media/cdm/stub/stub_cdm.cc
index 0bfa25ebaa0..9fb15924d9c 100644
--- a/chromium/media/cdm/stub/stub_cdm.cc
+++ b/chromium/media/cdm/stub/stub_cdm.cc
@@ -5,6 +5,7 @@
#include "media/cdm/stub/stub_cdm.h"
#include "base/logging.h"
+#include "base/numerics/safe_conversions.h"
#include "base/strings/string_number_conversions.h"
// Version number for this stub. The third number represents the
@@ -61,9 +62,11 @@ void StubCdm::CreateSessionAndGenerateRequest(
// Provide a dummy message (with a trivial session ID) to enable some testing
// and be consistent with existing testing without a license server.
std::string session_id(base::UintToString(next_session_id_++));
- host_->OnResolveNewSessionPromise(promise_id, session_id.data(),
- session_id.length());
- host_->OnSessionMessage(session_id.data(), session_id.length(),
+ host_->OnResolveNewSessionPromise(
+ promise_id, session_id.data(),
+ base::checked_cast<uint32_t>(session_id.length()));
+ host_->OnSessionMessage(session_id.data(),
+ base::checked_cast<uint32_t>(session_id.length()),
cdm::kLicenseRequest, nullptr, 0, nullptr, 0);
}
@@ -156,7 +159,8 @@ void StubCdm::OnQueryOutputProtectionStatus(
void StubCdm::FailRequest(uint32 promise_id) {
std::string message("Operation not supported by stub CDM.");
host_->OnRejectPromise(promise_id, cdm::kInvalidAccessError, 0,
- message.data(), message.length());
+ message.data(),
+ base::checked_cast<uint32_t>(message.length()));
}
} // namespace media