void MediaPlayerPrivateAVFoundation::setVisible(bool visible) { if (m_visible == visible) return; m_visible = visible; if (visible) setUpVideoRendering(); else tearDownVideoRendering(); }
void MediaPlayerPrivateAVFoundation::setUpVideoRendering() { if (!isReadyForVideoSetup()) return; MediaRenderingMode currentMode = currentRenderingMode(); MediaRenderingMode preferredMode = preferredRenderingMode(); if (preferredMode == MediaRenderingNone) preferredMode = MediaRenderingToContext; if (currentMode == preferredMode && currentMode != MediaRenderingNone) return; LOG(Media, "MediaPlayerPrivateAVFoundation::setUpVideoRendering(%p) - current mode = %d, preferred mode = %d", this, static_cast<int>(currentMode), static_cast<int>(preferredMode)); if (currentMode != MediaRenderingNone) tearDownVideoRendering(); switch (preferredMode) { case MediaRenderingNone: case MediaRenderingToContext: createContextVideoRenderer(); break; #if USE(ACCELERATED_COMPOSITING) case MediaRenderingToLayer: createVideoLayer(); break; #endif } #if USE(ACCELERATED_COMPOSITING) // If using a movie layer, inform the client so the compositing tree is updated. if (currentMode == MediaRenderingToLayer || preferredMode == MediaRenderingToLayer) { LOG(Media, "MediaPlayerPrivateAVFoundation::setUpVideoRendering(%p) - calling mediaPlayerRenderingModeChanged()", this); m_player->mediaPlayerClient()->mediaPlayerRenderingModeChanged(m_player); } #endif }