| Index: webkit/media/android/webmediaplayer_in_process_android.cc
|
| diff --git a/webkit/media/android/webmediaplayer_in_process_android.cc b/webkit/media/android/webmediaplayer_in_process_android.cc
|
| deleted file mode 100644
|
| index 9684ee85365ec01e7b7d0a80e06b7c7afb3dd9ce..0000000000000000000000000000000000000000
|
| --- a/webkit/media/android/webmediaplayer_in_process_android.cc
|
| +++ /dev/null
|
| @@ -1,193 +0,0 @@
|
| -// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "webkit/media/android/webmediaplayer_in_process_android.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/logging.h"
|
| -#include "base/utf_string_conversions.h"
|
| -#include "media/base/android/media_player_bridge.h"
|
| -#include "media/base/android/media_player_bridge_manager.h"
|
| -#include "third_party/WebKit/Source/Platform/chromium/public/WebCookieJar.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h"
|
| -#include "third_party/WebKit/Source/WebKit/chromium/public/WebMediaPlayerClient.h"
|
| -#include "webkit/media/android/stream_texture_factory_android.h"
|
| -#include "webkit/media/android/webmediaplayer_manager_android.h"
|
| -
|
| -using WebKit::WebMediaPlayerClient;
|
| -using WebKit::WebMediaPlayer;
|
| -using WebKit::WebURL;
|
| -using media::MediaPlayerBridge;
|
| -
|
| -namespace webkit_media {
|
| -
|
| -InProcessMediaResourceGetter::InProcessMediaResourceGetter(
|
| - WebKit::WebCookieJar* cookie_jar)
|
| - : cookie_jar_(cookie_jar) {
|
| -}
|
| -
|
| -InProcessMediaResourceGetter::~InProcessMediaResourceGetter() {}
|
| -
|
| -void InProcessMediaResourceGetter::GetCookies(
|
| - const GURL& url,
|
| - const GURL& first_party_for_cookies,
|
| - const GetCookieCB& callback) {
|
| - std::string cookies;
|
| - if (cookie_jar_ != NULL) {
|
| - cookies = UTF16ToUTF8(
|
| - cookie_jar_->cookies(url, first_party_for_cookies));
|
| - }
|
| - callback.Run(cookies);
|
| -}
|
| -
|
| -void InProcessMediaResourceGetter::GetPlatformPathFromFileSystemURL(
|
| - const GURL& url, const GetPlatformPathCB& callback) {
|
| - callback.Run(std::string());
|
| -}
|
| -
|
| -WebMediaPlayerInProcessAndroid::WebMediaPlayerInProcessAndroid(
|
| - WebKit::WebFrame* frame,
|
| - WebMediaPlayerClient* client,
|
| - WebKit::WebCookieJar* cookie_jar,
|
| - WebMediaPlayerManagerAndroid* manager,
|
| - media::MediaPlayerBridgeManager* resource_manager,
|
| - StreamTextureFactory* factory,
|
| - bool disable_media_history_logging)
|
| - : WebMediaPlayerAndroid(client, manager, factory),
|
| - frame_(frame),
|
| - playback_completed_(false),
|
| - cookie_jar_(cookie_jar),
|
| - resource_manager_(resource_manager),
|
| - disable_history_logging_(disable_media_history_logging) {
|
| -}
|
| -
|
| -WebMediaPlayerInProcessAndroid::~WebMediaPlayerInProcessAndroid() {}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::PlayInternal() {
|
| - if (paused())
|
| - media_player_->Start();
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::PauseInternal() {
|
| - if (!paused())
|
| - media_player_->Pause();
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::SeekInternal(base::TimeDelta time) {
|
| - playback_completed_ = false;
|
| - media_player_->SeekTo(time);
|
| -}
|
| -
|
| -bool WebMediaPlayerInProcessAndroid::paused() const {
|
| - return !media_player_->IsPlaying();
|
| -}
|
| -
|
| -float WebMediaPlayerInProcessAndroid::GetCurrentTimeInternal() const {
|
| - // When playback is about to finish, android media player often stops
|
| - // at a time which is smaller than the duration. This makes webkit never
|
| - // know that the playback has finished. To solve this, we set the
|
| - // current time to media duration when OnPlaybackComplete() get called.
|
| - if (playback_completed_)
|
| - return duration();
|
| - return static_cast<float>(media_player_->GetCurrentTime().InSecondsF());
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::ReleaseResourcesInternal() {
|
| - media_player_->Release();
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::MediaPreparedCallback(
|
| - int player_id, base::TimeDelta duration) {
|
| - OnMediaPrepared(duration);
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::PlaybackCompleteCallback(int player_id) {
|
| - // Set the current time equal to duration to let webkit know that play back
|
| - // is completed.
|
| - playback_completed_ = true;
|
| - client()->timeChanged();
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::SeekCompleteCallback(
|
| - int player_id, base::TimeDelta current_time) {
|
| - OnSeekComplete(current_time);
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::MediaInterruptedCallback(int player_id) {
|
| - PauseInternal();
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::MediaErrorCallback(int player_id,
|
| - int error_type) {
|
| - OnMediaError(error_type);
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::VideoSizeChangedCallback(
|
| - int player_id, int width, int height) {
|
| - OnVideoSizeChanged(width, height);
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::BufferingUpdateCallback(
|
| - int player_id, int percent) {
|
| - OnBufferingUpdate(percent);
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::SetVideoSurface(jobject j_surface) {
|
| - media_player_->SetVideoSurface(j_surface);
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::InitializeMediaPlayer(GURL url) {
|
| - GURL first_party_url = frame_->document().firstPartyForCookies();
|
| - media_player_.reset(new MediaPlayerBridge(
|
| - player_id(), url, first_party_url,
|
| - new InProcessMediaResourceGetter(cookie_jar_),
|
| - disable_history_logging_,
|
| - resource_manager_,
|
| - base::Bind(&WebMediaPlayerInProcessAndroid::MediaErrorCallback,
|
| - base::Unretained(this)),
|
| - base::Bind(&WebMediaPlayerInProcessAndroid::VideoSizeChangedCallback,
|
| - base::Unretained(this)),
|
| - base::Bind(&WebMediaPlayerInProcessAndroid::BufferingUpdateCallback,
|
| - base::Unretained(this)),
|
| - base::Bind(&WebMediaPlayerInProcessAndroid::MediaPreparedCallback,
|
| - base::Unretained(this)),
|
| - base::Bind(&WebMediaPlayerInProcessAndroid::PlaybackCompleteCallback,
|
| - base::Unretained(this)),
|
| - base::Bind(&WebMediaPlayerInProcessAndroid::SeekCompleteCallback,
|
| - base::Unretained(this)),
|
| - base::Bind(&WebMediaPlayerInProcessAndroid::TimeUpdateCallback,
|
| - base::Unretained(this)),
|
| - base::Bind(&WebMediaPlayerInProcessAndroid::MediaInterruptedCallback,
|
| - base::Unretained(this))));
|
| -
|
| - UpdateNetworkState(WebMediaPlayer::NetworkStateLoading);
|
| - UpdateReadyState(WebMediaPlayer::ReadyStateHaveNothing);
|
| -
|
| - // Calling Prepare() will cause android mediaplayer to start
|
| - // buffering and decoding the data. On mobile devices, this costs a lot of
|
| - // data usage and could even introduce performance issues. So we don't
|
| - // initialize the player unless it is a local file. We will start loading
|
| - // the media only when play/seek/fullsceen button is clicked.
|
| - if (url.SchemeIs("file")) {
|
| - media_player_->Prepare();
|
| - return;
|
| - }
|
| -
|
| - // Pretend everything has been loaded so that webkit can
|
| - // still call play() and seek().
|
| - UpdateReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
|
| - UpdateReadyState(WebMediaPlayer::ReadyStateHaveEnoughData);
|
| -}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::OnTimeUpdate(
|
| - base::TimeDelta current_time) {}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::Destroy() {}
|
| -
|
| -void WebMediaPlayerInProcessAndroid::RequestExternalSurface() {
|
| - NOTIMPLEMENTED();
|
| -}
|
| -
|
| -} // namespace webkit_media
|
|
|