Bug 1296531 - Add gtest for AudioTrackEncoder metadata. r?jesup draft
authorAndreas Pehrson <pehrsons@gmail.com>
Fri, 17 Feb 2017 11:41:05 +0100
changeset 670305 781fe7fc1263359c80176b5561fa07e63aa5f0a6
parent 670304 f55ee2cce81d0c5761ce3f4a782a494cbd205fe4
child 670306 5d553f6070f29584e3e1d76db856e136b0589a1e
push id81598
push userbmo:apehrson@mozilla.com
push dateTue, 26 Sep 2017 09:13:19 +0000
reviewersjesup
bugs1296531
milestone58.0a1
Bug 1296531 - Add gtest for AudioTrackEncoder metadata. r?jesup MozReview-Commit-ID: EsiAuvxo6r5
dom/media/gtest/TestAudioTrackEncoder.cpp
--- a/dom/media/gtest/TestAudioTrackEncoder.cpp
+++ b/dom/media/gtest/TestAudioTrackEncoder.cpp
@@ -174,8 +174,24 @@ TEST(OpusAudioTrackEncoder, Resample)
   EXPECT_TRUE(TestOpusResampler(1, 16000) == 16000);
   EXPECT_TRUE(TestOpusResampler(1, 24000) == 24000);
   EXPECT_TRUE(TestOpusResampler(1, 48000) == 48000);
 
   // Otherwise, it should be resampled to 48kHz by resampler.
   EXPECT_FALSE(TestOpusResampler(1, 9600) == 9600);
   EXPECT_FALSE(TestOpusResampler(1, 44100) == 44100);
 }
+
+TEST(OpusAudioTrackEncoder, FetchMetadata)
+{
+  const int32_t channels = 1;
+  const int32_t sampleRate = 44100;
+  TestOpusTrackEncoder encoder;
+  EXPECT_TRUE(encoder.TestOpusCreation(channels, sampleRate));
+
+  RefPtr<TrackMetadataBase> metadata = encoder.GetMetadata();
+  ASSERT_EQ(TrackMetadataBase::METADATA_OPUS, metadata->GetKind());
+
+  RefPtr<OpusMetadata> opusMeta =
+    static_cast<OpusMetadata*>(metadata.get());
+  EXPECT_EQ(channels, opusMeta->mChannels);
+  EXPECT_EQ(sampleRate, opusMeta->mSamplingFrequency);
+}