Commit 0012f4c2 authored by srirama.m@samsung.com's avatar srirama.m@samsung.com

Eliminate MediaPlayer & MediaPlayerClient abstractions(rate, setRate and other APIs)

BUG=350571

Chromium side patch for this is https://codereview.chromium.org/303403002/

Review URL: https://codereview.chromium.org/304353005

git-svn-id: svn://svn.chromium.org/blink/trunk@175683 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent f113af7b
...@@ -1712,7 +1712,7 @@ void HTMLMediaElement::progressEventTimerFired(Timer<HTMLMediaElement>*) ...@@ -1712,7 +1712,7 @@ void HTMLMediaElement::progressEventTimerFired(Timer<HTMLMediaElement>*)
double time = WTF::currentTime(); double time = WTF::currentTime();
double timedelta = time - m_previousProgressTime; double timedelta = time - m_previousProgressTime;
if (m_player->didLoadingProgress()) { if (webMediaPlayer() && webMediaPlayer()->didLoadingProgress()) {
scheduleEvent(EventTypeNames::progress); scheduleEvent(EventTypeNames::progress);
m_previousProgressTime = time; m_previousProgressTime = time;
m_sentStalledEvent = false; m_sentStalledEvent = false;
...@@ -1989,15 +1989,15 @@ void HTMLMediaElement::setPlaybackRate(double rate) ...@@ -1989,15 +1989,15 @@ void HTMLMediaElement::setPlaybackRate(double rate)
scheduleEvent(EventTypeNames::ratechange); scheduleEvent(EventTypeNames::ratechange);
} }
if (m_player && potentiallyPlaying() && m_player->rate() != rate && !m_mediaController) if (m_player && potentiallyPlaying() && !m_mediaController)
m_player->setRate(rate); webMediaPlayer()->setRate(rate);
} }
void HTMLMediaElement::updatePlaybackRate() void HTMLMediaElement::updatePlaybackRate()
{ {
double effectiveRate = m_mediaController ? m_mediaController->playbackRate() : m_playbackRate; double effectiveRate = m_mediaController ? m_mediaController->playbackRate() : m_playbackRate;
if (m_player && potentiallyPlaying() && m_player->rate() != effectiveRate) if (m_player && potentiallyPlaying())
m_player->setRate(effectiveRate); webMediaPlayer()->setRate(effectiveRate);
} }
bool HTMLMediaElement::ended() const bool HTMLMediaElement::ended() const
...@@ -2897,13 +2897,13 @@ void HTMLMediaElement::mediaPlayerSizeChanged() ...@@ -2897,13 +2897,13 @@ void HTMLMediaElement::mediaPlayerSizeChanged()
PassRefPtr<TimeRanges> HTMLMediaElement::buffered() const PassRefPtr<TimeRanges> HTMLMediaElement::buffered() const
{ {
if (!m_player)
return TimeRanges::create();
if (m_mediaSource) if (m_mediaSource)
return m_mediaSource->buffered(); return m_mediaSource->buffered();
return m_player->buffered(); if (!webMediaPlayer())
return TimeRanges::create();
return TimeRanges::create(webMediaPlayer()->buffered());
} }
PassRefPtr<TimeRanges> HTMLMediaElement::played() PassRefPtr<TimeRanges> HTMLMediaElement::played()
...@@ -2922,8 +2922,8 @@ PassRefPtr<TimeRanges> HTMLMediaElement::played() ...@@ -2922,8 +2922,8 @@ PassRefPtr<TimeRanges> HTMLMediaElement::played()
PassRefPtr<TimeRanges> HTMLMediaElement::seekable() const PassRefPtr<TimeRanges> HTMLMediaElement::seekable() const
{ {
if (m_player) { if (webMediaPlayer()) {
double maxTimeSeekable = m_player->maxTimeSeekable(); double maxTimeSeekable = webMediaPlayer()->maxTimeSeekable();
if (maxTimeSeekable) if (maxTimeSeekable)
return TimeRanges::create(0, maxTimeSeekable); return TimeRanges::create(0, maxTimeSeekable);
} }
...@@ -3033,7 +3033,7 @@ void HTMLMediaElement::updatePlayState() ...@@ -3033,7 +3033,7 @@ void HTMLMediaElement::updatePlayState()
if (playerPaused) { if (playerPaused) {
// Set rate, muted before calling play in case they were set before the media engine was setup. // Set rate, muted before calling play in case they were set before the media engine was setup.
// The media engine should just stash the rate and muted values since it isn't already playing. // The media engine should just stash the rate and muted values since it isn't already playing.
m_player->setRate(m_playbackRate); webMediaPlayer()->setRate(m_playbackRate);
updateVolume(); updateVolume();
webMediaPlayer()->play(); webMediaPlayer()->play();
} }
......
...@@ -112,20 +112,12 @@ public: ...@@ -112,20 +112,12 @@ public:
virtual void load(blink::WebMediaPlayer::LoadType, const String& url, blink::WebMediaPlayer::CORSMode) = 0; virtual void load(blink::WebMediaPlayer::LoadType, const String& url, blink::WebMediaPlayer::CORSMode) = 0;
virtual double rate() const = 0;
virtual void setRate(double) = 0;
enum NetworkState { Empty, Idle, Loading, Loaded, FormatError, NetworkError, DecodeError }; enum NetworkState { Empty, Idle, Loading, Loaded, FormatError, NetworkError, DecodeError };
virtual NetworkState networkState() const = 0; virtual NetworkState networkState() const = 0;
enum ReadyState { HaveNothing, HaveMetadata, HaveCurrentData, HaveFutureData, HaveEnoughData }; enum ReadyState { HaveNothing, HaveMetadata, HaveCurrentData, HaveFutureData, HaveEnoughData };
virtual ReadyState readyState() const = 0; virtual ReadyState readyState() const = 0;
virtual double maxTimeSeekable() const = 0;
virtual PassRefPtr<TimeRanges> buffered() const = 0;
virtual bool didLoadingProgress() const = 0;
virtual void paint(GraphicsContext*, const IntRect&) = 0; virtual void paint(GraphicsContext*, const IntRect&) = 0;
virtual bool copyVideoTextureToPlatformTexture(blink::WebGraphicsContext3D*, Platform3DObject, GC3Dint, GC3Denum, GC3Denum, bool, bool) = 0; virtual bool copyVideoTextureToPlatformTexture(blink::WebGraphicsContext3D*, Platform3DObject, GC3Dint, GC3Denum, GC3Denum, bool, bool) = 0;
......
...@@ -205,18 +205,6 @@ void WebMediaPlayerClientImpl::load(WebMediaPlayer::LoadType loadType, const WTF ...@@ -205,18 +205,6 @@ void WebMediaPlayerClientImpl::load(WebMediaPlayer::LoadType loadType, const WTF
m_webMediaPlayer->load(loadType, kurl, corsMode); m_webMediaPlayer->load(loadType, kurl, corsMode);
} }
double WebMediaPlayerClientImpl::rate() const
{
return m_rate;
}
void WebMediaPlayerClientImpl::setRate(double rate)
{
m_rate = rate;
if (m_webMediaPlayer)
m_webMediaPlayer->setRate(rate);
}
MediaPlayer::NetworkState WebMediaPlayerClientImpl::networkState() const MediaPlayer::NetworkState WebMediaPlayerClientImpl::networkState() const
{ {
if (m_webMediaPlayer) if (m_webMediaPlayer)
...@@ -231,25 +219,6 @@ MediaPlayer::ReadyState WebMediaPlayerClientImpl::readyState() const ...@@ -231,25 +219,6 @@ MediaPlayer::ReadyState WebMediaPlayerClientImpl::readyState() const
return MediaPlayer::HaveNothing; return MediaPlayer::HaveNothing;
} }
double WebMediaPlayerClientImpl::maxTimeSeekable() const
{
if (m_webMediaPlayer)
return m_webMediaPlayer->maxTimeSeekable();
return 0.0;
}
PassRefPtr<TimeRanges> WebMediaPlayerClientImpl::buffered() const
{
if (m_webMediaPlayer)
return TimeRanges::create(m_webMediaPlayer->buffered());
return TimeRanges::create();
}
bool WebMediaPlayerClientImpl::didLoadingProgress() const
{
return m_webMediaPlayer && m_webMediaPlayer->didLoadingProgress();
}
void WebMediaPlayerClientImpl::paint(GraphicsContext* context, const IntRect& rect) void WebMediaPlayerClientImpl::paint(GraphicsContext* context, const IntRect& rect)
{ {
// Normally GraphicsContext operations do nothing when painting is disabled. // Normally GraphicsContext operations do nothing when painting is disabled.
...@@ -339,7 +308,6 @@ void WebMediaPlayerClientImpl::paintOnAndroid(WebCore::GraphicsContext* context, ...@@ -339,7 +308,6 @@ void WebMediaPlayerClientImpl::paintOnAndroid(WebCore::GraphicsContext* context,
WebMediaPlayerClientImpl::WebMediaPlayerClientImpl(MediaPlayerClient* client) WebMediaPlayerClientImpl::WebMediaPlayerClientImpl(MediaPlayerClient* client)
: m_client(client) : m_client(client)
, m_preload(MediaPlayer::Auto) , m_preload(MediaPlayer::Auto)
, m_rate(1.0)
#if OS(ANDROID) #if OS(ANDROID)
, m_usePaintOnAndroid(false) , m_usePaintOnAndroid(false)
#endif #endif
......
...@@ -94,13 +94,8 @@ public: ...@@ -94,13 +94,8 @@ public:
// MediaPlayer methods: // MediaPlayer methods:
virtual WebMediaPlayer* webMediaPlayer() const OVERRIDE; virtual WebMediaPlayer* webMediaPlayer() const OVERRIDE;
virtual void load(WebMediaPlayer::LoadType, const WTF::String& url, WebMediaPlayer::CORSMode) OVERRIDE; virtual void load(WebMediaPlayer::LoadType, const WTF::String& url, WebMediaPlayer::CORSMode) OVERRIDE;
virtual double rate() const OVERRIDE;
virtual void setRate(double) OVERRIDE;
virtual WebCore::MediaPlayer::NetworkState networkState() const OVERRIDE; virtual WebCore::MediaPlayer::NetworkState networkState() const OVERRIDE;
virtual WebCore::MediaPlayer::ReadyState readyState() const OVERRIDE; virtual WebCore::MediaPlayer::ReadyState readyState() const OVERRIDE;
virtual double maxTimeSeekable() const OVERRIDE;
virtual WTF::PassRefPtr<WebCore::TimeRanges> buffered() const OVERRIDE;
virtual bool didLoadingProgress() const OVERRIDE;
virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect&) OVERRIDE; virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect&) OVERRIDE;
virtual bool copyVideoTextureToPlatformTexture(WebGraphicsContext3D*, Platform3DObject texture, GLint level, GLenum type, GLenum internalFormat, bool premultiplyAlpha, bool flipY) OVERRIDE; virtual bool copyVideoTextureToPlatformTexture(WebGraphicsContext3D*, Platform3DObject texture, GLint level, GLenum type, GLenum internalFormat, bool premultiplyAlpha, bool flipY) OVERRIDE;
virtual void setPreload(WebCore::MediaPlayer::Preload) OVERRIDE; virtual void setPreload(WebCore::MediaPlayer::Preload) OVERRIDE;
...@@ -117,7 +112,6 @@ private: ...@@ -117,7 +112,6 @@ private:
WebCore::MediaPlayerClient* m_client; WebCore::MediaPlayerClient* m_client;
OwnPtr<WebMediaPlayer> m_webMediaPlayer; OwnPtr<WebMediaPlayer> m_webMediaPlayer;
WebCore::MediaPlayer::Preload m_preload; WebCore::MediaPlayer::Preload m_preload;
double m_rate;
#if OS(ANDROID) #if OS(ANDROID)
// FIXME: This path "only works" on Android. It is a workaround for the problem that Skia could not handle Android's GL_TEXTURE_EXTERNAL_OES // FIXME: This path "only works" on Android. It is a workaround for the problem that Skia could not handle Android's GL_TEXTURE_EXTERNAL_OES
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment