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