OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 | 6 |
7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/strings/stringprintf.h" | 10 #include "base/strings/stringprintf.h" |
(...skipping 29 matching lines...) Expand all Loading... |
40 | 40 |
41 // Mock of MediaPlayerManager for testing purpose. | 41 // Mock of MediaPlayerManager for testing purpose. |
42 class MockMediaPlayerManager : public MediaPlayerManager { | 42 class MockMediaPlayerManager : public MediaPlayerManager { |
43 public: | 43 public: |
44 explicit MockMediaPlayerManager(base::MessageLoop* message_loop) | 44 explicit MockMediaPlayerManager(base::MessageLoop* message_loop) |
45 : message_loop_(message_loop), | 45 : message_loop_(message_loop), |
46 playback_completed_(false), | 46 playback_completed_(false), |
47 num_resources_requested_(0), | 47 num_resources_requested_(0), |
48 num_metadata_changes_(0), | 48 num_metadata_changes_(0), |
49 timestamp_updated_(false) {} | 49 timestamp_updated_(false) {} |
50 virtual ~MockMediaPlayerManager() {} | 50 ~MockMediaPlayerManager() override {} |
51 | 51 |
52 // MediaPlayerManager implementation. | 52 // MediaPlayerManager implementation. |
53 virtual MediaResourceGetter* GetMediaResourceGetter() override { | 53 MediaResourceGetter* GetMediaResourceGetter() override { return NULL; } |
54 return NULL; | 54 MediaUrlInterceptor* GetMediaUrlInterceptor() override { return NULL; } |
55 } | 55 void OnTimeUpdate(int player_id, |
56 virtual MediaUrlInterceptor* GetMediaUrlInterceptor() override { | 56 base::TimeDelta current_time, |
57 return NULL; | 57 base::TimeTicks current_time_ticks) override { |
58 } | |
59 virtual void OnTimeUpdate(int player_id, | |
60 base::TimeDelta current_time, | |
61 base::TimeTicks current_time_ticks) override { | |
62 timestamp_updated_ = true; | 58 timestamp_updated_ = true; |
63 } | 59 } |
64 virtual void OnMediaMetadataChanged( | 60 void OnMediaMetadataChanged(int player_id, |
65 int player_id, base::TimeDelta duration, int width, int height, | 61 base::TimeDelta duration, |
66 bool success) override { | 62 int width, |
| 63 int height, |
| 64 bool success) override { |
67 num_metadata_changes_++; | 65 num_metadata_changes_++; |
68 } | 66 } |
69 virtual void OnPlaybackComplete(int player_id) override { | 67 void OnPlaybackComplete(int player_id) override { |
70 playback_completed_ = true; | 68 playback_completed_ = true; |
71 if (message_loop_->is_running()) | 69 if (message_loop_->is_running()) |
72 message_loop_->Quit(); | 70 message_loop_->Quit(); |
73 } | 71 } |
74 virtual void OnMediaInterrupted(int player_id) override {} | 72 void OnMediaInterrupted(int player_id) override {} |
75 virtual void OnBufferingUpdate(int player_id, int percentage) override {} | 73 void OnBufferingUpdate(int player_id, int percentage) override {} |
76 virtual void OnSeekComplete(int player_id, | 74 void OnSeekComplete(int player_id, |
77 const base::TimeDelta& current_time) override {} | 75 const base::TimeDelta& current_time) override {} |
78 virtual void OnError(int player_id, int error) override {} | 76 void OnError(int player_id, int error) override {} |
79 virtual void OnVideoSizeChanged(int player_id, int width, | 77 void OnVideoSizeChanged(int player_id, int width, int height) override {} |
80 int height) override {} | 78 MediaPlayerAndroid* GetFullscreenPlayer() override { return NULL; } |
81 virtual MediaPlayerAndroid* GetFullscreenPlayer() override { return NULL; } | 79 MediaPlayerAndroid* GetPlayer(int player_id) override { return NULL; } |
82 virtual MediaPlayerAndroid* GetPlayer(int player_id) override { return NULL; } | 80 void RequestFullScreen(int player_id) override {} |
83 virtual void RequestFullScreen(int player_id) override {} | |
84 #if defined(VIDEO_HOLE) | 81 #if defined(VIDEO_HOLE) |
85 virtual bool ShouldUseVideoOverlayForEmbeddedEncryptedVideo() override { | 82 bool ShouldUseVideoOverlayForEmbeddedEncryptedVideo() override { |
86 return false; | 83 return false; |
87 } | 84 } |
88 #endif // defined(VIDEO_HOLE) | 85 #endif // defined(VIDEO_HOLE) |
89 | 86 |
90 bool playback_completed() const { | 87 bool playback_completed() const { |
91 return playback_completed_; | 88 return playback_completed_; |
92 } | 89 } |
93 | 90 |
94 int num_resources_requested() const { | 91 int num_resources_requested() const { |
95 return num_resources_requested_; | 92 return num_resources_requested_; |
(...skipping 28 matching lines...) Expand all Loading... |
124 DISALLOW_COPY_AND_ASSIGN(MockMediaPlayerManager); | 121 DISALLOW_COPY_AND_ASSIGN(MockMediaPlayerManager); |
125 }; | 122 }; |
126 | 123 |
127 class MockDemuxerAndroid : public DemuxerAndroid { | 124 class MockDemuxerAndroid : public DemuxerAndroid { |
128 public: | 125 public: |
129 explicit MockDemuxerAndroid(base::MessageLoop* message_loop) | 126 explicit MockDemuxerAndroid(base::MessageLoop* message_loop) |
130 : message_loop_(message_loop), | 127 : message_loop_(message_loop), |
131 num_data_requests_(0), | 128 num_data_requests_(0), |
132 num_seek_requests_(0), | 129 num_seek_requests_(0), |
133 num_browser_seek_requests_(0) {} | 130 num_browser_seek_requests_(0) {} |
134 virtual ~MockDemuxerAndroid() {} | 131 ~MockDemuxerAndroid() override {} |
135 | 132 |
136 virtual void Initialize(DemuxerAndroidClient* client) override {} | 133 void Initialize(DemuxerAndroidClient* client) override {} |
137 virtual void RequestDemuxerData(DemuxerStream::Type type) override { | 134 void RequestDemuxerData(DemuxerStream::Type type) override { |
138 num_data_requests_++; | 135 num_data_requests_++; |
139 if (message_loop_->is_running()) | 136 if (message_loop_->is_running()) |
140 message_loop_->Quit(); | 137 message_loop_->Quit(); |
141 } | 138 } |
142 virtual void RequestDemuxerSeek(const base::TimeDelta& time_to_seek, | 139 void RequestDemuxerSeek(const base::TimeDelta& time_to_seek, |
143 bool is_browser_seek) override { | 140 bool is_browser_seek) override { |
144 num_seek_requests_++; | 141 num_seek_requests_++; |
145 if (is_browser_seek) | 142 if (is_browser_seek) |
146 num_browser_seek_requests_++; | 143 num_browser_seek_requests_++; |
147 } | 144 } |
148 | 145 |
149 int num_data_requests() const { return num_data_requests_; } | 146 int num_data_requests() const { return num_data_requests_; } |
150 int num_seek_requests() const { return num_seek_requests_; } | 147 int num_seek_requests() const { return num_seek_requests_; } |
151 int num_browser_seek_requests() const { return num_browser_seek_requests_; } | 148 int num_browser_seek_requests() const { return num_browser_seek_requests_; } |
152 | 149 |
153 private: | 150 private: |
(...skipping 16 matching lines...) Expand all Loading... |
170 MediaSourcePlayerTest() | 167 MediaSourcePlayerTest() |
171 : manager_(&message_loop_), | 168 : manager_(&message_loop_), |
172 demuxer_(new MockDemuxerAndroid(&message_loop_)), | 169 demuxer_(new MockDemuxerAndroid(&message_loop_)), |
173 player_(0, &manager_, | 170 player_(0, &manager_, |
174 base::Bind(&MockMediaPlayerManager::OnMediaResourcesRequested, | 171 base::Bind(&MockMediaPlayerManager::OnMediaResourcesRequested, |
175 base::Unretained(&manager_)), | 172 base::Unretained(&manager_)), |
176 scoped_ptr<DemuxerAndroid>(demuxer_), | 173 scoped_ptr<DemuxerAndroid>(demuxer_), |
177 GURL()), | 174 GURL()), |
178 decoder_callback_hook_executed_(false), | 175 decoder_callback_hook_executed_(false), |
179 surface_texture_a_is_next_(true) {} | 176 surface_texture_a_is_next_(true) {} |
180 virtual ~MediaSourcePlayerTest() {} | 177 ~MediaSourcePlayerTest() override {} |
181 | 178 |
182 protected: | 179 protected: |
183 // Get the decoder job from the MediaSourcePlayer. The return value must not | 180 // Get the decoder job from the MediaSourcePlayer. The return value must not |
184 // be NULL. | 181 // be NULL. |
185 MediaDecoderJob* GetMediaDecoderJob(bool is_audio) { | 182 MediaDecoderJob* GetMediaDecoderJob(bool is_audio) { |
186 if (is_audio) { | 183 if (is_audio) { |
187 return reinterpret_cast<MediaDecoderJob*>( | 184 return reinterpret_cast<MediaDecoderJob*>( |
188 player_.audio_decoder_job_.get()); | 185 player_.audio_decoder_job_.get()); |
189 } | 186 } |
190 return reinterpret_cast<MediaDecoderJob*>( | 187 return reinterpret_cast<MediaDecoderJob*>( |
(...skipping 2165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2356 // Wait for the metadata change. | 2353 // Wait for the metadata change. |
2357 while(manager_.num_metadata_changes() == 1) { | 2354 while(manager_.num_metadata_changes() == 1) { |
2358 player_.OnDemuxerDataAvailable(data); | 2355 player_.OnDemuxerDataAvailable(data); |
2359 WaitForVideoDecodeDone(); | 2356 WaitForVideoDecodeDone(); |
2360 } | 2357 } |
2361 EXPECT_EQ(2, manager_.num_metadata_changes()); | 2358 EXPECT_EQ(2, manager_.num_metadata_changes()); |
2362 WaitForVideoDecodeDone(); | 2359 WaitForVideoDecodeDone(); |
2363 } | 2360 } |
2364 | 2361 |
2365 } // namespace media | 2362 } // namespace media |
OLD | NEW |