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

Side by Side Diff: media/filters/chunk_demuxer_unittest.cc

Issue 1312763014: Rename WebSourceBuffer::abort -> resetParserState (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 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 unified diff | Download patch
« no previous file with comments | « media/filters/chunk_demuxer.cc ('k') | media/test/pipeline_integration_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <algorithm> 5 #include <algorithm>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/string_split.h" 10 #include "base/strings/string_split.h"
(...skipping 3011 matching lines...) Expand 10 before | Expand all | Expand 10 after
3022 TEST_F(ChunkDemuxerTest, IsParsingMediaSegmentMidMediaSegment) { 3022 TEST_F(ChunkDemuxerTest, IsParsingMediaSegmentMidMediaSegment) {
3023 ASSERT_TRUE(InitDemuxer(HAS_AUDIO | HAS_VIDEO)); 3023 ASSERT_TRUE(InitDemuxer(HAS_AUDIO | HAS_VIDEO));
3024 3024
3025 scoped_ptr<Cluster> cluster = GenerateCluster(0, 2); 3025 scoped_ptr<Cluster> cluster = GenerateCluster(0, 2);
3026 // Append only part of the cluster data. 3026 // Append only part of the cluster data.
3027 AppendData(cluster->data(), cluster->size() - 13); 3027 AppendData(cluster->data(), cluster->size() - 13);
3028 3028
3029 // Confirm we're in the middle of parsing a media segment. 3029 // Confirm we're in the middle of parsing a media segment.
3030 ASSERT_TRUE(demuxer_->IsParsingMediaSegment(kSourceId)); 3030 ASSERT_TRUE(demuxer_->IsParsingMediaSegment(kSourceId));
3031 3031
3032 demuxer_->Abort(kSourceId, 3032 demuxer_->ResetParserState(kSourceId,
3033 append_window_start_for_next_append_, 3033 append_window_start_for_next_append_,
3034 append_window_end_for_next_append_, 3034 append_window_end_for_next_append_,
3035 &timestamp_offset_map_[kSourceId]); 3035 &timestamp_offset_map_[kSourceId]);
3036 3036
3037 // After Abort(), parsing should no longer be in the middle of a media 3037 // After ResetParserState(), parsing should no longer be in the middle of a
3038 // segment. 3038 // media segment.
3039 ASSERT_FALSE(demuxer_->IsParsingMediaSegment(kSourceId)); 3039 ASSERT_FALSE(demuxer_->IsParsingMediaSegment(kSourceId));
3040 } 3040 }
3041 3041
3042 #if defined(USE_PROPRIETARY_CODECS) 3042 #if defined(USE_PROPRIETARY_CODECS)
3043 #if defined(ENABLE_MPEG2TS_STREAM_PARSER) 3043 #if defined(ENABLE_MPEG2TS_STREAM_PARSER)
3044 TEST_F(ChunkDemuxerTest, EmitBuffersDuringAbort) { 3044 TEST_F(ChunkDemuxerTest, EmitBuffersDuringAbort) {
3045 EXPECT_CALL(*this, DemuxerOpened()); 3045 EXPECT_CALL(*this, DemuxerOpened());
3046 demuxer_->Initialize( 3046 demuxer_->Initialize(
3047 &host_, CreateInitDoneCB(kInfiniteDuration(), PIPELINE_OK), true); 3047 &host_, CreateInitDoneCB(kInfiniteDuration(), PIPELINE_OK), true);
3048 EXPECT_EQ(ChunkDemuxer::kOk, AddIdForMp2tSource(kSourceId)); 3048 EXPECT_EQ(ChunkDemuxer::kOk, AddIdForMp2tSource(kSourceId));
(...skipping 12 matching lines...) Expand all
3061 // Audio: last PES: 3061 // Audio: last PES:
3062 // PTS: 353788 (0x000565fc) [= 90 kHz-Timestamp: 0:00:03.9309] 3062 // PTS: 353788 (0x000565fc) [= 90 kHz-Timestamp: 0:00:03.9309]
3063 3063
3064 scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("bear-1280x720.ts"); 3064 scoped_refptr<DecoderBuffer> buffer = ReadTestDataFile("bear-1280x720.ts");
3065 EXPECT_CALL(*this, InitSegmentReceived()); 3065 EXPECT_CALL(*this, InitSegmentReceived());
3066 AppendData(kSourceId, buffer->data(), buffer->data_size()); 3066 AppendData(kSourceId, buffer->data(), buffer->data_size());
3067 3067
3068 // Confirm we're in the middle of parsing a media segment. 3068 // Confirm we're in the middle of parsing a media segment.
3069 ASSERT_TRUE(demuxer_->IsParsingMediaSegment(kSourceId)); 3069 ASSERT_TRUE(demuxer_->IsParsingMediaSegment(kSourceId));
3070 3070
3071 // Abort on the Mpeg2 TS parser triggers the emission of the last video 3071 // ResetParserState on the Mpeg2 TS parser triggers the emission of the last
3072 // buffer which is pending in the stream parser. 3072 // video buffer which is pending in the stream parser.
3073 Ranges<base::TimeDelta> range_before_abort = 3073 Ranges<base::TimeDelta> range_before_abort =
3074 demuxer_->GetBufferedRanges(kSourceId); 3074 demuxer_->GetBufferedRanges(kSourceId);
3075 demuxer_->Abort(kSourceId, 3075 demuxer_->ResetParserState(kSourceId,
3076 append_window_start_for_next_append_, 3076 append_window_start_for_next_append_,
3077 append_window_end_for_next_append_, 3077 append_window_end_for_next_append_,
3078 &timestamp_offset_map_[kSourceId]); 3078 &timestamp_offset_map_[kSourceId]);
3079 Ranges<base::TimeDelta> range_after_abort = 3079 Ranges<base::TimeDelta> range_after_abort =
3080 demuxer_->GetBufferedRanges(kSourceId); 3080 demuxer_->GetBufferedRanges(kSourceId);
3081 3081
3082 ASSERT_EQ(range_before_abort.size(), 1u); 3082 ASSERT_EQ(range_before_abort.size(), 1u);
3083 ASSERT_EQ(range_after_abort.size(), 1u); 3083 ASSERT_EQ(range_after_abort.size(), 1u);
3084 EXPECT_EQ(range_after_abort.start(0), range_before_abort.start(0)); 3084 EXPECT_EQ(range_after_abort.start(0), range_before_abort.start(0));
3085 EXPECT_GT(range_after_abort.end(0), range_before_abort.end(0)); 3085 EXPECT_GT(range_after_abort.end(0), range_before_abort.end(0));
3086 } 3086 }
3087 3087
3088 TEST_F(ChunkDemuxerTest, SeekCompleteDuringAbort) { 3088 TEST_F(ChunkDemuxerTest, SeekCompleteDuringAbort) {
(...skipping 20 matching lines...) Expand all
3109 EXPECT_CALL(*this, InitSegmentReceived()); 3109 EXPECT_CALL(*this, InitSegmentReceived());
3110 AppendData(kSourceId, buffer->data(), buffer->data_size()); 3110 AppendData(kSourceId, buffer->data(), buffer->data_size());
3111 3111
3112 // Confirm we're in the middle of parsing a media segment. 3112 // Confirm we're in the middle of parsing a media segment.
3113 ASSERT_TRUE(demuxer_->IsParsingMediaSegment(kSourceId)); 3113 ASSERT_TRUE(demuxer_->IsParsingMediaSegment(kSourceId));
3114 3114
3115 // Seek to a time corresponding to buffers that will be emitted during the 3115 // Seek to a time corresponding to buffers that will be emitted during the
3116 // abort. 3116 // abort.
3117 Seek(base::TimeDelta::FromMilliseconds(4110)); 3117 Seek(base::TimeDelta::FromMilliseconds(4110));
3118 3118
3119 // Abort on the Mpeg2 TS parser triggers the emission of the last video 3119 // ResetParserState on the Mpeg2 TS parser triggers the emission of the last
3120 // buffer which is pending in the stream parser. 3120 // video buffer which is pending in the stream parser.
3121 demuxer_->Abort(kSourceId, 3121 demuxer_->ResetParserState(kSourceId,
3122 append_window_start_for_next_append_, 3122 append_window_start_for_next_append_,
3123 append_window_end_for_next_append_, 3123 append_window_end_for_next_append_,
3124 &timestamp_offset_map_[kSourceId]); 3124 &timestamp_offset_map_[kSourceId]);
3125 } 3125 }
3126 3126
3127 #endif 3127 #endif
3128 #endif 3128 #endif
3129 3129
3130 TEST_F(ChunkDemuxerTest, WebMIsParsingMediaSegmentDetection) { 3130 TEST_F(ChunkDemuxerTest, WebMIsParsingMediaSegmentDetection) {
3131 const uint8 kBuffer[] = { 3131 const uint8 kBuffer[] = {
3132 0x1F, 0x43, 0xB6, 0x75, 0x83, // CLUSTER (size = 3) 3132 0x1F, 0x43, 0xB6, 0x75, 0x83, // CLUSTER (size = 3)
3133 0xE7, 0x81, 0x01, // Cluster TIMECODE (value = 1) 3133 0xE7, 0x81, 0x01, // Cluster TIMECODE (value = 1)
3134 3134
(...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after
3848 // audio size is 80 bytes, new data is 28 bytes, we need to remove just one 10 3848 // audio size is 80 bytes, new data is 28 bytes, we need to remove just one 10
3849 // byte block to stay under 100 bytes memory limit after append 3849 // byte block to stay under 100 bytes memory limit after append
3850 // 80 - 10 + 28 = 98). 3850 // 80 - 10 + 28 = 98).
3851 // For video stream 150 + 52 = 202. Video limit is 150 bytes. We need to 3851 // For video stream 150 + 52 = 202. Video limit is 150 bytes. We need to
3852 // remove at least 6 blocks to stay under limit. 3852 // remove at least 6 blocks to stay under limit.
3853 CheckExpectedBuffers(audio_stream, "40K 80K 120K 160K 200K 240K 280K"); 3853 CheckExpectedBuffers(audio_stream, "40K 80K 120K 160K 200K 240K 280K");
3854 CheckExpectedBuffers(video_stream, "60K 70 80K 90 100K 110 120K 130 140K"); 3854 CheckExpectedBuffers(video_stream, "60K 70 80K 90 100K 110 120K 130 140K");
3855 } 3855 }
3856 3856
3857 } // namespace media 3857 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/chunk_demuxer.cc ('k') | media/test/pipeline_integration_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698