Title: [174563] trunk/Source/WebCore
Revision
174563
Author
[email protected]
Date
2014-10-09 23:56:34 -0700 (Thu, 09 Oct 2014)

Log Message

MediaPlayer should use a reference for the MediaPlayerClient
https://bugs.webkit.org/show_bug.cgi?id=137552

Reviewed by Darin Adler.

The MediaPlayer client is set on constructor by HTMLMediaElement
and cleared on HTMLMediaElement destructor that also frees the
MediaPlayer object. Since the client will never be null while the
MediaPlayer player is alive, we can use a reference and remove all
the unneeded null checks. The member has also been renamed to m_client.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::MediaPlayer):
(WebCore::MediaPlayer::~MediaPlayer):
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::inMediaDocument):
(WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged):
(WebCore::MediaPlayer::networkStateChanged):
(WebCore::MediaPlayer::readyStateChanged):
(WebCore::MediaPlayer::volumeChanged):
(WebCore::MediaPlayer::muteChanged):
(WebCore::MediaPlayer::timeChanged):
(WebCore::MediaPlayer::sizeChanged):
(WebCore::MediaPlayer::repaint):
(WebCore::MediaPlayer::durationChanged):
(WebCore::MediaPlayer::rateChanged):
(WebCore::MediaPlayer::playbackStateChanged):
(WebCore::MediaPlayer::firstVideoFrameAvailable):
(WebCore::MediaPlayer::characteristicChanged):
(WebCore::MediaPlayer::keyAdded):
(WebCore::MediaPlayer::keyError):
(WebCore::MediaPlayer::keyMessage):
(WebCore::MediaPlayer::keyNeeded):
(WebCore::MediaPlayer::referrer):
(WebCore::MediaPlayer::userAgent):
(WebCore::MediaPlayer::graphicsDeviceAdapter):
(WebCore::MediaPlayer::cachedResourceLoader):
(WebCore::MediaPlayer::addAudioTrack):
(WebCore::MediaPlayer::removeAudioTrack):
(WebCore::MediaPlayer::addTextTrack):
(WebCore::MediaPlayer::removeTextTrack):
(WebCore::MediaPlayer::addVideoTrack):
(WebCore::MediaPlayer::removeVideoTrack):
(WebCore::MediaPlayer::outOfBandTrackSources):
(WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
(WebCore::MediaPlayer::handlePlaybackCommand):
(WebCore::MediaPlayer::sourceApplicationIdentifier):
(WebCore::MediaPlayer::doesHaveAttribute):
(WebCore::MediaPlayer::mediaPlayerNetworkInterfaceName):
(WebCore::MediaPlayer::getRawCookies):
(WebCore::MediaPlayer::setWirelessVideoPlaybackDisabled): Deleted.
(WebCore::MediaPlayer::audioSourceProvider): Deleted.
(WebCore::MediaPlayer::engineDescription): Deleted.
(WebCore::MediaPlayer::notifyTrackModeChanged): Deleted.
(WebCore::MediaPlayer::totalFrameDelay): Deleted.
(WebCore::MediaPlayerFactorySupport::callRegisterMediaEngine): Deleted.
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayer::create):
(WebCore::MediaPlayer::platformVolumeConfigurationRequired):
(WebCore::MediaPlayer::client):
(WebCore::MediaPlayer::mediaPlayerClient): Deleted.
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
(WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
(WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(webKitWebSrcStart):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
(WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
(WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
(WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (174562 => 174563)


--- trunk/Source/WebCore/ChangeLog	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/ChangeLog	2014-10-10 06:56:34 UTC (rev 174563)
@@ -1,3 +1,99 @@
+2014-10-09  Carlos Garcia Campos  <[email protected]>
+
+        MediaPlayer should use a reference for the MediaPlayerClient
+        https://bugs.webkit.org/show_bug.cgi?id=137552
+
+        Reviewed by Darin Adler.
+
+        The MediaPlayer client is set on constructor by HTMLMediaElement
+        and cleared on HTMLMediaElement destructor that also frees the
+        MediaPlayer object. Since the client will never be null while the
+        MediaPlayer player is alive, we can use a reference and remove all
+        the unneeded null checks. The member has also been renamed to m_client.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::~HTMLMediaElement):
+        (WebCore::HTMLMediaElement::parseAttribute):
+        * platform/graphics/MediaPlayer.cpp:
+        (WebCore::MediaPlayer::MediaPlayer):
+        (WebCore::MediaPlayer::~MediaPlayer):
+        (WebCore::MediaPlayer::loadWithNextMediaEngine):
+        (WebCore::MediaPlayer::inMediaDocument):
+        (WebCore::MediaPlayer::currentPlaybackTargetIsWirelessChanged):
+        (WebCore::MediaPlayer::networkStateChanged):
+        (WebCore::MediaPlayer::readyStateChanged):
+        (WebCore::MediaPlayer::volumeChanged):
+        (WebCore::MediaPlayer::muteChanged):
+        (WebCore::MediaPlayer::timeChanged):
+        (WebCore::MediaPlayer::sizeChanged):
+        (WebCore::MediaPlayer::repaint):
+        (WebCore::MediaPlayer::durationChanged):
+        (WebCore::MediaPlayer::rateChanged):
+        (WebCore::MediaPlayer::playbackStateChanged):
+        (WebCore::MediaPlayer::firstVideoFrameAvailable):
+        (WebCore::MediaPlayer::characteristicChanged):
+        (WebCore::MediaPlayer::keyAdded):
+        (WebCore::MediaPlayer::keyError):
+        (WebCore::MediaPlayer::keyMessage):
+        (WebCore::MediaPlayer::keyNeeded):
+        (WebCore::MediaPlayer::referrer):
+        (WebCore::MediaPlayer::userAgent):
+        (WebCore::MediaPlayer::graphicsDeviceAdapter):
+        (WebCore::MediaPlayer::cachedResourceLoader):
+        (WebCore::MediaPlayer::addAudioTrack):
+        (WebCore::MediaPlayer::removeAudioTrack):
+        (WebCore::MediaPlayer::addTextTrack):
+        (WebCore::MediaPlayer::removeTextTrack):
+        (WebCore::MediaPlayer::addVideoTrack):
+        (WebCore::MediaPlayer::removeVideoTrack):
+        (WebCore::MediaPlayer::outOfBandTrackSources):
+        (WebCore::MediaPlayer::shouldWaitForResponseToAuthenticationChallenge):
+        (WebCore::MediaPlayer::handlePlaybackCommand):
+        (WebCore::MediaPlayer::sourceApplicationIdentifier):
+        (WebCore::MediaPlayer::doesHaveAttribute):
+        (WebCore::MediaPlayer::mediaPlayerNetworkInterfaceName):
+        (WebCore::MediaPlayer::getRawCookies):
+        (WebCore::MediaPlayer::setWirelessVideoPlaybackDisabled): Deleted.
+        (WebCore::MediaPlayer::audioSourceProvider): Deleted.
+        (WebCore::MediaPlayer::engineDescription): Deleted.
+        (WebCore::MediaPlayer::notifyTrackModeChanged): Deleted.
+        (WebCore::MediaPlayer::totalFrameDelay): Deleted.
+        (WebCore::MediaPlayerFactorySupport::callRegisterMediaEngine): Deleted.
+        * platform/graphics/MediaPlayer.h:
+        (WebCore::MediaPlayer::create):
+        (WebCore::MediaPlayer::platformVolumeConfigurationRequired):
+        (WebCore::MediaPlayer::client):
+        (WebCore::MediaPlayer::mediaPlayerClient): Deleted.
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+        (WebCore::MediaPlayerPrivateAVFoundation::preferredRenderingMode):
+        (WebCore::MediaPlayerPrivateAVFoundation::setUpVideoRendering):
+        (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering):
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerLayer):
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer):
+        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer):
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties):
+        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
+        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps):
+        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
+        (WebCore::MediaPlayerPrivateGStreamer::didEnd):
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+        (WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint):
+        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+        (webKitWebSrcStart):
+        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
+        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
+        (WebCore::MediaPlayerPrivateQTKit::setUpVideoRendering):
+        (WebCore::MediaPlayerPrivateQTKit::prepareForRendering):
+        (WebCore::MediaPlayerPrivateQTKit::sawUnsupportedTracks):
+
 2014-10-09  Mihnea Ovidenie  <[email protected]>
 
         [CSSRegions] Make RenderFlowThread::regionAtBlockOffset const

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (174562 => 174563)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2014-10-10 06:56:34 UTC (rev 174563)
@@ -419,8 +419,6 @@
 #endif
 
     m_completelyLoaded = true;
