Changeset 187164 in webkit


Ignore:
Timestamp:
Jul 22, 2015 10:17:12 AM (9 years ago)
Author:
commit-queue@webkit.org
Message:

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

Patch by Matthew Daiter <mdaiter@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:
Location:
trunk/Source/WebCore
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r187163 r187164  
     12015-07-22  Matthew Daiter  <mdaiter@apple.com>
     2
     3        Remove revealing getVideoTracks() and getAudioTracks()
     4        https://bugs.webkit.org/show_bug.cgi?id=147126
     5        <rdar://problem/21908723>
     6
     7        Reviewed by Eric Carlson.
     8
     9        * Modules/mediastream/MediaStream.h:
     10        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
     11        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
     12        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::MediaPlayerPrivateMediaStreamAVFObjC):
     13        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load): Modded to use
     14        tracks() instead of getVideo/AudioTracks()
     15        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::platformLayer): Ditto
     16        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::playInternal): Ditto
     17        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::pauseInternal): Ditto
     18        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::setMuted): Ditto
     19        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::naturalSize): Ditto
     20        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasVideo): Ditto
     21        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::hasAudio): Ditto
     22        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime):
     23        Changed to a FIXME
     24        * platform/mediastream/MediaStreamPrivate.h:
     25
    1262015-07-22  Matthew Daiter  <mdaiter@apple.com>
    227
  • trunk/Source/WebCore/Modules/mediastream/MediaStream.h

    r186640 r187164  
    6565    MediaStreamTrack* getTrackById(String);
    6666
    67     Vector<RefPtr<MediaStreamTrack>> getAudioTracks() override final;
    68     Vector<RefPtr<MediaStreamTrack>> getVideoTracks() override final;
     67    Vector<RefPtr<MediaStreamTrack>> getAudioTracks();
     68    Vector<RefPtr<MediaStreamTrack>> getVideoTracks();
    6969    Vector<RefPtr<MediaStreamTrack>> getTracks() const;
    7070
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h

    r186766 r187164  
    8282#endif
    8383#if ENABLE(MEDIA_STREAM)
    84     void load(MediaStreamPrivate*) override;
     84    void load(MediaStreamPrivate&) override;
    8585#endif
    8686    void cancelLoad() override;
     
    152152    RefPtr<MediaStreamPrivateAVFObjC> m_MediaStreamPrivate;
    153153    RetainPtr<AVAsset> m_asset;
     154    RetainPtr<AVCaptureVideoPreviewLayer> m_previewLayer;
    154155    RetainPtr<AVSampleBufferDisplayLayer> m_sampleBufferDisplayLayer;
    155156    Vector<RetainPtr<AVSampleBufferAudioRenderer>> m_sampleBufferAudioRenderers;
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm

    r186766 r187164  
    7979    , m_loadingProgressed(false)
    8080{
     81
    8182}
    8283
     
    133134#pragma mark MediaPlayerPrivateInterface Overrides
    134135
    135 void MediaPlayerPrivateMediaStreamAVFObjC::load(MediaStreamPrivate* client)
    136 {
    137     m_MediaStreamPrivate = MediaStreamPrivateAVFObjC::create(this, client->client());
    138     for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) {
    139         client->addTrack(&track->privateTrack(), MediaStreamPrivate::NotifyClientOption::DontNotify);
    140         client->client()->didAddTrackToPrivate(track->privateTrack());
    141         if (track->readyState() == "live") {
     136void MediaPlayerPrivateMediaStreamAVFObjC::load(MediaStreamPrivate& client)
     137{
     138    m_MediaStreamPrivate = MediaStreamPrivateAVFObjC::create(*this, *client.client());
     139    for (auto track : client.tracks()) {
     140        m_MediaStreamPrivate->addTrack(WTF::move(track), MediaStreamPrivate::NotifyClientOption::DontNotify);
     141        m_MediaStreamPrivate->client()->didAddTrackToPrivate(*track);
     142        if (!track->ended()) {
    142143            track->source()->startProducingData();
    143144            track->setEnabled(true);
    144145        }
    145146    }
    146     for (auto track : m_MediaStreamPrivate->client()->getAudioTracks()) {
    147         client->addTrack(&track->privateTrack(), MediaStreamPrivate::NotifyClientOption::DontNotify);
    148         client->client()->didAddTrackToPrivate(track->privateTrack());
    149         if (track->readyState() == "live") {
    150             track->source()->startProducingData();
    151             track->setEnabled(true);
    152         }
     147    m_previewLayer = nullptr;
     148    for (auto track : m_MediaStreamPrivate->tracks()) {
     149        if (track->type() == RealtimeMediaSource::Type::Video)
     150            m_previewLayer = static_cast<AVVideoCaptureSource*>(track->source())->previewLayer();
    153151    }
    154152    m_player->client().mediaPlayerRenderingModeChanged(m_player);
     
    173171PlatformLayer* MediaPlayerPrivateMediaStreamAVFObjC::platformLayer() const
    174172{
    175     if (!m_MediaStreamPrivate)
    176         return MediaPlayerPrivateInterface::platformLayer();
    177     for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) {
    178         // FIXME(146858): Just grab the first webcam for now, we can manage more later
    179         AVVideoCaptureSource* capture = (AVVideoCaptureSource*)track->source();
    180         return (PlatformLayer*)[getAVCaptureVideoPreviewLayerClass() layerWithSession:capture->session()];
    181     }
    182     return MediaPlayerPrivateInterface::platformLayer();
     173    if (!m_previewLayer)
     174        return nullptr;
     175    return static_cast<PlatformLayer*>(m_previewLayer);
    183176}
    184177
     
    199192        [m_synchronizer setRate:m_rate];
    200193
    201     for (auto track : m_MediaStreamPrivate->client()->getVideoTracks())
    202         track->source()->startProducingData();
    203     for (auto track : m_MediaStreamPrivate->client()->getAudioTracks())
     194    for (auto track : m_MediaStreamPrivate->tracks())
    204195        track->source()->startProducingData();
    205196}
     
    219210    m_playing = false;
    220211
    221     for (auto track : m_MediaStreamPrivate->client()->getVideoTracks())
    222         track->source()->stopProducingData();
    223     for (auto track : m_MediaStreamPrivate->client()->getAudioTracks())
     212    for (auto track : m_MediaStreamPrivate->tracks())
    224213        track->source()->stopProducingData();
    225214}
     
    242231void MediaPlayerPrivateMediaStreamAVFObjC::setMuted(bool muted)
    243232{
    244     for (auto track : m_MediaStreamPrivate->client()->getAudioTracks())
    245         track->source()->setMuted(muted);
     233    for (auto track : m_MediaStreamPrivate->tracks()) {
     234        if (track->type() == RealtimeMediaSource::Type::Audio)
     235            track->source()->setMuted(muted);
     236    }
    246237}
    247238
    248239FloatSize MediaPlayerPrivateMediaStreamAVFObjC::naturalSize() const
    249240{
    250     FloatSize floatSize;
    251     for (auto track : m_MediaStreamPrivate->client()->getVideoTracks()) {
    252         AVVideoCaptureSource* source = (AVVideoCaptureSource*)track->source();
    253         if (!source->stopped() && track->enabled()) {
    254             if (source->width() > floatSize.width())
    255                 floatSize.setWidth(source->width());
    256             if (source->height() > floatSize.height())
    257                 floatSize.setHeight(source->height());
     241    FloatSize floatSize(0, 0);
     242    for (auto track : m_MediaStreamPrivate->tracks()) {
     243        if (track->type() == RealtimeMediaSource::Type::Video) {
     244            AVVideoCaptureSource* source = (AVVideoCaptureSource*)track->source();
     245            if (!source->stopped() && track->enabled()) {
     246                if (source->width() > floatSize.width())
     247                    floatSize.setWidth(source->width());
     248                if (source->height() > floatSize.height())
     249                    floatSize.setHeight(source->height());
     250            }
    258251        }
    259252    }
     
    263256bool MediaPlayerPrivateMediaStreamAVFObjC::hasVideo() const
    264257{
    265     return !m_MediaStreamPrivate->client()->getVideoTracks().isEmpty();
     258    for (auto track : m_MediaStreamPrivate->tracks()) {
     259        if (track->type() == RealtimeMediaSource::Type::Video)
     260            return true;
     261    }
     262    return false;
    266263}
    267264
    268265bool MediaPlayerPrivateMediaStreamAVFObjC::hasAudio() const
    269266{
    270     return !m_MediaStreamPrivate->client()->getAudioTracks().isEmpty();
     267    for (auto track : m_MediaStreamPrivate->tracks()) {
     268        if (track->type() == RealtimeMediaSource::Type::Audio)
     269            return true;
     270    }
     271    return false;
    271272}
    272273
     
    283284MediaTime MediaPlayerPrivateMediaStreamAVFObjC::currentMediaTime() const
    284285{
    285     MediaTime synchronizerTime = toMediaTime(CMTimebaseGetTime([m_synchronizer timebase]));
    286     if (synchronizerTime < MediaTime::zeroTime())
    287         return MediaTime::zeroTime();
    288     return synchronizerTime;
     286    // FIXME(147125): Must implement this later
     287    return MediaTime::zeroTime();
    289288}
    290289
  • trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h

    r186766 r187164  
    5454    virtual void didAddTrackToPrivate(MediaStreamTrackPrivate&) = 0;
    5555    virtual void didRemoveTrackFromPrivate(MediaStreamTrackPrivate&) = 0;
    56     virtual Vector<RefPtr<MediaStreamTrack>> getVideoTracks() = 0;
    57     virtual Vector<RefPtr<MediaStreamTrack>> getAudioTracks() = 0;
    5856};
    5957
Note: See TracChangeset for help on using the changeset viewer.