Title: [187164] trunk/Source/WebCore
Revision
187164
Author
commit-qu...@webkit.org
Date
2015-07-22 10:17:12 -0700 (Wed, 22 Jul 2015)

Log Message

Remove revealing getVideoTracks() and getAudioTracks()
https://bugs.webkit.org/show_bug.cgi?id=147126
<rdar://problem/21908723>

Patch by Matthew Daiter <mdai...@apple.com> on 2015-07-22
Reviewed by Eric Carlson.

* Modules/mediastream/MediaStream.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Modded to use
tracks() instead of getVideo/AudioTracks()
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformLayer): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pauseInternal): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::naturalSize): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasVideo): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasAudio): Ditto
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime):
Changed to a FIXME
* platform/mediastream/MediaStreamPrivate.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (187163 => 187164)


--- trunk/Source/WebCore/ChangeLog	2015-07-22 17:12:58 UTC (rev 187163)
+++ trunk/Source/WebCore/ChangeLog	2015-07-22 17:17:12 UTC (rev 187164)
@@ -1,5 +1,30 @@
 2015-07-22  Matthew Daiter  <mdai...@apple.com>
 
+        Remove revealing getVideoTracks() and getAudioTracks()
+        https://bugs.webkit.org/show_bug.cgi?id=147126
+        <rdar://problem/21908723>
+
+        Reviewed by Eric Carlson.
+
+        * Modules/mediastream/MediaStream.h:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Modded to use
+        tracks() instead of getVideo/AudioTracks()
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformLayer): Ditto
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal): Ditto
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pauseInternal): Ditto
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted): Ditto
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::naturalSize): Ditto
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasVideo): Ditto
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasAudio): Ditto
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime):
+        Changed to a FIXME
+        * platform/mediastream/MediaStreamPrivate.h:
+
+2015-07-22  Matthew Daiter  <mdai...@apple.com>
+
         Ensure MediaPlayerPrivateAVFoundation doesn't load MediaStreams
         https://bugs.webkit.org/show_bug.cgi?id=147119
         <rdar://problem/21904955>

Modified: trunk/Source/WebCore/Modules/mediastream/MediaStream.h (187163 => 187164)


--- trunk/Source/WebCore/Modules/mediastream/MediaStream.h	2015-07-22 17:12:58 UTC (rev 187163)
+++ trunk/Source/WebCore/Modules/mediastream/MediaStream.h	2015-07-22 17:17:12 UTC (rev 187164)
@@ -64,8 +64,8 @@
     void removeTrack(MediaStreamTrack*);
     MediaStreamTrack* getTrackById(String);
 
-    Vector<RefPtr<MediaStreamTrack>> getAudioTracks() override final;
-    Vector<RefPtr<MediaStreamTrack>> getVideoTracks() override final;
+    Vector<RefPtr<MediaStreamTrack>> getAudioTracks();
+    Vector<RefPtr<MediaStreamTrack>> getVideoTracks();
     Vector<RefPtr<MediaStreamTrack>> getTracks() const;
 
     RefPtr<MediaStream> clone();

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h (187163 => 187164)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h	2015-07-22 17:12:58 UTC (rev 187163)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h	2015-07-22 17:17:12 UTC (rev 187164)
@@ -81,7 +81,7 @@
     void load(const String&, MediaSourcePrivateClient*) override { };
 #endif
 #if ENABLE(MEDIA_STREAM)
-    void load(MediaStreamPrivate*) override;
+    void load(MediaStreamPrivate&) override;
 #endif
     void cancelLoad() override;
 
@@ -151,6 +151,7 @@
     WeakPtrFactory<MediaPlayerPrivateMediaStreamAVFObjC> m_weakPtrFactory;
     RefPtr<MediaStreamPrivateAVFObjC> m_MediaStreamPrivate;
     RetainPtr<AVAsset> m_asset;