-    if (m_player)
-        m_player->clearMediaPlayerClient();
 }
 
 void HTMLMediaElement::registerWithDocument(Document& document)
@@ -5323,7 +5321,7 @@
 #if ENABLE(VIDEO_TRACK)
     forgetResourceSpecificTracks();
 #endif
-    m_player = MediaPlayer::create(this);
+    m_player = MediaPlayer::create(*this);
 
 #if ENABLE(WEB_AUDIO)
     if (m_audioSourceNode) {

Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp (174562 => 174563)


--- trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp	2014-10-10 06:56:34 UTC (rev 174563)
@@ -305,8 +305,8 @@
 
 // media player
 
-MediaPlayer::MediaPlayer(MediaPlayerClient* client)
-    : m_mediaPlayerClient(client)
+MediaPlayer::MediaPlayer(MediaPlayerClient& client)
+    : m_client(client)
     , m_reloadTimer(this, &MediaPlayer::reloadTimerFired)
     , m_private(createNullMediaPlayer(this))
     , m_currentMediaEngine(0)
@@ -324,7 +324,6 @@
 
 MediaPlayer::~MediaPlayer()
 {
-    m_mediaPlayerClient = 0;
 }
 
 bool MediaPlayer::load(const URL& url, const ContentType& contentType, const String& keySystem)
@@ -411,8 +410,7 @@
     } else if (m_currentMediaEngine != engine) {
         m_currentMediaEngine = engine;
         m_private = engine->constructor(this);
-        if (m_mediaPlayerClient)
-            m_mediaPlayerClient->mediaPlayerEngineUpdated(this);
+        m_client.mediaPlayerEngineUpdated(this);
         m_private->setPrivateBrowsingMode(m_privateBrowsing);
         m_private->setPreload(m_preload);
         m_private->setPreservesPitch(preservesPitch());
@@ -429,10 +427,8 @@
         m_private->load(m_url.string());
     } else {
         m_private = createNullMediaPlayer(this);
-        if (m_mediaPlayerClient) {
-            m_mediaPlayerClient->mediaPlayerEngineUpdated(this);
-            m_mediaPlayerClient->mediaPlayerResourceNotSupported(this);
-        }
+        m_client.mediaPlayerEngineUpdated(this);
+        m_client.mediaPlayerResourceNotSupported(this);
     }
 }
 
@@ -588,7 +584,7 @@
 
 bool MediaPlayer::inMediaDocument() const
 {
-    return m_visible && m_mediaPlayerClient && m_mediaPlayerClient->mediaPlayerIsInMediaDocument();
+    return m_visible && m_client.mediaPlayerIsInMediaDocument();
 }
 
 PlatformMedia MediaPlayer::platformMedia() const
@@ -873,8 +869,7 @@
 
 void MediaPlayer::currentPlaybackTargetIsWirelessChanged()
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerCurrentPlaybackTargetIsWirelessChanged(this);
+    m_client.mediaPlayerCurrentPlaybackTargetIsWirelessChanged(this);
 }
 #endif
 
@@ -1027,14 +1022,12 @@
             return;
         }
     }
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerNetworkStateChanged(this);
+    m_client.mediaPlayerNetworkStateChanged(this);
 }
 
 void MediaPlayer::readyStateChanged()
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerReadyStateChanged(this);
+    m_client.mediaPlayerReadyStateChanged(this);
 }
 
 void MediaPlayer::volumeChanged(double newVolume)
@@ -1045,63 +1038,53 @@
 #else
     m_volume = newVolume;
 #endif
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerVolumeChanged(this);
+    m_client.mediaPlayerVolumeChanged(this);
 }
 
 void MediaPlayer::muteChanged(bool newMuted)
 {
     m_muted = newMuted;
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerMuteChanged(this);
+    m_client.mediaPlayerMuteChanged(this);
 }
 
 void MediaPlayer::timeChanged()
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerTimeChanged(this);
+    m_client.mediaPlayerTimeChanged(this);
 }
 
 void MediaPlayer::sizeChanged()
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerSizeChanged(this);
+    m_client.mediaPlayerSizeChanged(this);
 }
 
 void MediaPlayer::repaint()
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerRepaint(this);
+    m_client.mediaPlayerRepaint(this);
 }
 
 void MediaPlayer::durationChanged()
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerDurationChanged(this);
+    m_client.mediaPlayerDurationChanged(this);
 }
 
 void MediaPlayer::rateChanged()
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerRateChanged(this);
+    m_client.mediaPlayerRateChanged(this);
 }
 
 void MediaPlayer::playbackStateChanged()
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerPlaybackStateChanged(this);
+    m_client.mediaPlayerPlaybackStateChanged(this);
 }
 
 void MediaPlayer::firstVideoFrameAvailable()
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerFirstVideoFrameAvailable(this);
+    m_client.mediaPlayerFirstVideoFrameAvailable(this);
 }
 
 void MediaPlayer::characteristicChanged()
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerCharacteristicChanged(this);
+    m_client.mediaPlayerCharacteristicChanged(this);
 }
 
 #if ENABLE(WEB_AUDIO)
