| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 PipelineImpl which is the actual media player pipeline, it glues | 6 // It contains PipelineImpl 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 // PipelineImpl would creates multiple threads and access some public methods | 8 // PipelineImpl 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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 53 #include "base/message_loop.h" | 53 #include "base/message_loop.h" |
| 54 #include "media/base/filters.h" | 54 #include "media/base/filters.h" |
| 55 #include "media/base/message_loop_factory.h" | 55 #include "media/base/message_loop_factory.h" |
| 56 #include "media/base/pipeline.h" | 56 #include "media/base/pipeline.h" |
| 57 #include "skia/ext/platform_canvas.h" | 57 #include "skia/ext/platform_canvas.h" |
| 58 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayer.h" | 58 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayer.h" |
| 59 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerClient.
h" | 59 #include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerClient.
h" |
| 60 | 60 |
| 61 class GURL; | 61 class GURL; |
| 62 | 62 |
| 63 class AudioRendererImpl; |
| 64 class RendererWebAudioSourceProviderImpl; |
| 65 |
| 63 namespace WebKit { | 66 namespace WebKit { |
| 64 class WebFrame; | 67 class WebFrame; |
| 65 } | 68 } |
| 66 | 69 |
| 67 namespace media { | 70 namespace media { |
| 68 class MediaLog; | 71 class MediaLog; |
| 69 } | 72 } |
| 70 | 73 |
| 71 namespace webkit_glue { | 74 namespace webkit_glue { |
| 72 | 75 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 96 // The video renderer provided by this class is using the graphics context | 99 // The video renderer provided by this class is using the graphics context |
| 97 // provided by WebKit to perform renderering. The simple data source does | 100 // provided by WebKit to perform renderering. The simple data source does |
| 98 // resource loading by loading the whole resource object into memory. Null | 101 // resource loading by loading the whole resource object into memory. Null |
| 99 // audio renderer is a fake audio device that plays silence. Provider of the | 102 // audio renderer is a fake audio device that plays silence. Provider of the |
| 100 // |collection| can override the default filters by adding extra filters to | 103 // |collection| can override the default filters by adding extra filters to |
| 101 // |collection| before calling this method. | 104 // |collection| before calling this method. |
| 102 // | 105 // |
| 103 // Callers must call |Initialize()| before they can use the object. | 106 // Callers must call |Initialize()| before they can use the object. |
| 104 WebMediaPlayerImpl(WebKit::WebMediaPlayerClient* client, | 107 WebMediaPlayerImpl(WebKit::WebMediaPlayerClient* client, |
| 105 media::FilterCollection* collection, | 108 media::FilterCollection* collection, |
| 109 AudioRendererImpl* audio_renderer, |
| 106 media::MessageLoopFactory* message_loop_factory, | 110 media::MessageLoopFactory* message_loop_factory, |
| 107 MediaStreamClient* media_stream_client, | 111 MediaStreamClient* media_stream_client, |
| 108 media::MediaLog* media_log); | 112 media::MediaLog* media_log); |
| 109 virtual ~WebMediaPlayerImpl(); | 113 virtual ~WebMediaPlayerImpl(); |
| 110 | 114 |
| 111 // Finalizes initialization of the object. | 115 // Finalizes initialization of the object. |
| 112 bool Initialize( | 116 bool Initialize( |
| 113 WebKit::WebFrame* frame, | 117 WebKit::WebFrame* frame, |
| 114 bool use_simple_data_source, | 118 bool use_simple_data_source, |
| 115 scoped_refptr<WebVideoRenderer> web_video_renderer); | 119 scoped_refptr<WebVideoRenderer> web_video_renderer); |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 168 virtual float mediaTimeForTimeValue(float timeValue) const; | 172 virtual float mediaTimeForTimeValue(float timeValue) const; |
| 169 | 173 |
| 170 virtual unsigned decodedFrameCount() const; | 174 virtual unsigned decodedFrameCount() const; |
| 171 virtual unsigned droppedFrameCount() const; | 175 virtual unsigned droppedFrameCount() const; |
| 172 virtual unsigned audioDecodedByteCount() const; | 176 virtual unsigned audioDecodedByteCount() const; |
| 173 virtual unsigned videoDecodedByteCount() const; | 177 virtual unsigned videoDecodedByteCount() const; |
| 174 | 178 |
| 175 virtual WebKit::WebVideoFrame* getCurrentFrame(); | 179 virtual WebKit::WebVideoFrame* getCurrentFrame(); |
| 176 virtual void putCurrentFrame(WebKit::WebVideoFrame* web_video_frame); | 180 virtual void putCurrentFrame(WebKit::WebVideoFrame* web_video_frame); |
| 177 | 181 |
| 182 virtual WebKit::WebAudioSourceProvider* webAudioSourceProvider(); |
| 183 RendererWebAudioSourceProviderImpl* audio_source_provider_; |
| 184 scoped_refptr<AudioRendererImpl> audio_renderer_; |
| 185 |
| 178 // TODO(acolwell): Uncomment once WebKit changes are checked in. | 186 // TODO(acolwell): Uncomment once WebKit changes are checked in. |
| 179 // https://bugs.webkit.org/show_bug.cgi?id=64731 | 187 // https://bugs.webkit.org/show_bug.cgi?id=64731 |
| 180 //virtual bool sourceAppend(const unsigned char* data, unsigned length); | 188 //virtual bool sourceAppend(const unsigned char* data, unsigned length); |
| 181 //virtual void sourceEndOfStream(EndOfStreamStatus status); | 189 //virtual void sourceEndOfStream(EndOfStreamStatus status); |
| 182 | 190 |
| 183 // As we are closing the tab or even the browser, |main_loop_| is destroyed | 191 // As we are closing the tab or even the browser, |main_loop_| is destroyed |
| 184 // even before this object gets destructed, so we need to know when | 192 // even before this object gets destructed, so we need to know when |
| 185 // |main_loop_| is being destroyed and we can stop posting repaint task | 193 // |main_loop_| is being destroyed and we can stop posting repaint task |
| 186 // to it. | 194 // to it. |
| 187 virtual void WillDestroyCurrentMessageLoop(); | 195 virtual void WillDestroyCurrentMessageLoop(); |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 #endif | 262 #endif |
| 255 | 263 |
| 256 scoped_refptr<media::MediaLog> media_log_; | 264 scoped_refptr<media::MediaLog> media_log_; |
| 257 | 265 |
| 258 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); | 266 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |
| 259 }; | 267 }; |
| 260 | 268 |
| 261 } // namespace webkit_glue | 269 } // namespace webkit_glue |
| 262 | 270 |
| 263 #endif // WEBKIT_GLUE_WEBMEDIAPLAYER_IMPL_H_ | 271 #endif // WEBKIT_GLUE_WEBMEDIAPLAYER_IMPL_H_ |
| OLD | NEW |