Index: media/base/android/media_source_player_impl.cc |
diff --git a/media/base/android/media_source_player_impl.cc b/media/base/android/media_source_player_impl.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ae10263fad146daf829051d3b9c851bd4c837d4a |
--- /dev/null |
+++ b/media/base/android/media_source_player_impl.cc |
@@ -0,0 +1,149 @@ |
+#include "media/base/android/media_source_player_impl.h" |
+ |
+#include "base/bind.h" |
+#include "base/logging.h" |
+ |
+#include "media/base/android/media_source_player.h" |
+ |
+namespace media { |
+ |
+// Called on UI thread |
+MediaSourcePlayerImpl::MediaSourcePlayerImpl(scoped_ptr<DemuxerAndroid> demuxer) |
+ : demuxer_(demuxer.Pass()), |
+ weak_factory_(this) { |
+ // UI thread |
+ DVLOG(1) << "MediaSourcePlayerImpl::MediaSourcePlayerImpl"; |
+ |
+ weak_this_ = weak_factory_.GetWeakPtr(); |
+ |
+ // Finish initializaton on Media thread |
+ GetMediaTaskRunner()->PostTask( |
+ FROM_HERE, base::Bind(&MediaSourcePlayerImpl::Initialize, weak_this_)); |
+} |
+ |
+MediaSourcePlayerImpl::~MediaSourcePlayerImpl() |
+{ |
+ // Media thread |
+ DVLOG(1) << "MediaSourcePlayerImpl::~MediaSourcePlayerImpl"; |
+} |
+ |
+void MediaSourcePlayerImpl::Initialize() { |
+ // Media thread |
+ DVLOG(1) << "MediaSourcePlayerImpl::" << __FUNCTION__; |
+ |
+ demuxer_->Initialize(this); |
+} |
+ |
+void MediaSourcePlayerImpl::DestroySelf() { |
+ // Media thread |
+ DVLOG(1) << __FUNCTION__; |
+ delete this; |
+} |
+ |
+// Calls forwarded from MEdiaSourcePlayer |
+ |
+void MediaSourcePlayerImpl::SetVideoSurface(gfx::ScopedJavaSurface surface) { |
+ // Media thread |
+ DVLOG(1) << __FUNCTION__; |
+} |
+ |
+void MediaSourcePlayerImpl::Start() { |
+ // Media thread |
+ DVLOG(1) << __FUNCTION__; |
+} |
+ |
+void MediaSourcePlayerImpl::Pause() { |
+ // Media thread |
+ DVLOG(1) << __FUNCTION__; |
+} |
+ |
+void MediaSourcePlayerImpl::SeekTo(base::TimeDelta timestamp) { |
+ // Media thread |
+ DVLOG(1) << __FUNCTION__ << " " << timestamp; |
+} |
+ |
+void MediaSourcePlayerImpl::Release() { |
+ // Media thread |
+ DVLOG(1) << __FUNCTION__; |
+} |
+ |
+void MediaSourcePlayerImpl::SetVolume(double volume) { |
+ // Media thread |
+ DVLOG(1) << __FUNCTION__ << " " << volume; |
+} |
+ |
+int MediaSourcePlayerImpl::GetVideoWidth() { |
+ // UI thread |
+ return 320; |
+} |
+ |
+int MediaSourcePlayerImpl::GetVideoHeight() { |
+ // UI thread |
+ return 240; |
+} |
+ |
+base::TimeDelta MediaSourcePlayerImpl::GetCurrentTime() { |
+ // UI thread, Media thread |
+ return base::TimeDelta(); |
+} |
+ |
+base::TimeDelta MediaSourcePlayerImpl::GetDuration() { |
+ // UI thread |
+ return base::TimeDelta(); |
+} |
+ |
+bool MediaSourcePlayerImpl::IsPlaying() { |
+ // UI thread |
+ return false; |
+} |
+ |
+bool MediaSourcePlayerImpl::CanPause() { |
+ // UI thread |
+ return false; |
+} |
+ |
+bool MediaSourcePlayerImpl::CanSeekForward() { |
+ // UI thread |
+ return false; |
+} |
+ |
+bool MediaSourcePlayerImpl::CanSeekBackward() { |
+ // UI thread |
+ return false; |
+} |
+ |
+bool MediaSourcePlayerImpl::IsPlayerReady() { |
+ // UI thread |
+ DVLOG(1) << __FUNCTION__; |
+ return true; |
+} |
+ |
+void MediaSourcePlayerImpl::SetCdm(BrowserCdm* cdm) { |
+ DVLOG(1) << __FUNCTION__; |
+} |
+ |
+// Callbacks from Demuxer. |
+ |
+void MediaSourcePlayerImpl::OnDemuxerConfigsAvailable( |
+ const DemuxerConfigs& configs) { |
+ // Media thread |
+ DVLOG(1) << __FUNCTION__; |
+} |
+ |
+void MediaSourcePlayerImpl::OnDemuxerDataAvailable(const DemuxerData& data) { |
+ // Media thread |
+} |
+ |
+void MediaSourcePlayerImpl::OnDemuxerSeekDone( |
+ base::TimeDelta actual_browser_seek_time) { |
+ // Media thread |
+ DVLOG(1) << __FUNCTION__ << " actual_time:" << actual_browser_seek_time; |
+} |
+ |
+void MediaSourcePlayerImpl::OnDemuxerDurationChanged( |
+ base::TimeDelta duration) { |
+ // Media thread |
+ DVLOG(1) << __FUNCTION__ << " duration:" << duration; |
+} |
+ |
+} // namespace media |