@@ -1114,53 +1097,40 @@
 #if ENABLE(ENCRYPTED_MEDIA)
 void MediaPlayer::keyAdded(const String& keySystem, const String& sessionId)
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerKeyAdded(this, keySystem, sessionId);
+    m_client.mediaPlayerKeyAdded(this, keySystem, sessionId);
 }
 
 void MediaPlayer::keyError(const String& keySystem, const String& sessionId, MediaPlayerClient::MediaKeyErrorCode errorCode, unsigned short systemCode)
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerKeyError(this, keySystem, sessionId, errorCode, systemCode);
+    m_client.mediaPlayerKeyError(this, keySystem, sessionId, errorCode, systemCode);
 }
 
 void MediaPlayer::keyMessage(const String& keySystem, const String& sessionId, const unsigned char* message, unsigned messageLength, const URL& defaultURL)
 {
-    if (m_mediaPlayerClient)
-        m_mediaPlayerClient->mediaPlayerKeyMessage(this, keySystem, sessionId, message, messageLength, defaultURL);
+    m_client.mediaPlayerKeyMessage(this, keySystem, sessionId, message, messageLength, defaultURL);
 }
 
 bool MediaPlayer::keyNeeded(const String& keySystem, const String& sessionId, const unsigned char* initData, unsigned initDataLength)
 {
-    if (m_mediaPlayerClient)
-        return m_mediaPlayerClient->mediaPlayerKeyNeeded(this, keySystem, sessionId, initData, initDataLength);
-    return false;
+    return m_client.mediaPlayerKeyNeeded(this, keySystem, sessionId, initData, initDataLength);
 }
 #endif
 
 #if ENABLE(ENCRYPTED_MEDIA_V2)
 bool MediaPlayer::keyNeeded(Uint8Array* initData)
 {
-    if (m_mediaPlayerClient)
-        return m_mediaPlayerClient->mediaPlayerKeyNeeded(this, initData);
-    return false;
+    return m_client.mediaPlayerKeyNeeded(this, initData);
 }
 #endif
 
 String MediaPlayer::referrer() const
 {
-    if (!m_mediaPlayerClient)
-        return String();
-
-    return m_mediaPlayerClient->mediaPlayerReferrer();
+    return m_client.mediaPlayerReferrer();
 }
 
 String MediaPlayer::userAgent() const
 {
-    if (!m_mediaPlayerClient)
-        return String();
-    
-    return m_mediaPlayerClient->mediaPlayerUserAgent();
+    return m_client.mediaPlayerUserAgent();
 }
 
 String MediaPlayer::engineDescription() const
