Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Unified Diff: webkit/media/android/webmediaplayer_android.h

Issue 14247018: Implement WebRTC in Chrome for TV (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added tests and refined the code Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698