+    RetainPtr<AVCaptureVideoPreviewLayer> m_previewLayer;
     RetainPtr<AVSampleBufferDisplayLayer> m_sampleBufferDisplayLayer;
     Vector<RetainPtr<AVSampleBufferAudioRenderer>> m_sampleBufferAudioRenderers;
     RetainPtr<AVSampleBufferRenderSynchronizer> m_synchronizer;

Modified: trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm (187163 => 187164)


--- trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm	2015-07-22 17:12:58 UTC (rev 187163)
+++ trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm	2015-07-22 17:17:12 UTC (rev 187164)
@@ -78,6 +78,7 @@
     , m_seekCompleted(true)
     , m_loadingProgressed(false)
 {
+
 }
 
 MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC()
@@ -132,24 +133,21 @@
 #pragma mark -
 #pragma mark MediaPlayerPrivateInterface Overrides
 
-void MediaPlayerPrivateMediaStreamAVFObjC::load(MediaStreamPrivate* client)
+void MediaPlayerPrivateMediaStreamAVFObjC::load(MediaStreamPrivate& client)
 {
-    m_MediaStreamPrivate = MediaStreamPrivateAVFObjC::create(this, client->client());
-    for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) {
-        client->addTrack(&track->privateTrack(), MediaStreamPrivate::NotifyClientOption::DontNotify);
-        client->client()->didAddTrackToPrivate(track->privateTrack());
-        if (track->readyState() == "live") {
+    m_MediaStreamPrivate = MediaStreamPrivateAVFObjC::create(*this, *client.client());
+    for (auto track : client.tracks()) {
+        m_MediaStreamPrivate->addTrack(WTF::move(track), MediaStreamPrivate::NotifyClientOption::DontNotify);
+        m_MediaStreamPrivate->client()->didAddTrackToPrivate(*track);
+        if (!track->ended()) {
             track->source()->startProducingData();
             track->setEnabled(true);
         }
     }
-    for (auto track : m_MediaStreamPrivate->client()->getAudioTracks()) {
-        client->addTrack(&track->privateTrack(), MediaStreamPrivate::NotifyClientOption::DontNotify);
-        client->client()->didAddTrackToPrivate(track->privateTrack());
-        if (track->readyState() == "live") {
-            track->source()->startProducingData();
-            track->setEnabled(true);
-        }
+    m_previewLayer = nullptr;
+    for (auto track : m_MediaStreamPrivate->tracks()) {
+        if (track->type() == RealtimeMediaSource::Type::Video)
+            m_previewLayer = static_cast<AVVideoCaptureSource*>(track->source())->previewLayer();
     }
     m_player->client().mediaPlayerRenderingModeChanged(m_player);
 }
@@ -172,14 +170,9 @@
 
 PlatformLayer* MediaPlayerPrivateMediaStreamAVFObjC::platformLayer() const
 {
-    if (!m_MediaStreamPrivate)
-        return MediaPlayerPrivateInterface::platformLayer();
-    for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) {
-        // FIXME(146858): Just grab the first webcam for now, we can manage more later
-        AVVideoCaptureSource* capture = (AVVideoCaptureSource*)track->source();
-        return (PlatformLayer*)[getAVCaptureVideoPreviewLayerClass() layerWithSession:capture->session()];
-    }
-    return MediaPlayerPrivateInterface::platformLayer();
+    if (!m_previewLayer)
+        return nullptr;
+    return static_cast<PlatformLayer*>(m_previewLayer);
 }
 
 void MediaPlayerPrivateMediaStreamAVFObjC::play()
@@ -198,10 +191,8 @@
     if (shouldBePlaying())
         [m_synchronizer setRate:m_rate];
 
-    for (auto track : m_MediaStreamPrivate->client()->getVideoTracks())
+    for (auto track : m_MediaStreamPrivate->tracks())
         track->source()->startProducingData();
-    for (auto track : m_MediaStreamPrivate->client()->getAudioTracks())
-        track->source()->startProducingData();
 }
 
 void MediaPlayerPrivateMediaStreamAVFObjC::pause()