@@ -1174,68 +1144,44 @@
 #if PLATFORM(WIN) && USE(AVFOUNDATION)
 GraphicsDeviceAdapter* MediaPlayer::graphicsDeviceAdapter() const
 {
-    if (!m_mediaPlayerClient)
-        return 0;
-    
-    return m_mediaPlayerClient->mediaPlayerGraphicsDeviceAdapter(this);
+    return m_client.mediaPlayerGraphicsDeviceAdapter(this);
 }
 #endif
 
 CachedResourceLoader* MediaPlayer::cachedResourceLoader()
 {
-    if (!m_mediaPlayerClient)
-        return 0;
-
-    return m_mediaPlayerClient->mediaPlayerCachedResourceLoader();
+    return m_client.mediaPlayerCachedResourceLoader();
 }
 
 #if ENABLE(VIDEO_TRACK)
 void MediaPlayer::addAudioTrack(PassRefPtr<AudioTrackPrivate> track)
 {
-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient->mediaPlayerDidAddAudioTrack(track);
+    m_client.mediaPlayerDidAddAudioTrack(track);
 }
 
 void MediaPlayer::removeAudioTrack(PassRefPtr<AudioTrackPrivate> track)
 {
-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient->mediaPlayerDidRemoveAudioTrack(track);
+    m_client.mediaPlayerDidRemoveAudioTrack(track);
 }
 
 void MediaPlayer::addTextTrack(PassRefPtr<InbandTextTrackPrivate> track)
 {
-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient->mediaPlayerDidAddTextTrack(track);
+    m_client.mediaPlayerDidAddTextTrack(track);
 }
 
 void MediaPlayer::removeTextTrack(PassRefPtr<InbandTextTrackPrivate> track)
 {
-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient->mediaPlayerDidRemoveTextTrack(track);
+    m_client.mediaPlayerDidRemoveTextTrack(track);
 }
 
 void MediaPlayer::addVideoTrack(PassRefPtr<VideoTrackPrivate> track)
 {
-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient->mediaPlayerDidAddVideoTrack(track);
+    m_client.mediaPlayerDidAddVideoTrack(track);
 }
 
 void MediaPlayer::removeVideoTrack(PassRefPtr<VideoTrackPrivate> track)
 {
-    if (!m_mediaPlayerClient)
-        return;
-
-    m_mediaPlayerClient->mediaPlayerDidRemoveVideoTrack(track);
+    m_client.mediaPlayerDidRemoveVideoTrack(track);
 }
 
 bool MediaPlayer::requiresTextTrackRepresentation() const
@@ -1262,10 +1208,7 @@
 
 Vector<RefPtr<PlatformTextTrack>> MediaPlayer::outOfBandTrackSources()
 {
-    if (!m_mediaPlayerClient)
-        return Vector<RefPtr<PlatformTextTrack>> ();
-    
-    return m_mediaPlayerClient->outOfBandTrackSources();
+    return m_client.outOfBandTrackSources();
 }
 #endif
 
@@ -1358,26 +1301,17 @@
 
 bool MediaPlayer::shouldWaitForResponseToAuthenticationChallenge(const AuthenticationChallenge& challenge)
 {
-    if (!m_mediaPlayerClient)
-        return false;
-
-    return m_mediaPlayerClient->mediaPlayerShouldWaitForResponseToAuthenticationChallenge(challenge);
+    return m_client.mediaPlayerShouldWaitForResponseToAuthenticationChallenge(challenge);
 }
-    
+
 void MediaPlayer::handlePlaybackCommand(MediaSession::RemoteControlCommandType command)
 {
-    if (!m_mediaPlayerClient)
-        return;
-    
-    m_mediaPlayerClient->mediaPlayerHandlePlaybackCommand(command);
+    m_client.mediaPlayerHandlePlaybackCommand(command);
 }
 
 String MediaPlayer::sourceApplicationIdentifier() const
 {
-    if (!m_mediaPlayerClient)
-        return emptyString();
-
-    return m_mediaPlayerClient->mediaPlayerSourceApplicationIdentifier();
+    return m_client.mediaPlayerSourceApplicationIdentifier();
 }
 
 void MediaPlayerFactorySupport::callRegisterMediaEngine(MediaEngineRegister registerMediaEngine)
@@ -1387,27 +1321,18 @@
 
 bool MediaPlayer::doesHaveAttribute(const AtomicString& attribute, AtomicString* value) const
 {
-    if (!m_mediaPlayerClient)
-        return false;
-    
-    return m_mediaPlayerClient->doesHaveAttribute(attribute, value);
+    return m_client.doesHaveAttribute(attribute, value);
 }
 
 #if PLATFORM(IOS)
 String MediaPlayer::mediaPlayerNetworkInterfaceName() const
 {
-    if (!m_mediaPlayerClient)
-        return emptyString();
-
-    return m_mediaPlayerClient->mediaPlayerNetworkInterfaceName();
+    return m_client.mediaPlayerNetworkInterfaceName();
 }
 
 bool MediaPlayer::getRawCookies(const URL& url, Vector<Cookie>& cookies) const
 {
-    if (!m_mediaPlayerClient)
-        return false;
-
-    return m_mediaPlayerClient->mediaPlayerGetRawCookies(url, cookies);
+    return m_client.mediaPlayerGetRawCookies(url, cookies);
 }
 #endif
 

Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.h (174562 => 174563)


