1 // Copyright 2023 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "media/filters/hls_test_helpers.h"
7 #include "base/files/file_util.h"
8 #include "media/base/test_data_util.h"
9 #include "media/filters/hls_data_source_provider.h"
14 MockCodecDetector::MockCodecDetector() = default;
15 MockCodecDetector::~MockCodecDetector() = default;
17 MockHlsDataSourceProvider::MockHlsDataSourceProvider() = default;
18 MockHlsDataSourceProvider::~MockHlsDataSourceProvider() = default;
21 std::unique_ptr<HlsDataSourceStream>
22 StringHlsDataSourceStreamFactory::CreateStream(std::string content) {
23 auto stream = std::make_unique<HlsDataSourceStream>(
24 HlsDataSourceStream::StreamId::FromUnsafeValue(42), base::DoNothing(),
26 auto* buffer = stream->LockStreamForWriting(content.length());
27 memcpy(buffer, content.c_str(), content.length());
28 stream->UnlockStreamPostWrite(content.length(), true);
33 std::unique_ptr<HlsDataSourceStream>
34 FileHlsDataSourceStreamFactory::CreateStream(std::string filename) {
35 base::FilePath file_path = GetTestDataFilePath(filename);
36 int64_t file_size = 0;
37 CHECK(base::GetFileSize(file_path, &file_size))
38 << "Failed to get file size for '" << filename << "'";
39 auto stream = std::make_unique<HlsDataSourceStream>(
40 HlsDataSourceStream::StreamId::FromUnsafeValue(42), base::DoNothing(),
42 auto* buffer = stream->LockStreamForWriting(file_size);
43 CHECK_EQ(file_size, base::ReadFile(file_path, reinterpret_cast<char*>(buffer),
45 stream->UnlockStreamPostWrite(file_size, true);
49 MockManifestDemuxerEngineHost::MockManifestDemuxerEngineHost() = default;
50 MockManifestDemuxerEngineHost::~MockManifestDemuxerEngineHost() = default;
52 MockHlsRenditionHost::MockHlsRenditionHost() {}
53 MockHlsRenditionHost::~MockHlsRenditionHost() {}
55 MockHlsRendition::MockHlsRendition() = default;
56 MockHlsRendition::~MockHlsRendition() = default;