// Copyright 2018 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. #include "media/base/subsample_entry.h" #include "base/logging.h" #include "base/numerics/safe_math.h" namespace media { bool VerifySubsamplesMatchSize(const std::vector& subsamples, size_t input_size) { base::CheckedNumeric total_size = 0; for (const auto& subsample : subsamples) { // Add each entry separately to avoid the compiler doing the wrong thing. total_size += subsample.clear_bytes; total_size += subsample.cypher_bytes; } if (!total_size.IsValid() || total_size.ValueOrDie() != input_size) { DVLOG(1) << "Subsample sizes do not equal input size"; return false; } return true; } } // namespace media