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 // Delegate calls from WebCore::MediaPlayerPrivate to Chrome's video player. | 5 // Delegate calls from WebCore::MediaPlayerPrivate to Chrome's video player. |
6 // It contains Pipeline which is the actual media player pipeline, it glues | 6 // It contains Pipeline which is the actual media player pipeline, it glues |
7 // the media player pipeline, data source, audio renderer and renderer. | 7 // the media player pipeline, data source, audio renderer and renderer. |
8 // Pipeline would creates multiple threads and access some public methods | 8 // Pipeline would creates multiple threads and access some public methods |
9 // of this class, so we need to be extra careful about concurrent access of | 9 // of this class, so we need to be extra careful about concurrent access of |
10 // methods and members. | 10 // methods and members. |
(...skipping 14 matching lines...) Expand all Loading... |
25 #include "base/memory/ref_counted.h" | 25 #include "base/memory/ref_counted.h" |
26 #include "base/memory/scoped_ptr.h" | 26 #include "base/memory/scoped_ptr.h" |
27 #include "base/memory/weak_ptr.h" | 27 #include "base/memory/weak_ptr.h" |
28 #include "base/threading/thread.h" | 28 #include "base/threading/thread.h" |
29 #include "googleurl/src/gurl.h" | 29 #include "googleurl/src/gurl.h" |
30 #include "media/base/audio_renderer_sink.h" | 30 #include "media/base/audio_renderer_sink.h" |
31 #include "media/base/decryptor.h" | 31 #include "media/base/decryptor.h" |
32 #include "media/base/pipeline.h" | 32 #include "media/base/pipeline.h" |
33 #include "media/filters/skcanvas_video_renderer.h" | 33 #include "media/filters/skcanvas_video_renderer.h" |
34 #include "skia/ext/platform_canvas.h" | 34 #include "skia/ext/platform_canvas.h" |
| 35 #include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3
D.h" |
35 #include "third_party/WebKit/Source/WebKit/chromium/public/WebAudioSourceProvide
r.h" | 36 #include "third_party/WebKit/Source/WebKit/chromium/public/WebAudioSourceProvide
r.h" |
36 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayer.h" | 37 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayer.h" |
37 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerClient.
h" | 38 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerClient.
h" |
38 #include "webkit/media/crypto/key_systems.h" | 39 #include "webkit/media/crypto/key_systems.h" |
39 #include "webkit/media/crypto/proxy_decryptor.h" | 40 #include "webkit/media/crypto/proxy_decryptor.h" |
40 | 41 |
41 class RenderAudioSourceProvider; | 42 class RenderAudioSourceProvider; |
42 | 43 |
43 namespace WebKit { | 44 namespace WebKit { |
44 class WebFrame; | 45 class WebFrame; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 virtual float mediaTimeForTimeValue(float timeValue) const; | 134 virtual float mediaTimeForTimeValue(float timeValue) const; |
134 | 135 |
135 virtual unsigned decodedFrameCount() const; | 136 virtual unsigned decodedFrameCount() const; |
136 virtual unsigned droppedFrameCount() const; | 137 virtual unsigned droppedFrameCount() const; |
137 virtual unsigned audioDecodedByteCount() const; | 138 virtual unsigned audioDecodedByteCount() const; |
138 virtual unsigned videoDecodedByteCount() const; | 139 virtual unsigned videoDecodedByteCount() const; |
139 | 140 |
140 virtual WebKit::WebVideoFrame* getCurrentFrame(); | 141 virtual WebKit::WebVideoFrame* getCurrentFrame(); |
141 virtual void putCurrentFrame(WebKit::WebVideoFrame* web_video_frame); | 142 virtual void putCurrentFrame(WebKit::WebVideoFrame* web_video_frame); |
142 | 143 |
| 144 // Query if GPU-accelerated video decode is in use to check if it is possible
to use video texture at GPU side |
| 145 // without readback to system memory. |
| 146 virtual bool videoDecodeAcceleratedByGpu(); |
| 147 // Do the GPU-GPU texture copy using CHROMIUM_copy_texture extension |
| 148 virtual bool copyVideoTextureToPlatformTexture(WebKit::WebGraphicsContext3D* w
ebGraphicsContext, unsigned int texture, unsigned int internalFormat); |
| 149 |
143 virtual WebKit::WebAudioSourceProvider* audioSourceProvider(); | 150 virtual WebKit::WebAudioSourceProvider* audioSourceProvider(); |
144 | 151 |
145 virtual AddIdStatus sourceAddId( | 152 virtual AddIdStatus sourceAddId( |
146 const WebKit::WebString& id, | 153 const WebKit::WebString& id, |
147 const WebKit::WebString& type, | 154 const WebKit::WebString& type, |
148 const WebKit::WebVector<WebKit::WebString>& codecs); | 155 const WebKit::WebVector<WebKit::WebString>& codecs); |
149 virtual bool sourceRemoveId(const WebKit::WebString& id); | 156 virtual bool sourceRemoveId(const WebKit::WebString& id); |
150 virtual WebKit::WebTimeRanges sourceBuffered(const WebKit::WebString& id); | 157 virtual WebKit::WebTimeRanges sourceBuffered(const WebKit::WebString& id); |
151 virtual bool sourceAppend(const WebKit::WebString& id, | 158 virtual bool sourceAppend(const WebKit::WebString& id, |
152 const unsigned char* data, | 159 const unsigned char* data, |
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 media::SkCanvasVideoRenderer skcanvas_video_renderer_; | 347 media::SkCanvasVideoRenderer skcanvas_video_renderer_; |
341 scoped_refptr<media::VideoFrame> current_frame_; | 348 scoped_refptr<media::VideoFrame> current_frame_; |
342 bool pending_repaint_; | 349 bool pending_repaint_; |
343 | 350 |
344 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); | 351 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |
345 }; | 352 }; |
346 | 353 |
347 } // namespace webkit_media | 354 } // namespace webkit_media |
348 | 355 |
349 #endif // WEBKIT_MEDIA_WEBMEDIAPLAYER_IMPL_H_ | 356 #endif // WEBKIT_MEDIA_WEBMEDIAPLAYER_IMPL_H_ |
OLD | NEW |