Chromium Code Reviews| 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 #ifndef CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ |
| 6 #define CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ | 6 #define CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 27 #include "third_party/WebKit/public/platform/WebAudioSourceProvider.h" | 27 #include "third_party/WebKit/public/platform/WebAudioSourceProvider.h" |
| 28 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" | 28 #include "third_party/WebKit/public/platform/WebGraphicsContext3D.h" |
| 29 #include "third_party/WebKit/public/platform/WebMediaPlayer.h" | 29 #include "third_party/WebKit/public/platform/WebMediaPlayer.h" |
| 30 #include "third_party/WebKit/public/platform/WebMediaPlayerClient.h" | 30 #include "third_party/WebKit/public/platform/WebMediaPlayerClient.h" |
| 31 #include "url/gurl.h" | 31 #include "url/gurl.h" |
| 32 | 32 |
| 33 class RenderAudioSourceProvider; | 33 class RenderAudioSourceProvider; |
| 34 | 34 |
| 35 namespace blink { | 35 namespace blink { |
| 36 class WebContentDecryptionModule; | 36 class WebContentDecryptionModule; |
| 37 class WebContentDecryptionModuleResult; | |
| 37 class WebLocalFrame; | 38 class WebLocalFrame; |
| 38 } | 39 } |
| 39 | 40 |
| 40 namespace base { | 41 namespace base { |
| 41 class MessageLoopProxy; | 42 class MessageLoopProxy; |
| 42 } | 43 } |
| 43 | 44 |
| 44 namespace media { | 45 namespace media { |
| 45 class ChunkDemuxer; | 46 class ChunkDemuxer; |
| 46 class GpuVideoAcceleratorFactories; | 47 class GpuVideoAcceleratorFactories; |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 147 const unsigned char* init_data, | 148 const unsigned char* init_data, |
| 148 unsigned init_data_length, | 149 unsigned init_data_length, |
| 149 const blink::WebString& session_id); | 150 const blink::WebString& session_id); |
| 150 | 151 |
| 151 virtual MediaKeyException cancelKeyRequest( | 152 virtual MediaKeyException cancelKeyRequest( |
| 152 const blink::WebString& key_system, | 153 const blink::WebString& key_system, |
| 153 const blink::WebString& session_id); | 154 const blink::WebString& session_id); |
| 154 | 155 |
| 155 virtual void setContentDecryptionModule( | 156 virtual void setContentDecryptionModule( |
| 156 blink::WebContentDecryptionModule* cdm); | 157 blink::WebContentDecryptionModule* cdm); |
| 158 virtual void setContentDecryptionModule( | |
| 159 blink::WebContentDecryptionModule* cdm, | |
| 160 blink::WebContentDecryptionModuleResult result); | |
| 157 | 161 |
| 158 // Notifies blink that the entire media element region has been invalidated. | 162 // Notifies blink that the entire media element region has been invalidated. |
| 159 // This path is slower than notifying the compositor directly as it performs | 163 // This path is slower than notifying the compositor directly as it performs |
| 160 // more work and can trigger layouts. It should only be used in two cases: | 164 // more work and can trigger layouts. It should only be used in two cases: |
| 161 // 1) Major state changes (e.g., first frame available, run time error | 165 // 1) Major state changes (e.g., first frame available, run time error |
| 162 // occured) | 166 // occured) |
| 163 // 2) Compositing not available | 167 // 2) Compositing not available |
| 164 void InvalidateOnMainThread(); | 168 void InvalidateOnMainThread(); |
| 165 | 169 |
| 166 void OnPipelineSeeked(bool time_changed, media::PipelineStatus status); | 170 void OnPipelineSeeked(bool time_changed, media::PipelineStatus status); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 230 // Called by VideoRendererImpl on its internal thread with the new frame to be | 234 // Called by VideoRendererImpl on its internal thread with the new frame to be |
| 231 // painted. | 235 // painted. |
| 232 void FrameReady(const scoped_refptr<media::VideoFrame>& frame); | 236 void FrameReady(const scoped_refptr<media::VideoFrame>& frame); |
| 233 | 237 |
| 234 // Requests that this object notifies when a decryptor is ready through the | 238 // Requests that this object notifies when a decryptor is ready through the |
| 235 // |decryptor_ready_cb| provided. | 239 // |decryptor_ready_cb| provided. |
| 236 // If |decryptor_ready_cb| is null, the existing callback will be fired with | 240 // If |decryptor_ready_cb| is null, the existing callback will be fired with |
| 237 // NULL immediately and reset. | 241 // NULL immediately and reset. |
| 238 void SetDecryptorReadyCB(const media::DecryptorReadyCB& decryptor_ready_cb); | 242 void SetDecryptorReadyCB(const media::DecryptorReadyCB& decryptor_ready_cb); |
| 239 | 243 |
| 244 // Called when setContentDecryptionModule() completes. | |
| 245 void ContentDecryptionModuleSet( | |
|
ddorwin
2014/07/30 22:35:45
I wonder if there is a better name that "Set"? It'
jrummell
2014/08/01 22:09:42
Done.
| |
| 246 blink::WebContentDecryptionModuleResult result); | |
| 247 | |
| 240 // Returns the current video frame from |compositor_|. Blocks until the | 248 // Returns the current video frame from |compositor_|. Blocks until the |
| 241 // compositor can return the frame. | 249 // compositor can return the frame. |
| 242 scoped_refptr<media::VideoFrame> GetCurrentFrameFromCompositor(); | 250 scoped_refptr<media::VideoFrame> GetCurrentFrameFromCompositor(); |
| 243 | 251 |
| 244 blink::WebLocalFrame* frame_; | 252 blink::WebLocalFrame* frame_; |
| 245 | 253 |
| 246 // TODO(hclam): get rid of these members and read from the pipeline directly. | 254 // TODO(hclam): get rid of these members and read from the pipeline directly. |
| 247 blink::WebMediaPlayer::NetworkState network_state_; | 255 blink::WebMediaPlayer::NetworkState network_state_; |
| 248 blink::WebMediaPlayer::ReadyState ready_state_; | 256 blink::WebMediaPlayer::ReadyState ready_state_; |
| 249 | 257 |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 346 WebContentDecryptionModuleImpl* web_cdm_; | 354 WebContentDecryptionModuleImpl* web_cdm_; |
| 347 | 355 |
| 348 media::DecryptorReadyCB decryptor_ready_cb_; | 356 media::DecryptorReadyCB decryptor_ready_cb_; |
| 349 | 357 |
| 350 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); | 358 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |
| 351 }; | 359 }; |
| 352 | 360 |
| 353 } // namespace content | 361 } // namespace content |
| 354 | 362 |
| 355 #endif // CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ | 363 #endif // CONTENT_RENDERER_MEDIA_WEBMEDIAPLAYER_IMPL_H_ |
| OLD | NEW |