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:
Niels Möller 2019-06-27 10:52:14 +02:00 committed by Commit Bot
parent 767efaba10
commit 825aad13dc
8 changed files with 5 additions and 83 deletions

View File

@ -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_;

View File

@ -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";

View File

@ -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"

View File

@ -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.

View File

@ -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"

View File

@ -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,

View File

@ -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"

View File

@ -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"