Index: webkit/media/webmediaplayer_impl.h |
diff --git a/webkit/media/webmediaplayer_impl.h b/webkit/media/webmediaplayer_impl.h |
index dc02de3c1f565c0abd53f797f2d98c3f21d838b1..bb81c7c9bd490920b7580a4a9b0bdb6323ffe6a1 100644 |
--- a/webkit/media/webmediaplayer_impl.h |
+++ b/webkit/media/webmediaplayer_impl.h |
@@ -54,10 +54,10 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/weak_ptr.h" |
#include "base/message_loop.h" |
+#include "base/threading/thread.h" |
#include "googleurl/src/gurl.h" |
#include "media/base/audio_renderer_sink.h" |
#include "media/base/decryptor.h" |
-#include "media/base/message_loop_factory.h" |
#include "media/base/pipeline.h" |
#include "skia/ext/platform_canvas.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebAudioSourceProvider.h" |
@@ -69,12 +69,10 @@ |
class RenderAudioSourceProvider; |
namespace WebKit { |
-class WebAudioSourceProvider; |
class WebFrame; |
} |
namespace media { |
-class AudioRendererSink; |
class ChunkDemuxer; |
class MediaLog; |
} |
@@ -83,6 +81,7 @@ namespace webkit_media { |
class MediaStreamClient; |
class WebMediaPlayerDelegate; |
+class WebMediaPlayerParams; |
class WebMediaPlayerProxy; |
class WebMediaPlayerImpl |
@@ -90,37 +89,14 @@ class WebMediaPlayerImpl |
public MessageLoop::DestructionObserver, |
public base::SupportsWeakPtr<WebMediaPlayerImpl> { |
public: |
- // Construct a WebMediaPlayerImpl with reference to the client, and media |
- // filter collection. By providing the filter collection the implementor can |
- // provide more specific media filters that does resource loading and |
- // rendering. |
+ // Constructs a WebMediaPlayer implementation using Chromium's media stack. |
// |
- // WebMediaPlayerImpl comes packaged with the following media filters: |
- // - URL fetching |
- // - Demuxing |
- // - Software audio/video decoding |
- // - Video rendering |
- // |
- // Clients are expected to add their platform-specific audio rendering media |
- // filter if they wish to hear any sound coming out the speakers, otherwise |
- // audio data is discarded and media plays back based on wall clock time. |
- // |
- // When calling this, the |audio_source_provider| and |
- // |audio_renderer_sink| arguments should be the same object. |
- // |
- // TODO(scherkus): Remove WebAudioSourceProvider parameter once we |
- // refactor RenderAudioSourceProvider to live under webkit/media/ |
- // instead of content/renderer/, see http://crbug.com/136442 |
- |
- WebMediaPlayerImpl(WebKit::WebFrame* frame, |
- WebKit::WebMediaPlayerClient* client, |
- base::WeakPtr<WebMediaPlayerDelegate> delegate, |
- media::FilterCollection* collection, |
- WebKit::WebAudioSourceProvider* audio_source_provider, |
- media::AudioRendererSink* audio_renderer_sink, |
- media::MessageLoopFactory* message_loop_factory, |
- MediaStreamClient* media_stream_client, |
- media::MediaLog* media_log); |
+ // |delegate| may be null. |
+ WebMediaPlayerImpl( |
+ WebKit::WebFrame* frame, |
+ WebKit::WebMediaPlayerClient* client, |
+ base::WeakPtr<WebMediaPlayerDelegate> delegate, |
+ const WebMediaPlayerParams& params); |
virtual ~WebMediaPlayerImpl(); |
virtual void load(const WebKit::WebURL& url, CORSMode cors_mode); |
@@ -305,13 +281,12 @@ class WebMediaPlayerImpl |
scoped_ptr<media::FilterCollection> filter_collection_; |
scoped_refptr<media::Pipeline> pipeline_; |
+ base::Thread media_thread_; |
// The currently selected key system. Empty string means that no key system |
// has been selected. |
WebKit::WebString current_key_system_; |
- scoped_ptr<media::MessageLoopFactory> message_loop_factory_; |
- |
// Playback state. |
// |
// TODO(scherkus): we have these because Pipeline favours the simplicity of a |
@@ -352,8 +327,6 @@ class WebMediaPlayerImpl |
WebKit::WebAudioSourceProvider* audio_source_provider_; |
- scoped_refptr<media::AudioRendererSink> audio_renderer_sink_; |
- |
bool is_local_source_; |
bool supports_save_; |