// Copyright (c) 2012 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/test_data_util.h" #include "base/file_util.h" #include "base/logging.h" #include "base/path_service.h" #include "media/base/decoder_buffer.h" namespace media { FilePath GetTestDataFilePath(const std::string& name) { FilePath file_path; CHECK(PathService::Get(base::DIR_SOURCE_ROOT, &file_path)); file_path = file_path.Append(FILE_PATH_LITERAL("media")) .Append(FILE_PATH_LITERAL("test")) .Append(FILE_PATH_LITERAL("data")) .AppendASCII(name); return file_path; } scoped_refptr ReadTestDataFile(const std::string& name) { FilePath file_path; CHECK(PathService::Get(base::DIR_SOURCE_ROOT, &file_path)); file_path = file_path.Append(FILE_PATH_LITERAL("media")) .Append(FILE_PATH_LITERAL("test")) .Append(FILE_PATH_LITERAL("data")) .AppendASCII(name); int64 tmp = 0; CHECK(file_util::GetFileSize(file_path, &tmp)) << "Failed to get file size for '" << name << "'"; int file_size = static_cast(tmp); scoped_refptr buffer(new DecoderBuffer(file_size)); CHECK_EQ(file_size, file_util::ReadFile( file_path, reinterpret_cast(buffer->GetWritableData()), file_size)) << "Failed to read '" << name << "'"; return buffer; } } // namespace media