--- chromium-79.0.3945.16/build/linux/unbundle/replace_gn_files.py.system-libaom 2019-11-03 16:37:48.350207226 +0100 +++ chromium-79.0.3945.16/build/linux/unbundle/replace_gn_files.py 2019-11-03 16:37:59.972011084 +0100 @@ -24,6 +24,7 @@ REPLACEMENTS = { 'harfbuzz-ng': 'third_party/harfbuzz-ng/harfbuzz.gni', 'icu': 'third_party/icu/BUILD.gn', 'jsoncpp' : 'third_party/jsoncpp/BUILD.gn', + 'libaom' : 'third_party/libaom/BUILD.gn', 'libdrm': 'third_party/libdrm/BUILD.gn', 'libevent': 'base/third_party/libevent/BUILD.gn', 'libjpeg': 'third_party/libjpeg.gni', --- /dev/null 2019-11-03 10:50:42.874844427 +0100 +++ chromium-79.0.3945.16/build/linux/unbundle/libaom.gn 2019-11-03 16:37:34.421442358 +0100 @@ -0,0 +1,40 @@ +# Copyright 2016 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. + +import("//build/buildflag_header.gni") +import("//build/config/linux/pkg_config.gni") +import("//build/shim_headers.gni") +import("//third_party/libaom/options.gni") + +pkg_config("system_libaom") { + packages = [ "aom" ] +} + +buildflag_header("libaom_buildflags") { + header = "libaom_buildflags.h" + + flags = [ "ENABLE_LIBAOM_DECODER=$enable_libaom_decoder" ] +} + +shim_headers("libaom_shim") { + root_path = "source/libaom" + headers = [ + "aom/aom.h", + "aom/aom_codec.h", + "aom/aom_decoder.h", + "aom/aom_encoder.h", + "aom/aom_frame_buffer.h", + "aom/aom_image.h", + "aom/aom_integer.h", + "aom/aomcx.h", + "aom/aomdx.h", + ] +} + +source_set("libaom") { + deps = [ + ":libaom_shim", + ] + public_configs = [ ":system_libaom" ] +} --- chromium-79.0.3945.16/media/filters/aom_video_decoder.h.bak 2019-10-29 23:02:02.000000000 +0100 +++ chromium-79.0.3945.16/media/filters/aom_video_decoder.h 2019-11-04 19:36:18.854940651 +0100 @@ -35,7 +35,7 @@ class MEDIA_EXPORT AomVideoDecoder : pub const OutputCB& output_cb, const WaitingCB& waiting_cb) override; void Decode(scoped_refptr<DecoderBuffer> buffer, DecodeCB decode_cb) override; - void Reset(const base::Closure& reset_cb) override; + virtual void Reset(base::OnceClosure reset_cb); private: enum class DecoderState { --- chromium-79.0.3945.16/media/filters/aom_video_decoder.cc.bak 2019-10-29 23:02:02.000000000 +0100 +++ chromium-79.0.3945.16/media/filters/aom_video_decoder.cc 2019-11-04 19:39:03.231252923 +0100 @@ -229,11 +229,11 @@ void AomVideoDecoder::Decode(scoped_refp std::move(bound_decode_cb).Run(DecodeStatus::OK); } -void AomVideoDecoder::Reset(const base::Closure& reset_cb) { +void AomVideoDecoder::Reset(base::OnceClosure reset_cb) { DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); state_ = DecoderState::kNormal; timestamps_.clear(); - base::SequencedTaskRunnerHandle::Get()->PostTask(FROM_HERE, reset_cb); + base::SequencedTaskRunnerHandle::Get()->PostTask(FROM_HERE, std::move(reset_cb)); } void AomVideoDecoder::CloseDecoder() {