summaryrefslogtreecommitdiff
path: root/chromium/media/base/audio_buffer_unittest.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/base/audio_buffer_unittest.cc')
-rw-r--r--chromium/media/base/audio_buffer_unittest.cc65
1 files changed, 64 insertions, 1 deletions
diff --git a/chromium/media/base/audio_buffer_unittest.cc b/chromium/media/base/audio_buffer_unittest.cc
index e20fff84008..4b6b9b39076 100644
--- a/chromium/media/base/audio_buffer_unittest.cc
+++ b/chromium/media/base/audio_buffer_unittest.cc
@@ -1,4 +1,4 @@
-// Copyright 2013 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -255,6 +255,48 @@ TEST(AudioBufferTest, CreateBitstreamBuffer) {
EXPECT_FALSE(buffer->end_of_stream());
}
+TEST(AudioBufferTest, CopyBitstreamFromIECDts) {
+ const ChannelLayout kChannelLayout = CHANNEL_LAYOUT_STEREO;
+ const int kChannelCount = ChannelLayoutToChannelCount(kChannelLayout);
+ constexpr int kFrameCount = 512;
+ constexpr uint8_t kTestData[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
+ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31};
+ const base::TimeDelta kTimestamp = base::Microseconds(1337);
+ const uint8_t* const data[] = {kTestData};
+
+ scoped_refptr<AudioBuffer> buffer = AudioBuffer::CopyBitstreamFrom(
+ kSampleFormatIECDts, kChannelLayout, kChannelCount, kSampleRate,
+ kFrameCount, data, sizeof(kTestData), kTimestamp);
+
+ EXPECT_EQ(kChannelLayout, buffer->channel_layout());
+ EXPECT_EQ(kFrameCount, buffer->frame_count());
+ EXPECT_EQ(kSampleRate, buffer->sample_rate());
+ EXPECT_EQ(kFrameCount, buffer->frame_count());
+ EXPECT_EQ(kTimestamp, buffer->timestamp());
+ EXPECT_TRUE(buffer->IsBitstreamFormat());
+ EXPECT_FALSE(buffer->end_of_stream());
+}
+
+TEST(AudioBufferTest, CreateBitstreamBufferIECDts) {
+ const ChannelLayout kChannelLayout = CHANNEL_LAYOUT_MONO;
+ const int kChannelCount = ChannelLayoutToChannelCount(kChannelLayout);
+ const int kFrameCount = 512;
+ const int kDataSize = 2048;
+
+ scoped_refptr<AudioBuffer> buffer = AudioBuffer::CreateBitstreamBuffer(
+ kSampleFormatIECDts, kChannelLayout, kChannelCount, kSampleRate,
+ kFrameCount, kDataSize);
+
+ EXPECT_EQ(kChannelLayout, buffer->channel_layout());
+ EXPECT_EQ(kFrameCount, buffer->frame_count());
+ EXPECT_EQ(kSampleRate, buffer->sample_rate());
+ EXPECT_EQ(kFrameCount, buffer->frame_count());
+ EXPECT_EQ(kNoTimestamp, buffer->timestamp());
+ EXPECT_TRUE(buffer->IsBitstreamFormat());
+ EXPECT_FALSE(buffer->end_of_stream());
+}
+
TEST(AudioBufferTest, CreateEOSBuffer) {
scoped_refptr<AudioBuffer> buffer = AudioBuffer::CreateEOSBuffer();
EXPECT_TRUE(buffer->end_of_stream());
@@ -303,6 +345,27 @@ TEST(AudioBufferTest, ReadBitstream) {
VerifyBitstreamAudioBus(bus.get(), data_size, 1, 1);
}
+TEST(AudioBufferTest, ReadBitstreamIECDts) {
+ const ChannelLayout channel_layout = CHANNEL_LAYOUT_MONO;
+ const int channels = ChannelLayoutToChannelCount(channel_layout);
+ const int frames = 512;
+ const size_t data_size = frames * 2 * 2;
+ const base::TimeDelta start_time;
+
+ scoped_refptr<AudioBuffer> buffer = MakeBitstreamAudioBuffer(
+ kSampleFormatIECDts, channel_layout, channels, kSampleRate, 1, 1, frames,
+ data_size, start_time);
+ EXPECT_TRUE(buffer->IsBitstreamFormat());
+
+ std::unique_ptr<AudioBus> bus = AudioBus::Create(channels, frames);
+ buffer->ReadFrames(frames, 0, 0, bus.get());
+
+ EXPECT_TRUE(bus->is_bitstream_format());
+ EXPECT_EQ(frames, bus->GetBitstreamFrames());
+ EXPECT_EQ(data_size, bus->GetBitstreamDataSize());
+ VerifyBitstreamAudioBus(bus.get(), data_size, 1, 1);
+}
+
TEST(AudioBufferTest, ReadU8) {
const ChannelLayout channel_layout = CHANNEL_LAYOUT_4_0;
const int channels = ChannelLayoutToChannelCount(channel_layout);