| Index: Source/web/WebMediaPlayerClientImpl.cpp
|
| diff --git a/Source/web/WebMediaPlayerClientImpl.cpp b/Source/web/WebMediaPlayerClientImpl.cpp
|
| index 059913134535b8455caaea8df1bcf90ab41cfbb8..ec216bdf3ce2b1cf30ed9fcb00ac69958e183ab6 100644
|
| --- a/Source/web/WebMediaPlayerClientImpl.cpp
|
| +++ b/Source/web/WebMediaPlayerClientImpl.cpp
|
| @@ -216,45 +216,11 @@ void WebMediaPlayerClientImpl::load(WebMediaPlayer::LoadType loadType, const WTF
|
|
|
| m_webMediaPlayer->setPoster(poster);
|
|
|
| -#if OS(ANDROID)
|
| - m_usePaintOnAndroid = (loadType != WebMediaPlayer::LoadTypeMediaStream);
|
| -#endif
|
| -
|
| // Tell WebMediaPlayer about any connected CDM (may be null).
|
| m_webMediaPlayer->setContentDecryptionModule(HTMLMediaElementEncryptedMedia::contentDecryptionModule(mediaElement()));
|
| m_webMediaPlayer->load(loadType, kurl, corsMode);
|
| }
|
|
|
| -
|
| -void WebMediaPlayerClientImpl::paint(GraphicsContext* context, const IntRect& rect)
|
| -{
|
| - // Normally GraphicsContext operations do nothing when painting is disabled.
|
| - // Since we're accessing platformContext() directly we have to manually
|
| - // check.
|
| - if (m_webMediaPlayer && !context->paintingDisabled()) {
|
| - // On Android, video frame is emitted as GL_TEXTURE_EXTERNAL_OES texture. We use a different path to
|
| - // paint the video frame into the context.
|
| -#if OS(ANDROID)
|
| - if (m_usePaintOnAndroid) {
|
| - paintOnAndroid(context, rect, context->getNormalizedAlpha());
|
| - return;
|
| - }
|
| -#endif
|
| - WebCanvas* canvas = context->canvas();
|
| - m_webMediaPlayer->paint(canvas, rect, context->getNormalizedAlpha());
|
| - }
|
| -}
|
| -
|
| -bool WebMediaPlayerClientImpl::copyVideoTextureToPlatformTexture(WebGraphicsContext3D* context, Platform3DObject texture, GLint level, GLenum type, GLenum internalFormat, bool premultiplyAlpha, bool flipY)
|
| -{
|
| - if (!context || !m_webMediaPlayer)
|
| - return false;
|
| - if (!Extensions3DUtil::canUseCopyTextureCHROMIUM(internalFormat, type, level) || !context->makeContextCurrent())
|
| - return false;
|
| -
|
| - return m_webMediaPlayer->copyVideoTextureToPlatformTexture(context, texture, level, internalFormat, type, premultiplyAlpha, flipY);
|
| -}
|
| -
|
| void WebMediaPlayerClientImpl::setPreload(MediaPlayer::Preload preload)
|
| {
|
| m_preload = preload;
|
| @@ -275,49 +241,9 @@ PassOwnPtr<MediaPlayer> WebMediaPlayerClientImpl::create(MediaPlayerClient* clie
|
| return adoptPtr(new WebMediaPlayerClientImpl(client));
|
| }
|
|
|
| -#if OS(ANDROID)
|
| -void WebMediaPlayerClientImpl::paintOnAndroid(blink::GraphicsContext* context, const IntRect& rect, uint8_t alpha)
|
| -{
|
| - OwnPtr<blink::WebGraphicsContext3DProvider> provider = adoptPtr(blink::Platform::current()->createSharedOffscreenGraphicsContext3DProvider());
|
| - if (!provider)
|
| - return;
|
| - WebGraphicsContext3D* context3D = provider->context3d();
|
| - if (!context || !context3D || !m_webMediaPlayer || context->paintingDisabled())
|
| - return;
|
| -
|
| - if (!context3D->makeContextCurrent())
|
| - return;
|
| -
|
| - // Copy video texture into a RGBA texture based bitmap first as video texture on Android is GL_TEXTURE_EXTERNAL_OES
|
| - // which is not supported by Skia yet. The bitmap's size needs to be the same as the video and use naturalSize() here.
|
| - // Check if we could reuse existing texture based bitmap.
|
| - // Otherwise, release existing texture based bitmap and allocate a new one based on video size.
|
| - if (!ensureTextureBackedSkBitmap(provider->grContext(), m_bitmap, m_webMediaPlayer->naturalSize(), kTopLeft_GrSurfaceOrigin, kSkia8888_GrPixelConfig))
|
| - return;
|
| -
|
| - // Copy video texture to bitmap texture.
|
| - WebCanvas* canvas = context->canvas();
|
| - unsigned textureId = static_cast<unsigned>((m_bitmap.getTexture())->getTextureHandle());
|
| - if (!m_webMediaPlayer->copyVideoTextureToPlatformTexture(context3D, textureId, 0, GL_RGBA, GL_UNSIGNED_BYTE, true, false))
|
| - return;
|
| -
|
| - // Draw the texture based bitmap onto the Canvas. If the canvas is hardware based, this will do a GPU-GPU texture copy. If the canvas is software based,
|
| - // the texture based bitmap will be readbacked to system memory then draw onto the canvas.
|
| - SkRect dest;
|
| - dest.set(rect.x(), rect.y(), rect.x() + rect.width(), rect.y() + rect.height());
|
| - SkPaint paint;
|
| - paint.setAlpha(alpha);
|
| - // It is not necessary to pass the dest into the drawBitmap call since all the context have been set up before calling paintCurrentFrameInContext.
|
| - canvas->drawBitmapRect(m_bitmap, NULL, dest, &paint);
|
| -}
|
| -#endif
|
| -
|
| WebMediaPlayerClientImpl::WebMediaPlayerClientImpl(MediaPlayerClient* client)
|
| : m_client(client)
|
| , m_preload(MediaPlayer::Auto)
|
| -#if OS(ANDROID)
|
| - , m_usePaintOnAndroid(false)
|
| -#endif
|
| {
|
| ASSERT(m_client);
|
| }
|
|
|