Index: media/mp4/mp4_stream_parser_unittest.cc |
diff --git a/media/mp4/mp4_stream_parser_unittest.cc b/media/mp4/mp4_stream_parser_unittest.cc |
index 96fd9139f6ca15a44df642e16bb0b333bfc47328..9b6a9232d8ccd97162269acbc75270bf5a3be4b9 100644 |
--- a/media/mp4/mp4_stream_parser_unittest.cc |
+++ b/media/mp4/mp4_stream_parser_unittest.cc |
@@ -30,6 +30,7 @@ class MP4StreamParserTest : public testing::Test { |
protected: |
scoped_ptr<MP4StreamParser> parser_; |
+ base::TimeDelta segment_start_; |
bool AppendData(const uint8* data, size_t length) { |
parser_->Parse(data, length); |
@@ -72,6 +73,7 @@ class MP4StreamParserTest : public testing::Test { |
DVLOG(3) << " n=" << buf - bufs.begin() |
<< ", size=" << (*buf)->GetDataSize() |
<< ", dur=" << (*buf)->GetDuration().InMilliseconds(); |
+ EXPECT_LE(segment_start_, (*buf)->GetTimestamp()); |
} |
return true; |
} |
@@ -83,6 +85,7 @@ class MP4StreamParserTest : public testing::Test { |
void NewSegmentF(TimeDelta start_dts) { |
DVLOG(1) << "NewSegmentF: " << start_dts.InMilliseconds(); |
+ segment_start_ = start_dts; |
} |
void InitializeParser() { |
@@ -95,19 +98,23 @@ class MP4StreamParserTest : public testing::Test { |
base::Bind(&MP4StreamParserTest::NewSegmentF, base::Unretained(this))); |
} |
- bool ParseMP4File(const std::string& filename) { |
+ bool ParseMP4File(const std::string& filename, int append_size) { |
InitializeParser(); |
scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile(filename); |
EXPECT_TRUE(AppendDataInPieces(buffer->GetData(), |
buffer->GetDataSize(), |
- 512)); |
+ append_size)); |
return true; |
} |
}; |
TEST_F(MP4StreamParserTest, TestParseBearDASH) { |
- ParseMP4File("bear.1280x720_dash.mp4"); |
+ ParseMP4File("bear.1280x720_dash.mp4", 512); |
+} |
+ |
+TEST_F(MP4StreamParserTest, TestMultiFragmentAppend) { |
+ ParseMP4File("bear.1280x720_dash.mp4", 768432); |
} |
} // namespace mp4 |