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

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

Issue 1274123003: Update SplitString calls to new form (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: no media changes Created 5 years, 4 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_unittest.cc ('k') | media/filters/source_buffer_stream_unittest.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 <map> 5 #include <map>
6 #include <string> 6 #include <string>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
92 } 92 }
93 93
94 void SetTimestampOffset(base::TimeDelta new_offset) { 94 void SetTimestampOffset(base::TimeDelta new_offset) {
95 timestamp_offset_ = new_offset; 95 timestamp_offset_ = new_offset;
96 frame_processor_->SetGroupStartTimestampIfInSequenceMode(timestamp_offset_); 96 frame_processor_->SetGroupStartTimestampIfInSequenceMode(timestamp_offset_);
97 } 97 }
98 98
99 BufferQueue StringToBufferQueue(const std::string& buffers_to_append, 99 BufferQueue StringToBufferQueue(const std::string& buffers_to_append,
100 const TrackId track_id, 100 const TrackId track_id,
101 const DemuxerStream::Type type) { 101 const DemuxerStream::Type type) {
102 std::vector<std::string> timestamps; 102 std::vector<std::string> timestamps = base::SplitString(
103 base::SplitString(buffers_to_append, ' ', &timestamps); 103 buffers_to_append, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
104 104
105 BufferQueue buffers; 105 BufferQueue buffers;
106 for (size_t i = 0; i < timestamps.size(); i++) { 106 for (size_t i = 0; i < timestamps.size(); i++) {
107 bool is_keyframe = false; 107 bool is_keyframe = false;
108 if (base::EndsWith(timestamps[i], "K", base::CompareCase::SENSITIVE)) { 108 if (base::EndsWith(timestamps[i], "K", base::CompareCase::SENSITIVE)) {
109 is_keyframe = true; 109 is_keyframe = true;
110 // Remove the "K" off of the token. 110 // Remove the "K" off of the token.
111 timestamps[i] = timestamps[i].substr(0, timestamps[i].length() - 1); 111 timestamps[i] = timestamps[i].substr(0, timestamps[i].length() - 1);
112 } 112 }
113 113
114 // Use custom decode timestamp if included. 114 // Use custom decode timestamp if included.
115 std::vector<std::string> buffer_timestamps; 115 std::vector<std::string> buffer_timestamps = base::SplitString(
116 base::SplitString(timestamps[i], '|', &buffer_timestamps); 116 timestamps[i], "|", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
117 if (buffer_timestamps.size() == 1) 117 if (buffer_timestamps.size() == 1)
118 buffer_timestamps.push_back(buffer_timestamps[0]); 118 buffer_timestamps.push_back(buffer_timestamps[0]);
119 CHECK_EQ(2u, buffer_timestamps.size()); 119 CHECK_EQ(2u, buffer_timestamps.size());
120 120
121 double time_in_ms, decode_time_in_ms; 121 double time_in_ms, decode_time_in_ms;
122 CHECK(base::StringToDouble(buffer_timestamps[0], &time_in_ms)); 122 CHECK(base::StringToDouble(buffer_timestamps[0], &time_in_ms));
123 CHECK(base::StringToDouble(buffer_timestamps[1], &decode_time_in_ms)); 123 CHECK(base::StringToDouble(buffer_timestamps[1], &decode_time_in_ms));
124 124
125 // Create buffer. Encode the original time_in_ms as the buffer's data to 125 // Create buffer. Encode the original time_in_ms as the buffer's data to
126 // enable later verification of possible buffer relocation in presentation 126 // enable later verification of possible buffer relocation in presentation
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 << "2 kAborted reads in a row. Giving up."; 186 << "2 kAborted reads in a row. Giving up.";
187 EXPECT_FALSE(read_callback_called_); 187 EXPECT_FALSE(read_callback_called_);
188 } 188 }
189 189
190 // Format of |expected| is a space-delimited sequence of 190 // Format of |expected| is a space-delimited sequence of
191 // timestamp_in_ms:original_timestamp_in_ms 191 // timestamp_in_ms:original_timestamp_in_ms
192 // original_timestamp_in_ms (and the colon) must be omitted if it is the same 192 // original_timestamp_in_ms (and the colon) must be omitted if it is the same
193 // as timestamp_in_ms. 193 // as timestamp_in_ms.
194 void CheckReadsThenReadStalls(ChunkDemuxerStream* stream, 194 void CheckReadsThenReadStalls(ChunkDemuxerStream* stream,
195 const std::string& expected) { 195 const std::string& expected) {
196 std::vector<std::string> timestamps; 196 std::vector<std::string> timestamps = base::SplitString(
197 base::SplitString(expected, ' ', &timestamps); 197 expected, " ", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
198 std::stringstream ss; 198 std::stringstream ss;
199 for (size_t i = 0; i < timestamps.size(); ++i) { 199 for (size_t i = 0; i < timestamps.size(); ++i) {
200 int loop_count = 0; 200 int loop_count = 0;
201 201
202 do { 202 do {
203 read_callback_called_ = false; 203 read_callback_called_ = false;
204 stream->Read(base::Bind(&FrameProcessorTest::StoreStatusAndBuffer, 204 stream->Read(base::Bind(&FrameProcessorTest::StoreStatusAndBuffer,
205 base::Unretained(this))); 205 base::Unretained(this)));
206 message_loop_.RunUntilIdle(); 206 message_loop_.RunUntilIdle();
207 EXPECT_TRUE(read_callback_called_); 207 EXPECT_TRUE(read_callback_called_);
(...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after
736 CheckExpectedRangesByTimestamp(audio_.get(), "{ [0,5) }"); 736 CheckExpectedRangesByTimestamp(audio_.get(), "{ [0,5) }");
737 CheckExpectedRangesByTimestamp(video_.get(), "{ [0,20) }"); 737 CheckExpectedRangesByTimestamp(video_.get(), "{ [0,20) }");
738 CheckReadsThenReadStalls(audio_.get(), "0:-5"); 738 CheckReadsThenReadStalls(audio_.get(), "0:-5");
739 CheckReadsThenReadStalls(video_.get(), "0 10"); 739 CheckReadsThenReadStalls(video_.get(), "0 10");
740 } 740 }
741 741
742 INSTANTIATE_TEST_CASE_P(SequenceMode, FrameProcessorTest, Values(true)); 742 INSTANTIATE_TEST_CASE_P(SequenceMode, FrameProcessorTest, Values(true));
743 INSTANTIATE_TEST_CASE_P(SegmentsMode, FrameProcessorTest, Values(false)); 743 INSTANTIATE_TEST_CASE_P(SegmentsMode, FrameProcessorTest, Values(false));
744 744
745 } // namespace media 745 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/chunk_demuxer_unittest.cc ('k') | media/filters/source_buffer_stream_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698