diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-10-13 13:24:50 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-10-14 10:57:25 +0000 |
commit | af3d4809763ef308f08ced947a73b624729ac7ea (patch) | |
tree | 4402b911e30383f6c6dace1e8cf3b8e85355db3a /chromium/media/cdm | |
parent | 0e8ff63a407fe323e215bb1a2c423c09a4747c8a (diff) | |
download | qtwebengine-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')
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 |