Changeset 251603 in webkit


Ignore:
Timestamp:
Oct 25, 2019 2:44:14 PM (4 years ago)
Author:
youenn@apple.com
Message:

Introduce AudioTrackPrivateMediaStreamCocoa::clear()
https://bugs.webkit.org/show_bug.cgi?id=203369
<rdar://problem/49017262>

Reviewed by Jer Noble.

Introduce the clear method to make sure the AudioTrackPrivteMediaStreamCocoa is in a clean state.
This will help further simplifications.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:

(WebCore::AudioTrackPrivateMediaStreamCocoa::~AudioTrackPrivateMediaStreamCocoa):
(WebCore::AudioTrackPrivateMediaStreamCocoa::clear):

  • platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:
Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r251602 r251603  
     12019-10-25  youenn fablet  <youenn@apple.com>
     2
     3        Introduce AudioTrackPrivateMediaStreamCocoa::clear()
     4        https://bugs.webkit.org/show_bug.cgi?id=203369
     5        <rdar://problem/49017262>
     6
     7        Reviewed by Jer Noble.
     8
     9        Introduce the clear method to make sure the AudioTrackPrivteMediaStreamCocoa is in a clean state.
     10        This will help further simplifications.
     11
     12        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
     13        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::~MediaPlayerPrivateMediaStreamAVFObjC):
     14        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::updateTracks):
     15        * platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
     16        (WebCore::AudioTrackPrivateMediaStreamCocoa::~AudioTrackPrivateMediaStreamCocoa):
     17        (WebCore::AudioTrackPrivateMediaStreamCocoa::clear):
     18        * platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h:
     19
    1202019-10-25  Matt Lewis  <jlewis3@apple.com>
    221
  • trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm

    r248846 r251603  
    211211    destroyLayers();
    212212
    213     m_audioTrackMap.clear();
     213    auto audioTrackMap = WTFMove(m_audioTrackMap);
     214    for (auto& track : audioTrackMap.values())
     215        track->clear();
     216
    214217    m_videoTrackMap.clear();
    215218}
     
    10151018        case TrackState::Remove:
    10161019            track.streamTrack().removeObserver(*this);
     1020            track.clear();
    10171021            m_player->removeAudioTrack(track);
    10181022            break;
  • trunk/Source/WebCore/platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp

    r250290 r251603  
    4848AudioTrackPrivateMediaStreamCocoa::~AudioTrackPrivateMediaStreamCocoa()
    4949{
     50    clear();
     51}
     52
     53void AudioTrackPrivateMediaStreamCocoa::clear()
     54{
     55    if (m_isCleared)
     56        return;
     57
     58    m_isCleared = true;
    5059    streamTrack().source().removeObserver(*this);
    5160
  • trunk/Source/WebCore/platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h

    r250290 r251603  
    4646    }
    4747
     48    void clear();
     49
    4850    void play();
    4951    void pause();
     
    9193    bool m_autoPlay { false };
    9294    bool m_muted { false };
     95    bool m_isCleared { false };
    9396};
    9497
Note: See TracChangeset for help on using the changeset viewer.