Delete almost all includes of platform_file.h
Only remaining user is WavReader. Demote its constructor accepting a PlatformFile to private, to refactor implementation in a later cl. Bug: webrtc:6463 Change-Id: I7b950be6f02073cb135dd0fab1190b9dc0de1fba Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/144025 Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Commit-Queue: Niels Moller <nisse@webrtc.org> Cr-Commit-Position: refs/heads/master@{#28410}
This commit is contained in:
parent
767efaba10
commit
825aad13dc
@ -70,9 +70,6 @@ class WavReader final : public WavFile {
|
|||||||
// Opens an existing WAV file for reading.
|
// Opens an existing WAV file for reading.
|
||||||
explicit WavReader(const std::string& filename);
|
explicit WavReader(const std::string& filename);
|
||||||
|
|
||||||
// Opens an existing WAV file for reading.
|
|
||||||
explicit WavReader(rtc::PlatformFile file);
|
|
||||||
|
|
||||||
// Close the WAV file.
|
// Close the WAV file.
|
||||||
~WavReader() override;
|
~WavReader() override;
|
||||||
|
|
||||||
@ -89,6 +86,9 @@ class WavReader final : public WavFile {
|
|||||||
size_t num_samples() const override;
|
size_t num_samples() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// Opens an existing WAV file for reading.
|
||||||
|
explicit WavReader(rtc::PlatformFile file);
|
||||||
|
|
||||||
void Close();
|
void Close();
|
||||||
int sample_rate_;
|
int sample_rate_;
|
||||||
size_t num_channels_;
|
size_t num_channels_;
|
||||||
|
|||||||
@ -19,15 +19,12 @@
|
|||||||
#include "test/gtest.h"
|
#include "test/gtest.h"
|
||||||
#include "test/testsupport/file_utils.h"
|
#include "test/testsupport/file_utils.h"
|
||||||
|
|
||||||
// WavWriterTest.CPPFileDescriptor and WavWriterTest.CPP flaky on Mac.
|
// WavWriterTest.CPP flaky on Mac. See webrtc:9247.
|
||||||
// See webrtc:9247.
|
|
||||||
#if defined(WEBRTC_MAC)
|
#if defined(WEBRTC_MAC)
|
||||||
#define MAYBE_CPP DISABLED_CPP
|
#define MAYBE_CPP DISABLED_CPP
|
||||||
#define MAYBE_CPPFileDescriptor DISABLED_CPPFileDescriptor
|
|
||||||
#define MAYBE_CPPReset DISABLED_CPPReset
|
#define MAYBE_CPPReset DISABLED_CPPReset
|
||||||
#else
|
#else
|
||||||
#define MAYBE_CPP CPP
|
#define MAYBE_CPP CPP
|
||||||
#define MAYBE_CPPFileDescriptor CPPFileDescriptor
|
|
||||||
#define MAYBE_CPPReset CPPReset
|
#define MAYBE_CPPReset CPPReset
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -145,75 +142,6 @@ TEST(WavWriterTest, LargeFile) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write a tiny WAV file with the the std::FILE interface and verify the
|
|
||||||
// result.
|
|
||||||
TEST(WavWriterTest, MAYBE_CPPFileDescriptor) {
|
|
||||||
const std::string outfile = test::OutputPath() + "wavtest1.wav";
|
|
||||||
static constexpr size_t kNumSamples = 3;
|
|
||||||
{
|
|
||||||
WavWriter w(FileWrapper::OpenWriteOnly(outfile), 14099, 1);
|
|
||||||
EXPECT_EQ(14099, w.sample_rate());
|
|
||||||
EXPECT_EQ(1u, w.num_channels());
|
|
||||||
EXPECT_EQ(0u, w.num_samples());
|
|
||||||
w.WriteSamples(kSamples, kNumSamples);
|
|
||||||
EXPECT_EQ(kNumSamples, w.num_samples());
|
|
||||||
}
|
|
||||||
// Write some extra "metadata" to the file that should be silently ignored
|
|
||||||
// by WavReader. We don't use WavWriter directly for this because it doesn't
|
|
||||||
// support metadata.
|
|
||||||
static constexpr uint8_t kMetadata[] = {101, 202};
|
|
||||||
{
|
|
||||||
FILE* f = fopen(outfile.c_str(), "ab");
|
|
||||||
ASSERT_TRUE(f);
|
|
||||||
ASSERT_EQ(1u, fwrite(kMetadata, sizeof(kMetadata), 1, f));
|
|
||||||
fclose(f);
|
|
||||||
}
|
|
||||||
static const uint8_t kExpectedContents[] = {
|
|
||||||
// clang-format off
|
|
||||||
// clang formatting doesn't respect inline comments.
|
|
||||||
'R', 'I', 'F', 'F',
|
|
||||||
42, 0, 0, 0, // size of whole file - 8: 6 + 44 - 8
|
|
||||||
'W', 'A', 'V', 'E',
|
|
||||||
'f', 'm', 't', ' ',
|
|
||||||
16, 0, 0, 0, // size of fmt block - 8: 24 - 8
|
|
||||||
1, 0, // format: PCM (1)
|
|
||||||
1, 0, // channels: 1
|
|
||||||
0x13, 0x37, 0, 0, // sample rate: 14099
|
|
||||||
0x26, 0x6e, 0, 0, // byte rate: 2 * 14099
|
|
||||||
2, 0, // block align: NumChannels * BytesPerSample
|
|
||||||
16, 0, // bits per sample: 2 * 8
|
|
||||||
'd', 'a', 't', 'a',
|
|
||||||
6, 0, 0, 0, // size of payload: 6
|
|
||||||
0, 0, // first sample: 0.0
|
|
||||||
10, 0, // second sample: 10.0
|
|
||||||
0xff, 0x7f, // third sample: 4e4 (saturated)
|
|
||||||
kMetadata[0], kMetadata[1],
|
|
||||||
// clang-format on
|
|
||||||
};
|
|
||||||
static constexpr size_t kContentSize =
|
|
||||||
kWavHeaderSize + kNumSamples * sizeof(int16_t) + sizeof(kMetadata);
|
|
||||||
static_assert(sizeof(kExpectedContents) == kContentSize, "");
|
|
||||||
EXPECT_EQ(kContentSize, test::GetFileSize(outfile));
|
|
||||||
FILE* f = fopen(outfile.c_str(), "rb");
|
|
||||||
ASSERT_TRUE(f);
|
|
||||||
uint8_t contents[kContentSize];
|
|
||||||
ASSERT_EQ(1u, fread(contents, kContentSize, 1, f));
|
|
||||||
EXPECT_EQ(0, fclose(f));
|
|
||||||
EXPECT_EQ(0, memcmp(kExpectedContents, contents, kContentSize));
|
|
||||||
|
|
||||||
{
|
|
||||||
WavReader r(rtc::OpenPlatformFileReadOnly(outfile));
|
|
||||||
EXPECT_EQ(14099, r.sample_rate());
|
|
||||||
EXPECT_EQ(1u, r.num_channels());
|
|
||||||
EXPECT_EQ(kNumSamples, r.num_samples());
|
|
||||||
static constexpr float kTruncatedSamples[] = {0.0, 10.0, 32767.0};
|
|
||||||
float samples[kNumSamples];
|
|
||||||
EXPECT_EQ(kNumSamples, r.ReadSamples(kNumSamples, samples));
|
|
||||||
EXPECT_EQ(0, memcmp(kTruncatedSamples, samples, sizeof(samples)));
|
|
||||||
EXPECT_EQ(0u, r.ReadSamples(kNumSamples, samples));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Write a tiny WAV file with the C++ interface then read-reset-read.
|
// Write a tiny WAV file with the C++ interface then read-reset-read.
|
||||||
TEST(WavReaderTest, MAYBE_CPPReset) {
|
TEST(WavReaderTest, MAYBE_CPPReset) {
|
||||||
const std::string outfile = test::OutputPath() + "wavtest4.wav";
|
const std::string outfile = test::OutputPath() + "wavtest4.wav";
|
||||||
|
|||||||
@ -20,7 +20,6 @@
|
|||||||
#include "modules/audio_processing/aec_dump/write_to_file_task.h"
|
#include "modules/audio_processing/aec_dump/write_to_file_task.h"
|
||||||
#include "modules/audio_processing/include/aec_dump.h"
|
#include "modules/audio_processing/include/aec_dump.h"
|
||||||
#include "rtc_base/ignore_wundef.h"
|
#include "rtc_base/ignore_wundef.h"
|
||||||
#include "rtc_base/platform_file.h"
|
|
||||||
#include "rtc_base/race_checker.h"
|
#include "rtc_base/race_checker.h"
|
||||||
#include "rtc_base/system/file_wrapper.h"
|
#include "rtc_base/system/file_wrapper.h"
|
||||||
#include "rtc_base/task_queue.h"
|
#include "rtc_base/task_queue.h"
|
||||||
|
|||||||
@ -19,7 +19,6 @@
|
|||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
#include "rtc_base/event.h"
|
#include "rtc_base/event.h"
|
||||||
#include "rtc_base/ignore_wundef.h"
|
#include "rtc_base/ignore_wundef.h"
|
||||||
#include "rtc_base/platform_file.h"
|
|
||||||
#include "rtc_base/system/file_wrapper.h"
|
#include "rtc_base/system/file_wrapper.h"
|
||||||
|
|
||||||
// Files generated at build-time by the protobuf compiler.
|
// Files generated at build-time by the protobuf compiler.
|
||||||
|
|||||||
@ -32,7 +32,6 @@
|
|||||||
#include "modules/audio_processing/include/gain_control.h"
|
#include "modules/audio_processing/include/gain_control.h"
|
||||||
#include "rtc_base/arraysize.h"
|
#include "rtc_base/arraysize.h"
|
||||||
#include "rtc_base/deprecation.h"
|
#include "rtc_base/deprecation.h"
|
||||||
#include "rtc_base/platform_file.h"
|
|
||||||
#include "rtc_base/ref_count.h"
|
#include "rtc_base/ref_count.h"
|
||||||
#include "rtc_base/system/rtc_export.h"
|
#include "rtc_base/system/rtc_export.h"
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,6 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
#include "modules/rtp_rtcp/source/byte_io.h"
|
#include "modules/rtp_rtcp/source/byte_io.h"
|
||||||
#include "rtc_base/platform_file.h"
|
|
||||||
#include "test/gtest.h"
|
#include "test/gtest.h"
|
||||||
#include "test/testsupport/file_utils.h"
|
#include "test/testsupport/file_utils.h"
|
||||||
|
|
||||||
@ -33,7 +32,7 @@ class IvfFileWriterTest : public ::testing::Test {
|
|||||||
file_name_ =
|
file_name_ =
|
||||||
webrtc::test::TempFilename(webrtc::test::OutputPath(), "test_file");
|
webrtc::test::TempFilename(webrtc::test::OutputPath(), "test_file");
|
||||||
}
|
}
|
||||||
void TearDown() override { rtc::RemoveFile(file_name_); }
|
void TearDown() override { webrtc::test::RemoveFile(file_name_); }
|
||||||
|
|
||||||
bool WriteDummyTestFrames(VideoCodecType codec_type,
|
bool WriteDummyTestFrames(VideoCodecType codec_type,
|
||||||
int width,
|
int width,
|
||||||
|
|||||||
@ -79,7 +79,6 @@
|
|||||||
#include "rtc_base/checks.h"
|
#include "rtc_base/checks.h"
|
||||||
#include "rtc_base/copy_on_write_buffer.h"
|
#include "rtc_base/copy_on_write_buffer.h"
|
||||||
#include "rtc_base/gunit.h"
|
#include "rtc_base/gunit.h"
|
||||||
#include "rtc_base/platform_file.h"
|
|
||||||
#include "rtc_base/ref_counted_object.h"
|
#include "rtc_base/ref_counted_object.h"
|
||||||
#include "rtc_base/rtc_certificate_generator.h"
|
#include "rtc_base/rtc_certificate_generator.h"
|
||||||
#include "rtc_base/socket_address.h"
|
#include "rtc_base/socket_address.h"
|
||||||
|
|||||||
@ -41,7 +41,6 @@
|
|||||||
#include "rtc_base/experiments/keyframe_interval_settings.h"
|
#include "rtc_base/experiments/keyframe_interval_settings.h"
|
||||||
#include "rtc_base/location.h"
|
#include "rtc_base/location.h"
|
||||||
#include "rtc_base/logging.h"
|
#include "rtc_base/logging.h"
|
||||||
#include "rtc_base/platform_file.h"
|
|
||||||
#include "rtc_base/strings/string_builder.h"
|
#include "rtc_base/strings/string_builder.h"
|
||||||
#include "rtc_base/system/thread_registry.h"
|
#include "rtc_base/system/thread_registry.h"
|
||||||
#include "rtc_base/time_utils.h"
|
#include "rtc_base/time_utils.h"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user