summaryrefslogtreecommitdiffstats
path: root/webkit/media
diff options
context:
space:
mode:
authorfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-01 01:13:16 +0000
committerfischman@chromium.org <fischman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-01 01:13:16 +0000
commitd7eec26f4e325611e84c76e80bd9f191e187d463 (patch)
tree0262aa4ef68b20d8cea2f2a6d7377044fc0f6bb6 /webkit/media
parent240bbf7676388b62b10c90327851fdae2090e392 (diff)
downloadchromium_src-d7eec26f4e325611e84c76e80bd9f191e187d463.zip
chromium_src-d7eec26f4e325611e84c76e80bd9f191e187d463.tar.gz
chromium_src-d7eec26f4e325611e84c76e80bd9f191e187d463.tar.bz2
Prepare WebMediaPlayerAndroid for bytesLoaded() -> didLoadingProgress() transition.
TBR=scherkus Review URL: https://chromiumcodereview.appspot.com/10469003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139945 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/media')
-rw-r--r--webkit/media/android/webmediaplayer_android.cc8
-rw-r--r--webkit/media/android/webmediaplayer_android.h80
2 files changed, 50 insertions, 38 deletions
diff --git a/webkit/media/android/webmediaplayer_android.cc b/webkit/media/android/webmediaplayer_android.cc
index b4184da..1b99ebb 100644
--- a/webkit/media/android/webmediaplayer_android.cc
+++ b/webkit/media/android/webmediaplayer_android.cc
@@ -60,6 +60,7 @@ WebMediaPlayerAndroid::WebMediaPlayerAndroid(
seeking_(false),
playback_completed_(false),
buffered_bytes_(0),
+ did_loading_progress_(false),
cookie_jar_(cookie_jar),
pending_play_event_(false),
network_state_(WebMediaPlayer::NetworkStateEmpty),
@@ -264,6 +265,12 @@ float WebMediaPlayerAndroid::maxTimeSeekable() const {
return duration();
}
+bool WebMediaPlayerAndroid::didLoadingProgress() const {
+ bool ret = did_loading_progress_;
+ did_loading_progress_ = false;
+ return ret;
+}
+
unsigned long long WebMediaPlayerAndroid::bytesLoaded() const {
return buffered_bytes_;
}
@@ -371,6 +378,7 @@ void WebMediaPlayerAndroid::OnPlaybackComplete() {
void WebMediaPlayerAndroid::OnBufferingUpdate(int percentage) {
buffered_[0].end = duration() * percentage / 100;
+ did_loading_progress_ = true;
// Implement a trick here to fake progress event, as WebKit checks
// consecutive bytesLoaded() to see if any progress made.
// See HTMLMediaElement::progressEventTimerFired.
diff --git a/webkit/media/android/webmediaplayer_android.h b/webkit/media/android/webmediaplayer_android.h
index 61ee5d1..c8935fa 100644
--- a/webkit/media/android/webmediaplayer_android.h
+++ b/webkit/media/android/webmediaplayer_android.h
@@ -37,73 +37,74 @@ class WebMediaPlayerAndroid :
public:
WebMediaPlayerAndroid(WebKit::WebMediaPlayerClient* client,
WebKit::WebCookieJar* cookie_jar);
- virtual ~WebMediaPlayerAndroid() OVERRIDE;
+ virtual ~WebMediaPlayerAndroid();
// Set |incognito_mode_| to true if in incognito mode.
static void InitIncognito(bool incognito_mode);
// Resource loading.
- virtual void load(const WebKit::WebURL& url) OVERRIDE;
- virtual void cancelLoad() OVERRIDE;
+ virtual void load(const WebKit::WebURL& url);
+ virtual void cancelLoad();
// Playback controls.
- virtual void play() OVERRIDE;
- virtual void pause() OVERRIDE;
- virtual void seek(float seconds) OVERRIDE;
- virtual bool supportsFullscreen() const OVERRIDE;
- virtual bool supportsSave() const OVERRIDE;
- virtual void setEndTime(float seconds) OVERRIDE;
- virtual void setRate(float rate) OVERRIDE;
- virtual void setVolume(float volume) OVERRIDE;
- virtual void setVisible(bool visible) OVERRIDE;
- virtual bool totalBytesKnown() OVERRIDE;
- virtual const WebKit::WebTimeRanges& buffered() OVERRIDE;
- virtual float maxTimeSeekable() const OVERRIDE;
+ virtual void play();
+ virtual void pause();
+ virtual void seek(float seconds);
+ virtual bool supportsFullscreen() const;
+ virtual bool supportsSave() const;
+ virtual void setEndTime(float seconds);
+ virtual void setRate(float rate);
+ virtual void setVolume(float volume);
+ virtual void setVisible(bool visible);
+ virtual bool totalBytesKnown();
+ virtual const WebKit::WebTimeRanges& buffered();
+ virtual float maxTimeSeekable() const;
// Methods for painting.
- virtual void setSize(const WebKit::WebSize& size) OVERRIDE;
+ virtual void setSize(const WebKit::WebSize& size);
virtual void paint(WebKit::WebCanvas* canvas,
const WebKit::WebRect& rect,
- uint8_t alpha) OVERRIDE;
+ uint8_t alpha);
// True if the loaded media has a playable video/audio track.
- virtual bool hasVideo() const OVERRIDE;
- virtual bool hasAudio() const OVERRIDE;
+ virtual bool hasVideo() const;
+ virtual bool hasAudio() const;
// Dimensions of the video.
- virtual WebKit::WebSize naturalSize() const OVERRIDE;
+ virtual WebKit::WebSize naturalSize() const;
// Getters of playback state.
- virtual bool paused() const OVERRIDE;
- virtual bool seeking() const OVERRIDE;
- virtual float duration() const OVERRIDE;
- virtual float currentTime() const OVERRIDE;
+ virtual bool paused() const;
+ virtual bool seeking() const;
+ virtual float duration() const;
+ virtual float currentTime() const;
// Get rate of loading the resource.
- virtual int32 dataRate() const OVERRIDE;
+ virtual int32 dataRate() const;
- virtual unsigned long long bytesLoaded() const OVERRIDE;
- virtual unsigned long long totalBytes() const OVERRIDE;
+ virtual unsigned long long bytesLoaded() const;
+ virtual bool didLoadingProgress() const;
+ virtual unsigned long long totalBytes() const;
// Internal states of loading and network.
- virtual WebKit::WebMediaPlayer::NetworkState networkState() const OVERRIDE;
- virtual WebKit::WebMediaPlayer::ReadyState readyState() const OVERRIDE;
+ virtual WebKit::WebMediaPlayer::NetworkState networkState() const;
+ virtual WebKit::WebMediaPlayer::ReadyState readyState() const;
- virtual bool hasSingleSecurityOrigin() const OVERRIDE;
- virtual WebKit::WebMediaPlayer::MovieLoadType movieLoadType() const OVERRIDE;
+ virtual bool hasSingleSecurityOrigin() const;
+ virtual WebKit::WebMediaPlayer::MovieLoadType movieLoadType() const;
- virtual float mediaTimeForTimeValue(float timeValue) const OVERRIDE;
+ virtual float mediaTimeForTimeValue(float timeValue) const;
// Provide statistics.
- virtual unsigned decodedFrameCount() const OVERRIDE;
- virtual unsigned droppedFrameCount() const OVERRIDE;
- virtual unsigned audioDecodedByteCount() const OVERRIDE;
- virtual unsigned videoDecodedByteCount() const OVERRIDE;
+ virtual unsigned decodedFrameCount() const;
+ virtual unsigned droppedFrameCount() const;
+ virtual unsigned audioDecodedByteCount() const;
+ virtual unsigned videoDecodedByteCount() const;
// Methods called from VideoLayerChromium. These methods are running on the
// compositor thread.
- virtual WebKit::WebVideoFrame* getCurrentFrame() OVERRIDE;
- virtual void putCurrentFrame(WebKit::WebVideoFrame*) OVERRIDE;
+ virtual WebKit::WebVideoFrame* getCurrentFrame();
+ virtual void putCurrentFrame(WebKit::WebVideoFrame*);
// Media player callback handlers.
void OnMediaPrepared();
@@ -181,6 +182,9 @@ class WebMediaPlayerAndroid :
// Fake it by self increasing on every OnBufferingUpdate event.
int64 buffered_bytes_;
+ // Whether loading has progressed since the last call to didLoadingProgress.
+ mutable bool did_loading_progress_;
+
// Pointer to the cookie jar to get the cookie for the media url.
WebKit::WebCookieJar* cookie_jar_;