--- trunk/Source/WebCore/platform/graphics/MediaPlayer.h	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.h	2014-10-10 06:56:34 UTC (rev 174563)
@@ -279,7 +279,7 @@
     WTF_MAKE_NONCOPYABLE(MediaPlayer); WTF_MAKE_FAST_ALLOCATED;
 public:
 
-    static PassOwnPtr<MediaPlayer> create(MediaPlayerClient* client)
+    static PassOwnPtr<MediaPlayer> create(MediaPlayerClient& client)
     {
         return adoptPtr(new MediaPlayer(client));
     }
@@ -380,7 +380,7 @@
 
     double volume() const;
     void setVolume(double);
-    bool platformVolumeConfigurationRequired() const { return m_mediaPlayerClient->mediaPlayerPlatformVolumeConfigurationRequired(); }
+    bool platformVolumeConfigurationRequired() const { return m_client.mediaPlayerPlatformVolumeConfigurationRequired(); }
 
     bool muted() const;
     void setMuted(bool);
@@ -438,8 +438,7 @@
 
     void repaint();
 
-    MediaPlayerClient* mediaPlayerClient() const { return m_mediaPlayerClient; }
-    void clearMediaPlayerClient() { m_mediaPlayerClient = 0; }
+    MediaPlayerClient& client() const { return m_client; }
 
     bool hasAvailableVideoFrame() const;
     void prepareForRendering();
@@ -578,14 +577,14 @@
     String sourceApplicationIdentifier() const;
 
 private:
-    MediaPlayer(MediaPlayerClient*);
+    MediaPlayer(MediaPlayerClient&);
     MediaPlayerFactory* nextBestMediaEngine(MediaPlayerFactory*) const;
     void loadWithNextMediaEngine(MediaPlayerFactory*);
     void reloadTimerFired(Timer<MediaPlayer>&);
 
     static void initializeMediaEngines();
 
-    MediaPlayerClient* m_mediaPlayerClient;
+    MediaPlayerClient& m_client;
     Timer<MediaPlayer> m_reloadTimer;
     OwnPtr<MediaPlayerPrivateInterface> m_private;
     MediaPlayerFactory* m_currentMediaEngine;

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp (174562 => 174563)


--- trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp	2014-10-10 06:56:34 UTC (rev 174563)
@@ -105,7 +105,7 @@
     if (!m_player->visible() || assetStatus() == MediaPlayerAVAssetStatusUnknown)
         return MediaRenderingNone;
 
-    if (supportsAcceleratedRendering() && m_player->mediaPlayerClient()->mediaPlayerRenderingCanBeAccelerated(m_player))
+    if (supportsAcceleratedRendering() && m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player))
         return MediaRenderingToLayer;
 
     return MediaRenderingToContext;
@@ -145,7 +145,7 @@
     // 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);
+        m_player->client().mediaPlayerRenderingModeChanged(m_player);
     }
 }
 
@@ -458,7 +458,7 @@
     setUpVideoRendering();
 
     if (currentRenderingMode() == MediaRenderingToLayer || preferredRenderingMode() == MediaRenderingToLayer)
-        m_player->mediaPlayerClient()->mediaPlayerRenderingModeChanged(m_player);
+        m_player->client().mediaPlayerRenderingModeChanged(m_player);
 }
 
 bool MediaPlayerPrivateAVFoundation::supportsFullscreen() const

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (174562 => 174563)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm	2014-10-10 06:56:34 UTC (rev 174563)
@@ -582,7 +582,7 @@
         if (!m_videoLayer)
             createAVPlayerLayer();
 
-        player()->mediaPlayerClient()->mediaPlayerRenderingModeChanged(player());
+        player()->client().mediaPlayerRenderingModeChanged(player());
     });
 }
 
