Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1120)

Unified Diff: media/formats/mp2t/es_parser_mpeg1audio_unittest.cc

Issue 506943003: Support MPEG1 audio in the MPEG2-TS stream parser. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address CR comments from patch set #4 and Rebase. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/formats/mp2t/es_parser_mpeg1audio_unittest.cc
diff --git a/media/formats/mp2t/es_parser_adts_unittest.cc b/media/formats/mp2t/es_parser_mpeg1audio_unittest.cc
similarity index 51%
copy from media/formats/mp2t/es_parser_adts_unittest.cc
copy to media/formats/mp2t/es_parser_mpeg1audio_unittest.cc
index c9dd47c54b486c014dbd4281472ad24fe0c4a03f..692721ce76fa3d8f8c5775005c2c1cb2871e1c32 100644
--- a/media/formats/mp2t/es_parser_adts_unittest.cc
+++ b/media/formats/mp2t/es_parser_mpeg1audio_unittest.cc
@@ -9,7 +9,7 @@
#include "base/time/time.h"
#include "media/base/buffers.h"
#include "media/base/stream_parser_buffer.h"
-#include "media/formats/mp2t/es_parser_adts.h"
+#include "media/formats/mp2t/es_parser_mpeg1audio.h"
#include "media/formats/mp2t/es_parser_test_base.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -18,11 +18,11 @@ class AudioDecoderConfig;
namespace mp2t {
-class EsParserAdtsTest : public EsParserTestBase,
- public testing::Test {
+class EsParserMpeg1AudioTest : public EsParserTestBase,
+ public testing::Test {
public:
- EsParserAdtsTest();
- virtual ~EsParserAdtsTest() {}
+ EsParserMpeg1AudioTest();
+ virtual ~EsParserMpeg1AudioTest() {}
protected:
bool Process(const std::vector<Packet>& pes_packets, bool force_timing);
@@ -30,24 +30,25 @@ class EsParserAdtsTest : public EsParserTestBase,
std::vector<Packet> GenerateFixedSizePesPacket(size_t pes_size);
private:
- DISALLOW_COPY_AND_ASSIGN(EsParserAdtsTest);
+ DISALLOW_COPY_AND_ASSIGN(EsParserMpeg1AudioTest);
};
-EsParserAdtsTest::EsParserAdtsTest() {
+EsParserMpeg1AudioTest::EsParserMpeg1AudioTest() {
}
-bool EsParserAdtsTest::Process(
+bool EsParserMpeg1AudioTest::Process(
const std::vector<Packet>& pes_packets,
bool force_timing) {
- EsParserAdts es_parser(
- base::Bind(&EsParserAdtsTest::NewAudioConfig, base::Unretained(this)),
- base::Bind(&EsParserAdtsTest::EmitBuffer, base::Unretained(this)),
- false);
+ EsParserMpeg1Audio es_parser(
+ base::Bind(&EsParserMpeg1AudioTest::NewAudioConfig,
+ base::Unretained(this)),
+ base::Bind(&EsParserMpeg1AudioTest::EmitBuffer,
+ base::Unretained(this)));
return ProcessPesPackets(&es_parser, pes_packets, force_timing);
}
std::vector<EsParserTestBase::Packet>
-EsParserAdtsTest::GenerateFixedSizePesPacket(size_t pes_size) {
+EsParserMpeg1AudioTest::GenerateFixedSizePesPacket(size_t pes_size) {
DCHECK_GT(stream_.size(), 0u);
wolenetz 2014/09/13 00:06:38 nit: candidate for relocation into EsParserTestBas
damienv1 2014/09/13 01:27:47 Done.
std::vector<Packet> pes_packets;
@@ -63,24 +64,26 @@ EsParserAdtsTest::GenerateFixedSizePesPacket(size_t pes_size) {
return pes_packets;
}
-TEST_F(EsParserAdtsTest, NoInitialPts) {
- LoadStream("bear.adts");
- std::vector<Packet> pes_packets = GenerateFixedSizePesPacket(512);
- EXPECT_FALSE(Process(pes_packets, false));
- EXPECT_EQ(0u, buffer_count_);
-}
-
-TEST_F(EsParserAdtsTest, SinglePts) {
- LoadStream("bear.adts");
+TEST_F(EsParserMpeg1AudioTest, SinglePts) {
+ LoadStream("sfx.mp3");
std::vector<Packet> pes_packets = GenerateFixedSizePesPacket(512);
pes_packets.front().pts = base::TimeDelta::FromSeconds(10);
+ // Note: there is no parsing of metadata as part of Mpeg2 TS,
+ // so the tag starting at 0x80d with 0x54 0x41 0x47 (ascii for "TAG")
+ // is not a valid Mpeg1 audio frame header. This makes the previous frame
+ // invalid since there is no start code following the previous frame.
+ // So instead of the 13 Mpeg1 audio frames, only 12 are considered valid.
+ // Offset of frames in the file:
+ // {0x20, 0x1c1, 0x277, 0x2f9, 0x3fd, 0x47f, 0x501, 0x583,
+ // 0x605, 0x687, 0x73d, 0x7a5, 0x80d}
+ // TODO(damienv): find a file that would be more relevant for Mpeg1 audio
+ // as part of Mpeg2 TS.
EXPECT_TRUE(Process(pes_packets, false));
EXPECT_EQ(1u, config_count_);
- EXPECT_EQ(45u, buffer_count_);
+ EXPECT_EQ(12u, buffer_count_);
}
} // namespace mp2t
} // namespace media
-

Powered by Google App Engine
This is Rietveld 408576698