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 <stddef.h> | 5 #include <stddef.h> |
6 #include <utility> | 6 #include <utility> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 // InitializeDecoderSelector(). | 59 // InitializeDecoderSelector(). |
60 } | 60 } |
61 | 61 |
62 ~VideoDecoderSelectorTest() { | 62 ~VideoDecoderSelectorTest() { |
63 message_loop_.RunUntilIdle(); | 63 message_loop_.RunUntilIdle(); |
64 } | 64 } |
65 | 65 |
66 MOCK_METHOD2(OnDecoderSelected, | 66 MOCK_METHOD2(OnDecoderSelected, |
67 void(VideoDecoder*, DecryptingDemuxerStream*)); | 67 void(VideoDecoder*, DecryptingDemuxerStream*)); |
68 | 68 |
69 void MockOnDecoderSelected( | 69 void MockOnDecoderSelected(std::unique_ptr<VideoDecoder> decoder, |
70 scoped_ptr<VideoDecoder> decoder, | 70 std::unique_ptr<DecryptingDemuxerStream> stream) { |
71 scoped_ptr<DecryptingDemuxerStream> stream) { | |
72 OnDecoderSelected(decoder.get(), stream.get()); | 71 OnDecoderSelected(decoder.get(), stream.get()); |
73 selected_decoder_ = std::move(decoder); | 72 selected_decoder_ = std::move(decoder); |
74 } | 73 } |
75 | 74 |
76 void UseClearStream() { | 75 void UseClearStream() { |
77 demuxer_stream_->set_video_decoder_config(TestVideoConfig::Normal()); | 76 demuxer_stream_->set_video_decoder_config(TestVideoConfig::Normal()); |
78 } | 77 } |
79 | 78 |
80 void UseEncryptedStream() { | 79 void UseEncryptedStream() { |
81 demuxer_stream_->set_video_decoder_config( | 80 demuxer_stream_->set_video_decoder_config( |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 void FrameReady(const scoped_refptr<VideoFrame>& frame) { | 130 void FrameReady(const scoped_refptr<VideoFrame>& frame) { |
132 NOTREACHED(); | 131 NOTREACHED(); |
133 } | 132 } |
134 | 133 |
135 void OnWaitingForDecryptionKey() { | 134 void OnWaitingForDecryptionKey() { |
136 NOTREACHED(); | 135 NOTREACHED(); |
137 } | 136 } |
138 | 137 |
139 // Declare |decoder_selector_| after |demuxer_stream_| and |decryptor_| since | 138 // Declare |decoder_selector_| after |demuxer_stream_| and |decryptor_| since |
140 // |demuxer_stream_| and |decryptor_| should outlive |decoder_selector_|. | 139 // |demuxer_stream_| and |decryptor_| should outlive |decoder_selector_|. |
141 scoped_ptr<StrictMock<MockDemuxerStream>> demuxer_stream_; | 140 std::unique_ptr<StrictMock<MockDemuxerStream>> demuxer_stream_; |
142 | 141 |
143 scoped_ptr<StrictMock<MockCdmContext>> cdm_context_; | 142 std::unique_ptr<StrictMock<MockCdmContext>> cdm_context_; |
144 | 143 |
145 // Use NiceMock since we don't care about most of calls on the decryptor, e.g. | 144 // Use NiceMock since we don't care about most of calls on the decryptor, e.g. |
146 // RegisterNewKeyCB(). | 145 // RegisterNewKeyCB(). |
147 scoped_ptr<NiceMock<MockDecryptor>> decryptor_; | 146 std::unique_ptr<NiceMock<MockDecryptor>> decryptor_; |
148 | 147 |
149 scoped_ptr<VideoDecoderSelector> decoder_selector_; | 148 std::unique_ptr<VideoDecoderSelector> decoder_selector_; |
150 | 149 |
151 StrictMock<MockVideoDecoder>* decoder_1_; | 150 StrictMock<MockVideoDecoder>* decoder_1_; |
152 StrictMock<MockVideoDecoder>* decoder_2_; | 151 StrictMock<MockVideoDecoder>* decoder_2_; |
153 ScopedVector<VideoDecoder> all_decoders_; | 152 ScopedVector<VideoDecoder> all_decoders_; |
154 scoped_ptr<VideoDecoder> selected_decoder_; | 153 std::unique_ptr<VideoDecoder> selected_decoder_; |
155 | 154 |
156 base::MessageLoop message_loop_; | 155 base::MessageLoop message_loop_; |
157 | 156 |
158 private: | 157 private: |
159 DISALLOW_COPY_AND_ASSIGN(VideoDecoderSelectorTest); | 158 DISALLOW_COPY_AND_ASSIGN(VideoDecoderSelectorTest); |
160 }; | 159 }; |
161 | 160 |
162 // TODO(xhwang): Add kNoCdm tests for clear stream. | 161 // TODO(xhwang): Add kNoCdm tests for clear stream. |
163 | 162 |
164 // The stream is not encrypted but we have no clear decoder. No decoder can be | 163 // The stream is not encrypted but we have no clear decoder. No decoder can be |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 // initialized and returned. | 373 // initialized and returned. |
375 EXPECT_CALL(*decoder_1_, Initialize(ClearConfig(), _, _, _, _)) | 374 EXPECT_CALL(*decoder_1_, Initialize(ClearConfig(), _, _, _, _)) |
376 .WillOnce(RunCallback<3>(true)); | 375 .WillOnce(RunCallback<3>(true)); |
377 EXPECT_CALL(*this, OnDecoderSelected(NotNull(), NotNull())); | 376 EXPECT_CALL(*this, OnDecoderSelected(NotNull(), NotNull())); |
378 #endif | 377 #endif |
379 | 378 |
380 SelectDecoder(); | 379 SelectDecoder(); |
381 } | 380 } |
382 | 381 |
383 } // namespace media | 382 } // namespace media |
OLD | NEW |