@@ -599,7 +599,7 @@
 #endif
     [m_videoLayer addObserver:m_objcObserver.get() forKeyPath:@"readyForDisplay" options:NSKeyValueObservingOptionNew context:(void *)MediaPlayerAVFoundationObservationContextAVPlayerLayer];
     updateVideoLayerGravity();
-    IntSize defaultSize = player()->mediaPlayerClient() ? player()->mediaPlayerClient()->mediaPlayerContentBoxRect().pixelSnappedSize() : IntSize();
+    IntSize defaultSize = player()->client().mediaPlayerContentBoxRect().pixelSnappedSize();
     LOG(Media, "MediaPlayerPrivateAVFoundationObjC::createVideoLayer(%p) - returning %p", this, m_videoLayer.get());
 
 #if PLATFORM(IOS)
@@ -865,7 +865,7 @@
     [m_avPlayer.get() setAllowsExternalPlayback:m_allowsWirelessVideoPlayback];
 #endif
 
-    if (player()->mediaPlayerClient() && player()->mediaPlayerClient()->mediaPlayerIsVideo())
+    if (player()->client().mediaPlayerIsVideo())
         createAVPlayerLayer();
 
     if (m_avPlayerItem)

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm (174562 => 174563)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm	2014-10-10 06:56:34 UTC (rev 174563)
@@ -537,7 +537,7 @@
 
 void MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged()
 {
-    if (m_player->mediaPlayerClient()->mediaPlayerRenderingCanBeAccelerated(m_player))
+    if (m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player))
         ensureLayer();
     else
         destroyLayer();
@@ -720,7 +720,7 @@
 
     m_sampleBufferDisplayLayer = displayLayer;
     [m_synchronizer addRenderer:m_sampleBufferDisplayLayer.get()];
-    m_player->mediaPlayerClient()->mediaPlayerRenderingModeChanged(m_player);
+    m_player->client().mediaPlayerRenderingModeChanged(m_player);
 
     // FIXME: move this somewhere appropriate:
     m_player->firstVideoFrameAvailable();
@@ -737,7 +737,7 @@
     }];
 
     m_sampleBufferDisplayLayer = nullptr;
-    m_player->mediaPlayerClient()->mediaPlayerRenderingModeChanged(m_player);
+    m_player->client().mediaPlayerRenderingModeChanged(m_player);
 }
 
 void MediaPlayerPrivateMediaSourceAVFObjC::addAudioRenderer(AVSampleBufferAudioRenderer* audioRenderer)
@@ -751,7 +751,7 @@
     [audioRenderer setVolume:m_player->volume()];
 
     [m_synchronizer addRenderer:audioRenderer];
-    m_player->mediaPlayerClient()->mediaPlayerRenderingModeChanged(m_player);
+    m_player->client().mediaPlayerRenderingModeChanged(m_player);
 }
 
 void MediaPlayerPrivateMediaSourceAVFObjC::removeAudioRenderer(AVSampleBufferAudioRenderer* audioRenderer)
@@ -766,7 +766,7 @@
     }];
 
     m_sampleBufferAudioRenderers.remove(pos);
-    m_player->mediaPlayerClient()->mediaPlayerRenderingModeChanged(m_player);
+    m_player->client().mediaPlayerRenderingModeChanged(m_player);
 }
 
 }

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp (174562 => 174563)


--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp	2014-10-10 06:56:34 UTC (rev 174563)
@@ -130,8 +130,7 @@
     if (g_strcmp0(G_OBJECT_TYPE_NAME(object), "GstPulseSink"))
         return;
 
-    const char* role = m_player->mediaPlayerClient() && m_player->mediaPlayerClient()->mediaPlayerIsVideo()
-        ? "video" : "music";
+    const char* role = m_player->client().mediaPlayerIsVideo() ? "video" : "music";
     GstStructure* structure = gst_structure_new("stream-properties", "media.role", G_TYPE_STRING, role, NULL);
     g_object_set(object, "stream-properties", structure, NULL);
     gst_structure_free(structure);
@@ -681,13 +680,13 @@
     }
 #endif
 
-    m_player->mediaPlayerClient()->mediaPlayerEngineUpdated(m_player);
+    m_player->client().mediaPlayerEngineUpdated(m_player);
 }
 
 void MediaPlayerPrivateGStreamer::notifyPlayerOfVideoCaps()
 {
     m_videoSize = IntSize();
-    m_player->mediaPlayerClient()->mediaPlayerEngineUpdated(m_player);
+    m_player->client().mediaPlayerEngineUpdated(m_player);
 }
 
 void MediaPlayerPrivateGStreamer::audioChanged()
