#include "media/base/audio_discard_helper.h"
#include <stddef.h>
#include <memory>
#include "media/base/audio_buffer.h"
#include "media/base/audio_bus.h"
#include "media/base/decoder_buffer.h"
#include "media/base/test_helpers.h"
#include "media/base/timestamp_constants.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace media {
static const float kDataStep = …;
static const size_t kSampleRate = …;
static DecoderBuffer::TimeInfo CreateTimeInfo(base::TimeDelta timestamp,
base::TimeDelta duration) { … }
static scoped_refptr<AudioBuffer> CreateDecodedBuffer(int frames) { … }
static float ExtractDecodedData(const AudioBuffer& buffer, int index) { … }
TEST(AudioDiscardHelperTest, TimeDeltaToFrames) { … }
TEST(AudioDiscardHelperTest, BasicProcessBuffers) { … }
TEST(AudioDiscardHelperTest, NegativeTimestampClampsToZero) { … }
TEST(AudioDiscardHelperTest, ProcessBuffersWithInitialDiscard) { … }
TEST(AudioDiscardHelperTest, ProcessBuffersWithLargeInitialDiscard) { … }
TEST(AudioDiscardHelperTest, AllowNonMonotonicTimestamps) { … }
TEST(AudioDiscardHelperTest, DiscardEndPadding) { … }
TEST(AudioDiscardHelperTest, BadDiscardEndPadding) { … }
TEST(AudioDiscardHelperTest, InitialDiscardAndDiscardEndPadding) { … }
TEST(AudioDiscardHelperTest, InitialDiscardAndDiscardPadding) { … }
TEST(AudioDiscardHelperTest, InitialDiscardAndDiscardPaddingAndDecoderDelay) { … }
TEST(AudioDiscardHelperTest, DelayedDiscardInitialDiscardAndDiscardPadding) { … }
TEST(AudioDiscardHelperTest, CompleteDiscard) { … }
TEST(AudioDiscardHelperTest, CompleteDiscardWithDelayedDiscard) { … }
TEST(AudioDiscardHelperTest, CompleteDiscardWithInitialDiscardDecoderDelay) { … }
}