OLD | NEW |
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 "base/bind.h" | 5 #include "base/bind.h" |
6 #include "base/callback_helpers.h" | 6 #include "base/callback_helpers.h" |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "media/base/gmock_callback_support.h" | 8 #include "media/base/gmock_callback_support.h" |
9 #include "media/base/mock_filters.h" | 9 #include "media/base/mock_filters.h" |
10 #include "media/base/test_helpers.h" | 10 #include "media/base/test_helpers.h" |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 decrypted->SetDuration(encrypted->GetDuration()); | 81 decrypted->SetDuration(encrypted->GetDuration()); |
82 decrypt_cb.Run(Decryptor::kSuccess, decrypted); | 82 decrypt_cb.Run(Decryptor::kSuccess, decrypted); |
83 } | 83 } |
84 | 84 |
85 // Callback for VideoFrameStream::ReadFrame(). | 85 // Callback for VideoFrameStream::ReadFrame(). |
86 void FrameReady(VideoDecoder::Status status, | 86 void FrameReady(VideoDecoder::Status status, |
87 const scoped_refptr<VideoFrame>& frame) { | 87 const scoped_refptr<VideoFrame>& frame) { |
88 DCHECK(pending_decoder_read_); | 88 DCHECK(pending_decoder_read_); |
89 ASSERT_EQ(VideoDecoder::kOk, status); | 89 ASSERT_EQ(VideoDecoder::kOk, status); |
90 frame_read_ = frame; | 90 frame_read_ = frame; |
91 if (frame && !frame->IsEndOfStream()) | 91 if (frame.get() && !frame->IsEndOfStream()) |
92 num_decoded_frames_++; | 92 num_decoded_frames_++; |
93 pending_decoder_read_ = false; | 93 pending_decoder_read_ = false; |
94 } | 94 } |
95 | 95 |
96 void ReadUntilPending() { | 96 void ReadUntilPending() { |
97 do { | 97 do { |
98 frame_read_ = NULL; | 98 frame_read_ = NULL; |
99 pending_decoder_read_ = true; | 99 pending_decoder_read_ = true; |
100 video_frame_stream_->ReadFrame(base::Bind( | 100 video_frame_stream_->ReadFrame(base::Bind( |
101 &VideoFrameStreamTest::FrameReady, base::Unretained(this))); | 101 &VideoFrameStreamTest::FrameReady, base::Unretained(this))); |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 | 248 |
249 TEST_P(VideoFrameStreamTest, ReadOneFrame) { | 249 TEST_P(VideoFrameStreamTest, ReadOneFrame) { |
250 Initialize(); | 250 Initialize(); |
251 ReadFrame(); | 251 ReadFrame(); |
252 } | 252 } |
253 | 253 |
254 TEST_P(VideoFrameStreamTest, ReadAllFrames) { | 254 TEST_P(VideoFrameStreamTest, ReadAllFrames) { |
255 Initialize(); | 255 Initialize(); |
256 do { | 256 do { |
257 ReadFrame(); | 257 ReadFrame(); |
258 } while (frame_read_ && !frame_read_->IsEndOfStream()); | 258 } while (frame_read_.get() && !frame_read_->IsEndOfStream()); |
259 | 259 |
260 const int total_num_frames = kNumConfigs * kNumBuffersInOneConfig; | 260 const int total_num_frames = kNumConfigs * kNumBuffersInOneConfig; |
261 DCHECK_EQ(num_decoded_frames_, total_num_frames); | 261 DCHECK_EQ(num_decoded_frames_, total_num_frames); |
262 } | 262 } |
263 | 263 |
264 TEST_P(VideoFrameStreamTest, Read_AfterReset) { | 264 TEST_P(VideoFrameStreamTest, Read_AfterReset) { |
265 Initialize(); | 265 Initialize(); |
266 Reset(); | 266 Reset(); |
267 ReadFrame(); | 267 ReadFrame(); |
268 Reset(); | 268 Reset(); |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
403 } | 403 } |
404 | 404 |
405 TEST_P(VideoFrameStreamTest, Stop_AfterReadFrame_AfterReset) { | 405 TEST_P(VideoFrameStreamTest, Stop_AfterReadFrame_AfterReset) { |
406 Initialize(); | 406 Initialize(); |
407 ReadFrame(); | 407 ReadFrame(); |
408 Reset(); | 408 Reset(); |
409 Stop(); | 409 Stop(); |
410 } | 410 } |
411 | 411 |
412 } // namespace media | 412 } // namespace media |
OLD | NEW |