Changeset 258988 in webkit


Ignore:
Timestamp:
Mar 25, 2020 9:49:28 AM (4 years ago)
Author:
Russell Epstein
Message:

Apply patch. rdar://problem/60827023

Location:
branches/safari-609-branch/Source/WebCore/platform/mediastream/mac
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/safari-609-branch/Source/WebCore/platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp

    r251603 r258988  
    6262        m_dataSource->setPaused(true);
    6363
     64    m_isAudioUnitStarted = false;
     65    m_isPlaying = false;
     66
    6467    if (m_remoteIOUnit) {
    6568        AudioOutputUnitStop(m_remoteIOUnit);
     
    8588    if (m_dataSource)
    8689        m_dataSource->setPaused(false);
     90
     91    if (m_isCleared) {
     92        streamTrack().source().addObserver(*this);
     93        m_isCleared = false;
     94    }
    8795}
    8896
     
    98106    if (!m_isPlaying)
    99107        return;
     108
     109    clear();
    100110
    101111    m_isPlaying = false;
     
    257267}
    258268
     269void AudioTrackPrivateMediaStreamCocoa::sourceMutedChanged()
     270{
     271    if (streamTrack().muted())
     272        return;
     273
     274    if (!m_isPlaying)
     275        return;
     276
     277    // If we we want to play and were muted, we restart from scratch by doing a pause/start.
     278    pause();
     279    play();
     280}
     281
    259282OSStatus AudioTrackPrivateMediaStreamCocoa::render(UInt32 sampleCount, AudioBufferList& ioData, UInt32 /*inBusNumber*/, const AudioTimeStamp& timeStamp, AudioUnitRenderActionFlags& actionFlags)
    260283{
  • branches/safari-609-branch/Source/WebCore/platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.h

    r251603 r258988  
    6464    // RealtimeMediaSource::Observer
    6565    void sourceStopped() final;
     66    void sourceMutedChanged() final;
    6667    void audioSamplesAvailable(const MediaTime&, const PlatformAudioData&, const AudioStreamDescription&, size_t) final;
    6768
     
    7374    void zeroBufferList(AudioBufferList&, size_t);
    7475    void playInternal();
     76    void stop();
    7577
    7678#if !RELEASE_LOG_DISABLED
Note: See TracChangeset for help on using the changeset viewer.