Chromium Code Reviews| Index: media/formats/mp2t/es_parser_adts_unittest.cc |
| diff --git a/media/formats/mp2t/es_parser_adts_unittest.cc b/media/formats/mp2t/es_parser_adts_unittest.cc |
| index 59fa85047c1cf298a54a4a7f1db92614968b4dbe..1303e59fc9e4c671aaa220d446f2b9bc975861dc 100644 |
| --- a/media/formats/mp2t/es_parser_adts_unittest.cc |
| +++ b/media/formats/mp2t/es_parser_adts_unittest.cc |
| @@ -17,6 +17,9 @@ namespace media { |
| class AudioDecoderConfig; |
| namespace mp2t { |
| +namespace { |
| +const char kAac44100PacketTimestamp[] = "(0) (23) (46) (69)"; |
| +} |
| class EsParserAdtsTest : public EsParserTestBase, |
| public testing::Test { |
| @@ -24,7 +27,7 @@ class EsParserAdtsTest : public EsParserTestBase, |
| EsParserAdtsTest(); |
| protected: |
| - bool Process(const std::vector<Packet>& pes_packets, bool force_timing); |
| + bool Process(const std::vector<Packet>& pes_packets, bool sbr_in_mimetype); |
| private: |
| DISALLOW_COPY_AND_ASSIGN(EsParserAdtsTest); |
| @@ -33,14 +36,13 @@ class EsParserAdtsTest : public EsParserTestBase, |
| EsParserAdtsTest::EsParserAdtsTest() { |
| } |
| -bool EsParserAdtsTest::Process( |
| - const std::vector<Packet>& pes_packets, |
| - bool force_timing) { |
| +bool EsParserAdtsTest::Process(const std::vector<Packet>& pes_packets, |
| + bool sbr_in_mimetype) { |
| EsParserAdts es_parser( |
| base::Bind(&EsParserAdtsTest::NewAudioConfig, base::Unretained(this)), |
| base::Bind(&EsParserAdtsTest::EmitBuffer, base::Unretained(this)), |
| - false); |
| - return ProcessPesPackets(&es_parser, pes_packets, force_timing); |
| + sbr_in_mimetype); |
| + return ProcessPesPackets(&es_parser, pes_packets, false /* force_timing */); |
|
chcunningham
2016/06/14 00:13:07
Missed one ;)
yucliu1
2016/06/14 00:23:28
Which one is missing?
yucliu1
2016/06/14 22:01:05
Ping~ I'm not sure what I'm missing here.
chcunningham
2016/06/14 23:27:41
sorry, I just mean that your comment says force_ti
yucliu1
2016/06/14 23:42:25
Ah, this one should be force_timing. It's used in
|
| } |
| TEST_F(EsParserAdtsTest, NoInitialPts) { |
| @@ -49,7 +51,7 @@ TEST_F(EsParserAdtsTest, NoInitialPts) { |
| // Process should succeed even without timing info, we should just skip the |
| // audio frames without timing info, but still should be able to parse and |
| // play the stream after that. |
| - EXPECT_TRUE(Process(pes_packets, false)); |
| + EXPECT_TRUE(Process(pes_packets, false /* sbr_in_mimetype */)); |
| EXPECT_EQ(1u, config_count_); |
| EXPECT_EQ(0u, buffer_count_); |
| } |
| @@ -60,7 +62,7 @@ TEST_F(EsParserAdtsTest, SinglePts) { |
| std::vector<Packet> pes_packets = GenerateFixedSizePesPacket(512); |
| pes_packets.front().pts = base::TimeDelta::FromSeconds(10); |
| - EXPECT_TRUE(Process(pes_packets, false)); |
| + EXPECT_TRUE(Process(pes_packets, false /* sbr_in_mimetype */)); |
| EXPECT_EQ(1u, config_count_); |
| EXPECT_EQ(45u, buffer_count_); |
| } |
| @@ -69,10 +71,20 @@ TEST_F(EsParserAdtsTest, AacLcAdts) { |
| LoadStream("sfx.adts"); |
| std::vector<Packet> pes_packets = GenerateFixedSizePesPacket(512); |
| pes_packets.front().pts = base::TimeDelta::FromSeconds(1); |
| - EXPECT_TRUE(Process(pes_packets, false)); |
| + EXPECT_TRUE(Process(pes_packets, false /* sbr_in_mimetype */)); |
| EXPECT_EQ(1u, config_count_); |
| EXPECT_EQ(14u, buffer_count_); |
| } |
| + |
| +TEST_F(EsParserAdtsTest, AacSampleRate) { |
| + std::vector<Packet> pes_packets = |
| + LoadPacketsFromFiles("aac-44100-packet-%d", 4); |
| + |
| + pes_packets.front().pts = base::TimeDelta::FromSeconds(0); |
| + EXPECT_TRUE(Process(pes_packets, true /* sbr_in_mimetype */)); |
| + EXPECT_EQ(4u, buffer_count_); |
| + EXPECT_EQ(kAac44100PacketTimestamp, buffer_timestamps_); |
| +} |
| } // namespace mp2t |
| } // namespace media |