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.
|
||||
explicit WavReader(const std::string& filename);
|
||||
|
||||
// Opens an existing WAV file for reading.
|
||||
explicit WavReader(rtc::PlatformFile file);
|
||||
|
||||
// Close the WAV file.
|
||||
~WavReader() override;
|
||||
|
||||
@ -89,6 +86,9 @@ class WavReader final : public WavFile {
|
||||
size_t num_samples() const override;
|
||||
|
||||
private:
|
||||
// Opens an existing WAV file for reading.
|
||||
explicit WavReader(rtc::PlatformFile file);
|
||||
|
||||
void Close();
|
||||
int sample_rate_;
|
||||
size_t num_channels_;
|
||||
|
||||
@ -19,15 +19,12 @@
|
||||
#include "test/gtest.h"
|
||||
#include "test/testsupport/file_utils.h"
|
||||
|
||||
// WavWriterTest.CPPFileDescriptor and WavWriterTest.CPP flaky on Mac.
|
||||
// See webrtc:9247.
|
||||
// WavWriterTest.CPP flaky on Mac. See webrtc:9247.
|
||||
#if defined(WEBRTC_MAC)
|
||||
#define MAYBE_CPP DISABLED_CPP
|
||||
#define MAYBE_CPPFileDescriptor DISABLED_CPPFileDescriptor
|
||||
#define MAYBE_CPPReset DISABLED_CPPReset
|
||||
#else
|
||||
#define MAYBE_CPP CPP
|
||||
#define MAYBE_CPPFileDescriptor CPPFileDescriptor
|
||||
#define MAYBE_CPPReset CPPReset
|
||||
#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.
|
||||
TEST(WavReaderTest, MAYBE_CPPReset) {
|
||||
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/include/aec_dump.h"
|
||||
#include "rtc_base/ignore_wundef.h"
|
||||
#include "rtc_base/platform_file.h"
|
||||
#include "rtc_base/race_checker.h"
|
||||
#include "rtc_base/system/file_wrapper.h"
|
||||
#include "rtc_base/task_queue.h"
|
||||
|
||||
@ -19,7 +19,6 @@
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/event.h"
|
||||
#include "rtc_base/ignore_wundef.h"
|
||||
#include "rtc_base/platform_file.h"
|
||||
#include "rtc_base/system/file_wrapper.h"
|
||||
|
||||
// Files generated at build-time by the protobuf compiler.
|
||||
|
||||
@ -32,7 +32,6 @@
|
||||
#include "modules/audio_processing/include/gain_control.h"
|
||||
#include "rtc_base/arraysize.h"
|
||||
#include "rtc_base/deprecation.h"
|
||||
#include "rtc_base/platform_file.h"
|
||||
#include "rtc_base/ref_count.h"
|
||||
#include "rtc_base/system/rtc_export.h"
|
||||
|
||||
|
||||
@ -15,7 +15,6 @@
|
||||
#include <string>
|
||||
|
||||
#include "modules/rtp_rtcp/source/byte_io.h"
|
||||
#include "rtc_base/platform_file.h"
|
||||
#include "test/gtest.h"
|
||||
#include "test/testsupport/file_utils.h"
|
||||
|
||||
@ -33,7 +32,7 @@ class IvfFileWriterTest : public ::testing::Test {
|
||||
file_name_ =
|
||||
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,
|
||||
int width,
|
||||
|
||||
@ -79,7 +79,6 @@
|
||||
#include "rtc_base/checks.h"
|
||||
#include "rtc_base/copy_on_write_buffer.h"
|
||||
#include "rtc_base/gunit.h"
|
||||
#include "rtc_base/platform_file.h"
|
||||
#include "rtc_base/ref_counted_object.h"
|
||||
#include "rtc_base/rtc_certificate_generator.h"
|
||||
#include "rtc_base/socket_address.h"
|
||||
|
||||
@ -41,7 +41,6 @@
|
||||
#include "rtc_base/experiments/keyframe_interval_settings.h"
|
||||
#include "rtc_base/location.h"
|
||||
#include "rtc_base/logging.h"
|
||||
#include "rtc_base/platform_file.h"
|
||||
#include "rtc_base/strings/string_builder.h"
|
||||
#include "rtc_base/system/thread_registry.h"
|
||||
#include "rtc_base/time_utils.h"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user