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

Side by Side Diff: chromecast/media/cma/base/buffering_frame_provider_unittest.cc

Issue 2070283002: Use container::back() and container::pop_back(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 5 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
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 "chromecast/media/cma/base/buffering_frame_provider.h" 5 #include "chromecast/media/cma/base/buffering_frame_provider.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <list> 9 #include <list>
10 #include <memory> 10 #include <memory>
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 DCHECK_GE(frame_count, 1u); 66 DCHECK_GE(frame_count, 1u);
67 67
68 // Frame generation on the producer and consumer side. 68 // Frame generation on the producer and consumer side.
69 std::vector<FrameGeneratorForTest::FrameSpec> frame_specs(frame_count); 69 std::vector<FrameGeneratorForTest::FrameSpec> frame_specs(frame_count);
70 for (size_t k = 0; k < frame_specs.size() - 1; k++) { 70 for (size_t k = 0; k < frame_specs.size() - 1; k++) {
71 frame_specs[k].has_config = (k == 0); 71 frame_specs[k].has_config = (k == 0);
72 frame_specs[k].timestamp = base::TimeDelta::FromMilliseconds(40) * k; 72 frame_specs[k].timestamp = base::TimeDelta::FromMilliseconds(40) * k;
73 frame_specs[k].size = 512; 73 frame_specs[k].size = 512;
74 frame_specs[k].has_decrypt_config = ((k % 3) == 0); 74 frame_specs[k].has_decrypt_config = ((k % 3) == 0);
75 } 75 }
76 frame_specs[frame_specs.size() - 1].is_eos = true; 76 frame_specs.back().is_eos = true;
77 77
78 std::unique_ptr<FrameGeneratorForTest> frame_generator_provider( 78 std::unique_ptr<FrameGeneratorForTest> frame_generator_provider(
79 new FrameGeneratorForTest(frame_specs)); 79 new FrameGeneratorForTest(frame_specs));
80 std::unique_ptr<FrameGeneratorForTest> frame_generator_consumer( 80 std::unique_ptr<FrameGeneratorForTest> frame_generator_consumer(
81 new FrameGeneratorForTest(frame_specs)); 81 new FrameGeneratorForTest(frame_specs));
82 82
83 std::unique_ptr<MockFrameProvider> frame_provider(new MockFrameProvider()); 83 std::unique_ptr<MockFrameProvider> frame_provider(new MockFrameProvider());
84 frame_provider->Configure(provider_delayed_pattern, 84 frame_provider->Configure(provider_delayed_pattern,
85 std::move(frame_generator_provider)); 85 std::move(frame_generator_provider));
86 86
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 provider_delayed_pattern + arraysize(provider_delayed_pattern)), 124 provider_delayed_pattern + arraysize(provider_delayed_pattern)),
125 std::vector<bool>( 125 std::vector<bool>(
126 consumer_delayed_pattern, 126 consumer_delayed_pattern,
127 consumer_delayed_pattern + arraysize(consumer_delayed_pattern))); 127 consumer_delayed_pattern + arraysize(consumer_delayed_pattern)));
128 128
129 std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop()); 129 std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
130 message_loop->PostTask( 130 message_loop->PostTask(
131 FROM_HERE, 131 FROM_HERE,
132 base::Bind(&BufferingFrameProviderTest::Start, base::Unretained(this))); 132 base::Bind(&BufferingFrameProviderTest::Start, base::Unretained(this)));
133 message_loop->Run(); 133 message_loop->Run();
134 }; 134 }
135 135
136 TEST_F(BufferingFrameProviderTest, SlowProviderFastConsumer) { 136 TEST_F(BufferingFrameProviderTest, SlowProviderFastConsumer) {
137 bool provider_delayed_pattern[] = { true }; 137 bool provider_delayed_pattern[] = { true };
138 bool consumer_delayed_pattern[] = { false }; 138 bool consumer_delayed_pattern[] = { false };
139 139
140 const size_t frame_count = 100u; 140 const size_t frame_count = 100u;
141 Configure( 141 Configure(
142 frame_count, 142 frame_count,
143 std::vector<bool>( 143 std::vector<bool>(
144 provider_delayed_pattern, 144 provider_delayed_pattern,
145 provider_delayed_pattern + arraysize(provider_delayed_pattern)), 145 provider_delayed_pattern + arraysize(provider_delayed_pattern)),
146 std::vector<bool>( 146 std::vector<bool>(
147 consumer_delayed_pattern, 147 consumer_delayed_pattern,
148 consumer_delayed_pattern + arraysize(consumer_delayed_pattern))); 148 consumer_delayed_pattern + arraysize(consumer_delayed_pattern)));
149 149
150 std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop()); 150 std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
151 message_loop->PostTask( 151 message_loop->PostTask(
152 FROM_HERE, 152 FROM_HERE,
153 base::Bind(&BufferingFrameProviderTest::Start, base::Unretained(this))); 153 base::Bind(&BufferingFrameProviderTest::Start, base::Unretained(this)));
154 message_loop->Run(); 154 message_loop->Run();
155 }; 155 }
156 156
157 TEST_F(BufferingFrameProviderTest, SlowFastProducerConsumer) { 157 TEST_F(BufferingFrameProviderTest, SlowFastProducerConsumer) {
158 // Lengths are prime between each other so we can test a lot of combinations. 158 // Lengths are prime between each other so we can test a lot of combinations.
159 bool provider_delayed_pattern[] = { 159 bool provider_delayed_pattern[] = {
160 true, true, true, true, true, 160 true, true, true, true, true,
161 false, false, false, false 161 false, false, false, false
162 }; 162 };
163 bool consumer_delayed_pattern[] = { 163 bool consumer_delayed_pattern[] = {
164 true, true, true, true, true, true, true, 164 true, true, true, true, true, true, true,
165 false, false, false, false, false, false, false 165 false, false, false, false, false, false, false
166 }; 166 };
167 167
168 const size_t frame_count = 100u; 168 const size_t frame_count = 100u;
169 Configure( 169 Configure(
170 frame_count, 170 frame_count,
171 std::vector<bool>( 171 std::vector<bool>(
172 provider_delayed_pattern, 172 provider_delayed_pattern,
173 provider_delayed_pattern + arraysize(provider_delayed_pattern)), 173 provider_delayed_pattern + arraysize(provider_delayed_pattern)),
174 std::vector<bool>( 174 std::vector<bool>(
175 consumer_delayed_pattern, 175 consumer_delayed_pattern,
176 consumer_delayed_pattern + arraysize(consumer_delayed_pattern))); 176 consumer_delayed_pattern + arraysize(consumer_delayed_pattern)));
177 177
178 std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop()); 178 std::unique_ptr<base::MessageLoop> message_loop(new base::MessageLoop());
179 message_loop->PostTask( 179 message_loop->PostTask(
180 FROM_HERE, 180 FROM_HERE,
181 base::Bind(&BufferingFrameProviderTest::Start, base::Unretained(this))); 181 base::Bind(&BufferingFrameProviderTest::Start, base::Unretained(this)));
182 message_loop->Run(); 182 message_loop->Run();
183 }; 183 }
184 184
185 } // namespace media 185 } // namespace media
186 } // namespace chromecast 186 } // namespace chromecast
OLDNEW
« no previous file with comments | « chrome_elf/blacklist/blacklist_interceptions.cc ('k') | chromecast/media/cma/ipc_streamer/av_streamer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698