@@ -729,7 +728,7 @@
     }
 #endif
 
-    m_player->mediaPlayerClient()->mediaPlayerEngineUpdated(m_player);
+    m_player->client().mediaPlayerEngineUpdated(m_player);
 }
 
 #if ENABLE(VIDEO_TRACK)
@@ -1609,7 +1608,7 @@
     m_isEndReached = true;
     timeChanged();
 
-    if (!m_player->mediaPlayerClient()->mediaPlayerIsLooping()) {
+    if (!m_player->client().mediaPlayerIsLooping()) {
         m_paused = true;
         changePipelineState(GST_STATE_READY);
         m_downloadFinished = false;

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp (174562 => 174563)


--- trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp	2014-10-10 06:56:34 UTC (rev 174563)
@@ -330,7 +330,7 @@
     }
 
 #if USE(TEXTURE_MAPPER_GL) && !USE(COORDINATED_GRAPHICS)
-    if (supportsAcceleratedRendering() && m_player->mediaPlayerClient()->mediaPlayerRenderingCanBeAccelerated(m_player) && client()) {
+    if (supportsAcceleratedRendering() && m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player) && client()) {
         client()->setPlatformLayerNeedsDisplay();
         return;
     }

Modified: trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp (174562 => 174563)


--- trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp	2014-10-10 06:56:34 UTC (rev 174563)
@@ -495,7 +495,7 @@
 
     if (priv->player) {
         if (CachedResourceLoader* loader = priv->player->cachedResourceLoader())
-            priv->client = new CachedResourceStreamingClient(src, loader, request, priv->player->mediaPlayerClient()->mediaPlayerCORSMode());
+            priv->client = new CachedResourceStreamingClient(src, loader, request, priv->player->client().mediaPlayerCORSMode());
     }
 
     if (!priv->client)

Modified: trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm (174562 => 174563)


--- trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm	2014-10-10 06:45:36 UTC (rev 174562)
+++ trunk/Source/WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm	2014-10-10 06:56:34 UTC (rev 174563)
@@ -462,7 +462,7 @@
     if (!m_qtMovie)
         return MediaRenderingNone;
 
-    if (supportsAcceleratedRendering() && m_player->mediaPlayerClient()->mediaPlayerRenderingCanBeAccelerated(m_player))
+    if (supportsAcceleratedRendering() && m_player->client().mediaPlayerRenderingCanBeAccelerated(m_player))
         return MediaRenderingMovieLayer;
 
     if (!QTVideoRendererClass())
@@ -497,7 +497,7 @@
 
     // If using a movie layer, inform the client so the compositing tree is updated.
     if (currentMode == MediaRenderingMovieLayer || preferredMode == MediaRenderingMovieLayer)
-        m_player->mediaPlayerClient()->mediaPlayerRenderingModeChanged(m_player);
+        m_player->client().mediaPlayerRenderingModeChanged(m_player);
 }
 
 void MediaPlayerPrivateQTKit::tearDownVideoRendering()
@@ -930,7 +930,7 @@
     // If using a movie layer, inform the client so the compositing tree is updated. This is crucial if the movie
     // has a poster, as it will most likely not have a layer and we will now be rendering frames to the movie layer.
     if (currentRenderingMode() == MediaRenderingMovieLayer || preferredRenderingMode() == MediaRenderingMovieLayer)
-        m_player->mediaPlayerClient()->mediaPlayerRenderingModeChanged(m_player);
+        m_player->client().mediaPlayerRenderingModeChanged(m_player);
 }
 
 void MediaPlayerPrivateQTKit::updateStates()
@@ -1445,7 +1445,7 @@
 void MediaPlayerPrivateQTKit::sawUnsupportedTracks()
 {
     m_hasUnsupportedTracks = true;
-    m_player->mediaPlayerClient()->mediaPlayerSawUnsupportedTracks(m_player);
+    m_player->client().mediaPlayerSawUnsupportedTracks(m_player);
 }
 
 bool MediaPlayerPrivateQTKit::supportsAcceleratedRendering() const
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to