| 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 <string> | 5 #include <string> |
| 6 #include <vector> | 6 #include <vector> |
| 7 | 7 |
| 8 #include "base/bind.h" | 8 #include "base/bind.h" |
| 9 #include "base/callback_helpers.h" | 9 #include "base/callback_helpers.h" |
| 10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 } | 108 } |
| 109 | 109 |
| 110 // The following functions are used to test stream-type-neutral logic in | 110 // The following functions are used to test stream-type-neutral logic in |
| 111 // DecryptingDemuxerStream. Therefore, we don't specify audio or video in the | 111 // DecryptingDemuxerStream. Therefore, we don't specify audio or video in the |
| 112 // function names. But for testing purpose, they all use an audio input | 112 // function names. But for testing purpose, they all use an audio input |
| 113 // demuxer stream. | 113 // demuxer stream. |
| 114 | 114 |
| 115 void Initialize() { | 115 void Initialize() { |
| 116 EXPECT_CALL(*this, RequestDecryptorNotification(_)) | 116 EXPECT_CALL(*this, RequestDecryptorNotification(_)) |
| 117 .WillOnce(RunCallbackIfNotNull(decryptor_.get())); | 117 .WillOnce(RunCallbackIfNotNull(decryptor_.get())); |
| 118 EXPECT_CALL(*decryptor_, RegisterKeyAddedCB(Decryptor::kAudio, _)) | 118 EXPECT_CALL(*decryptor_, RegisterNewKeyCB(Decryptor::kAudio, _)) |
| 119 .WillOnce(SaveArg<1>(&key_added_cb_)); | 119 .WillOnce(SaveArg<1>(&key_added_cb_)); |
| 120 | 120 |
| 121 AudioDecoderConfig input_config( | 121 AudioDecoderConfig input_config( |
| 122 kCodecVorbis, 16, CHANNEL_LAYOUT_STEREO, 44100, NULL, 0, true); | 122 kCodecVorbis, 16, CHANNEL_LAYOUT_STEREO, 44100, NULL, 0, true); |
| 123 InitializeAudioAndExpectStatus(input_config, PIPELINE_OK); | 123 InitializeAudioAndExpectStatus(input_config, PIPELINE_OK); |
| 124 | 124 |
| 125 const AudioDecoderConfig& output_config = | 125 const AudioDecoderConfig& output_config = |
| 126 demuxer_stream_->audio_decoder_config(); | 126 demuxer_stream_->audio_decoder_config(); |
| 127 EXPECT_EQ(DemuxerStream::AUDIO, demuxer_stream_->type()); | 127 EXPECT_EQ(DemuxerStream::AUDIO, demuxer_stream_->type()); |
| 128 EXPECT_FALSE(output_config.is_encrypted()); | 128 EXPECT_FALSE(output_config.is_encrypted()); |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 215 MOCK_METHOD2(BufferReady, void(DemuxerStream::Status, | 215 MOCK_METHOD2(BufferReady, void(DemuxerStream::Status, |
| 216 const scoped_refptr<DecoderBuffer>&)); | 216 const scoped_refptr<DecoderBuffer>&)); |
| 217 | 217 |
| 218 MessageLoop message_loop_; | 218 MessageLoop message_loop_; |
| 219 scoped_refptr<DecryptingDemuxerStream> demuxer_stream_; | 219 scoped_refptr<DecryptingDemuxerStream> demuxer_stream_; |
| 220 scoped_ptr<StrictMock<MockDecryptor> > decryptor_; | 220 scoped_ptr<StrictMock<MockDecryptor> > decryptor_; |
| 221 scoped_refptr<StrictMock<MockDemuxerStream> > input_audio_stream_; | 221 scoped_refptr<StrictMock<MockDemuxerStream> > input_audio_stream_; |
| 222 scoped_refptr<StrictMock<MockDemuxerStream> > input_video_stream_; | 222 scoped_refptr<StrictMock<MockDemuxerStream> > input_video_stream_; |
| 223 | 223 |
| 224 DemuxerStream::ReadCB pending_demuxer_read_cb_; | 224 DemuxerStream::ReadCB pending_demuxer_read_cb_; |
| 225 Decryptor::KeyAddedCB key_added_cb_; | 225 Decryptor::NewKeyCB key_added_cb_; |
| 226 Decryptor::DecryptCB pending_decrypt_cb_; | 226 Decryptor::DecryptCB pending_decrypt_cb_; |
| 227 | 227 |
| 228 // Constant buffers to be returned by the input demuxer streams and the | 228 // Constant buffers to be returned by the input demuxer streams and the |
| 229 // |decryptor_|. | 229 // |decryptor_|. |
| 230 scoped_refptr<DecoderBuffer> encrypted_buffer_; | 230 scoped_refptr<DecoderBuffer> encrypted_buffer_; |
| 231 scoped_refptr<DecoderBuffer> decrypted_buffer_; | 231 scoped_refptr<DecoderBuffer> decrypted_buffer_; |
| 232 | 232 |
| 233 private: | 233 private: |
| 234 DISALLOW_COPY_AND_ASSIGN(DecryptingDemuxerStreamTest); | 234 DISALLOW_COPY_AND_ASSIGN(DecryptingDemuxerStreamTest); |
| 235 }; | 235 }; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 250 TEST_F(DecryptingDemuxerStreamTest, Initialize_InvalidAudioConfig) { | 250 TEST_F(DecryptingDemuxerStreamTest, Initialize_InvalidAudioConfig) { |
| 251 AudioDecoderConfig config(kUnknownAudioCodec, 0, CHANNEL_LAYOUT_STEREO, 0, | 251 AudioDecoderConfig config(kUnknownAudioCodec, 0, CHANNEL_LAYOUT_STEREO, 0, |
| 252 NULL, 0, true); | 252 NULL, 0, true); |
| 253 | 253 |
| 254 InitializeAudioAndExpectStatus(config, DEMUXER_ERROR_NO_SUPPORTED_STREAMS); | 254 InitializeAudioAndExpectStatus(config, DEMUXER_ERROR_NO_SUPPORTED_STREAMS); |
| 255 } | 255 } |
| 256 | 256 |
| 257 TEST_F(DecryptingDemuxerStreamTest, Initialize_NormalVideo) { | 257 TEST_F(DecryptingDemuxerStreamTest, Initialize_NormalVideo) { |
| 258 EXPECT_CALL(*this, RequestDecryptorNotification(_)) | 258 EXPECT_CALL(*this, RequestDecryptorNotification(_)) |
| 259 .WillOnce(RunCallbackIfNotNull(decryptor_.get())); | 259 .WillOnce(RunCallbackIfNotNull(decryptor_.get())); |
| 260 EXPECT_CALL(*decryptor_, RegisterKeyAddedCB(Decryptor::kVideo, _)) | 260 EXPECT_CALL(*decryptor_, RegisterNewKeyCB(Decryptor::kVideo, _)) |
| 261 .WillOnce(SaveArg<1>(&key_added_cb_)); | 261 .WillOnce(SaveArg<1>(&key_added_cb_)); |
| 262 | 262 |
| 263 VideoDecoderConfig config(kCodecVP8, VIDEO_CODEC_PROFILE_UNKNOWN, | 263 VideoDecoderConfig config(kCodecVP8, VIDEO_CODEC_PROFILE_UNKNOWN, |
| 264 kVideoFormat, | 264 kVideoFormat, |
| 265 kCodedSize, kVisibleRect, kNaturalSize, | 265 kCodedSize, kVisibleRect, kNaturalSize, |
| 266 NULL, 0, true); | 266 NULL, 0, true); |
| 267 InitializeVideoAndExpectStatus(config, PIPELINE_OK); | 267 InitializeVideoAndExpectStatus(config, PIPELINE_OK); |
| 268 | 268 |
| 269 const VideoDecoderConfig& output_config = | 269 const VideoDecoderConfig& output_config = |
| 270 demuxer_stream_->video_decoder_config(); | 270 demuxer_stream_->video_decoder_config(); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 447 | 447 |
| 448 EXPECT_CALL(*input_audio_stream_, Read(_)) | 448 EXPECT_CALL(*input_audio_stream_, Read(_)) |
| 449 .WillOnce(RunCallback<0>(DemuxerStream::kConfigChanged, | 449 .WillOnce(RunCallback<0>(DemuxerStream::kConfigChanged, |
| 450 scoped_refptr<DecoderBuffer>())); | 450 scoped_refptr<DecoderBuffer>())); |
| 451 | 451 |
| 452 // TODO(xhwang): Update this when kConfigChanged is supported. | 452 // TODO(xhwang): Update this when kConfigChanged is supported. |
| 453 ReadAndExpectBufferReadyWith(DemuxerStream::kAborted, NULL); | 453 ReadAndExpectBufferReadyWith(DemuxerStream::kAborted, NULL); |
| 454 } | 454 } |
| 455 | 455 |
| 456 } // namespace media | 456 } // namespace media |
| OLD | NEW |