Index: webkit/media/android/webmediaplayer_android.h |
diff --git a/webkit/media/android/webmediaplayer_android.h b/webkit/media/android/webmediaplayer_android.h |
index e07d48f24b5044ab4b798c9aeafec7e587664299..fed841feb5f5a8908d7ea7725976391de9043a1f 100644 |
--- a/webkit/media/android/webmediaplayer_android.h |
+++ b/webkit/media/android/webmediaplayer_android.h |
@@ -12,10 +12,8 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/message_loop.h" |
#include "base/time.h" |
-#if defined(GOOGLE_TV) |
-#include "media/base/demuxer_stream.h" |
-#endif |
#include "cc/layers/video_frame_provider.h" |
+#include "media/base/android/media_player_bridge.h" |
#include "third_party/WebKit/Source/Platform/chromium/public/WebGraphicsContext3D.h" |
#include "third_party/WebKit/Source/Platform/chromium/public/WebSize.h" |
#include "third_party/WebKit/Source/Platform/chromium/public/WebURL.h" |
@@ -23,7 +21,12 @@ |
#include "ui/gfx/rect_f.h" |
#include "webkit/media/android/stream_texture_factory_android.h" |
+#if defined(GOOGLE_TV) |
+#include "webkit/media/android/media_source_delegate.h" |
+#endif |
+ |
namespace media { |
+class Demuxer; |
class MediaLog; |
} |
@@ -38,8 +41,9 @@ class WebLayerImpl; |
namespace webkit_media { |
#if defined(GOOGLE_TV) |
-class MediaSourceDelegate; |
+class MediaStreamAudioRenderer; |
#endif |
+class MediaStreamClient; |
class WebMediaPlayerManagerAndroid; |
class WebMediaPlayerProxyAndroid; |
@@ -64,7 +68,9 @@ class WebMediaPlayerAndroid |
WebMediaPlayerManagerAndroid* manager, |
WebMediaPlayerProxyAndroid* proxy, |
StreamTextureFactory* factory, |
- media::MediaLog* media_log); |
+ media::MediaLog* media_log, |
+ MediaStreamClient* media_stream_client, |
+ media::Demuxer* remote_stream_demuxer); |
virtual ~WebMediaPlayerAndroid(); |
// WebKit::WebMediaPlayer implementation. |
@@ -202,8 +208,11 @@ class WebMediaPlayerAndroid |
const WebKit::WebString& key_system, |
const WebKit::WebString& session_id) OVERRIDE; |
- // Called when DemuxerStreamPlayer needs to read data from ChunkDemuxer. |
- void OnReadFromDemuxer(media::DemuxerStream::Type type, bool seek_done); |
+ // Called when DemuxerStreamPlayer needs to read data from ChunkDemuxer. |
+ void OnReadFromDemuxer(media::DemuxerStream::Type type, bool seek_done); |
+ |
+ void SetDestroyDemuxerCB( |
+ const MediaSourceDelegate::DestroyDemuxerCB& destroy_demuxer_cb); |
#endif |
protected: |
@@ -221,6 +230,10 @@ class WebMediaPlayerAndroid |
// Requesting whether the surface texture peer needs to be reestablished. |
void SetNeedsEstablishPeer(bool needs_establish_peer); |
+ void InitializeMediaPlayer( |
+ const WebKit::WebURL& url, |
+ media::MediaPlayerBridge::MediaSource media_source); |
+ |
#if defined(GOOGLE_TV) |
// Request external surface for out-of-band composition. |
void RequestExternalSurface(); |
@@ -306,7 +319,10 @@ class WebMediaPlayerAndroid |
// time. |
gfx::RectF last_computed_rect_; |
+ // Media Source / Media Stream related fields. |
scoped_ptr<MediaSourceDelegate> media_source_delegate_; |
+ scoped_refptr<MediaStreamAudioRenderer> audio_renderer_; |
+ MediaSourceDelegate::DestroyDemuxerCB destroy_demuxer_cb_; |
#endif |
// Proxy object that delegates method calls on Render Thread. |
@@ -320,6 +336,8 @@ class WebMediaPlayerAndroid |
float current_time_; |
media::MediaLog* media_log_; |
+ MediaStreamClient* media_stream_client_; |
+ media::Demuxer* demuxer_; |
DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerAndroid); |
}; |