@@ -218,10 +209,8 @@
 {
     m_playing = false;
 
-    for (auto track : m_MediaStreamPrivate->client()->getVideoTracks())
+    for (auto track : m_MediaStreamPrivate->tracks())
         track->source()->stopProducingData();
-    for (auto track : m_MediaStreamPrivate->client()->getAudioTracks())
-        track->source()->stopProducingData();
 }
 
 bool MediaPlayerPrivateMediaStreamAVFObjC::paused() const
@@ -241,20 +230,24 @@
 
 void MediaPlayerPrivateMediaStreamAVFObjC::setMuted(bool muted)
 {
-    for (auto track : m_MediaStreamPrivate->client()->getAudioTracks())
-        track->source()->setMuted(muted);
+    for (auto track : m_MediaStreamPrivate->tracks()) {
+        if (track->type() == RealtimeMediaSource::Type::Audio)
+            track->source()->setMuted(muted);
+    }
 }
 
 FloatSize MediaPlayerPrivateMediaStreamAVFObjC::naturalSize() const
 {
-    FloatSize floatSize;
-    for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) {
-        AVVideoCaptureSource* source = (AVVideoCaptureSource*)track->source();
-        if (!source->stopped() && track->enabled()) {
-            if (source->width() > floatSize.width())
-                floatSize.setWidth(source->width());
-            if (source->height() > floatSize.height())
-                floatSize.setHeight(source->height());
+    FloatSize floatSize(0, 0);
+    for (auto track : m_MediaStreamPrivate->tracks()) {
+        if (track->type() == RealtimeMediaSource::Type::Video) {
+            AVVideoCaptureSource* source = (AVVideoCaptureSource*)track->source();
+            if (!source->stopped() && track->enabled()) {
+                if (source->width() > floatSize.width())
+                    floatSize.setWidth(source->width());
+                if (source->height() > floatSize.height())
+                    floatSize.setHeight(source->height());
+            }
         }
     }
     return floatSize;
@@ -262,12 +255,20 @@
 
 bool MediaPlayerPrivateMediaStreamAVFObjC::hasVideo() const
 {
-    return !m_MediaStreamPrivate->client()->getVideoTracks().isEmpty();
+    for (auto track : m_MediaStreamPrivate->tracks()) {
+        if (track->type() == RealtimeMediaSource::Type::Video)
+            return true;
+    }
+    return false;
 }
 
 bool MediaPlayerPrivateMediaStreamAVFObjC::hasAudio() const
 {
-    return !m_MediaStreamPrivate->client()->getAudioTracks().isEmpty();
+    for (auto track : m_MediaStreamPrivate->tracks()) {
+        if (track->type() == RealtimeMediaSource::Type::Audio)
+            return true;
+    }
+    return false;
 }
 
 void MediaPlayerPrivateMediaStreamAVFObjC::setVisible(bool)
@@ -282,10 +283,8 @@
 
 MediaTime MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime() const
 {
-    MediaTime synchronizerTime = toMediaTime(CMTimebaseGetTime([m_synchronizer timebase]));
-    if (synchronizerTime < MediaTime::zeroTime())
-        return MediaTime::zeroTime();
-    return synchronizerTime;
+    // FIXME(147125): Must implement this later
+    return MediaTime::zeroTime();
 }
 
 bool MediaPlayerPrivateMediaStreamAVFObjC::seeking() const

Modified: trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h (187163 => 187164)


--- trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h	2015-07-22 17:12:58 UTC (rev 187163)
+++ trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h	2015-07-22 17:17:12 UTC (rev 187164)
@@ -53,8 +53,6 @@
     virtual void activeStatusChanged() = 0;
     virtual void didAddTrackToPrivate(MediaStreamTrackPrivate&) = 0;
     virtual void didRemoveTrackFromPrivate(MediaStreamTrackPrivate&) = 0;
-    virtual Vector<RefPtr<MediaStreamTrack>> getVideoTracks() = 0;
-    virtual Vector<RefPtr<MediaStreamTrack>> getAudioTracks() = 0;
 };
 
 class MediaStreamPrivate : public RefCounted<MediaStreamPrivate> {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to