Changeset 219230 in webkit


Ignore:
Timestamp:
Jul 6, 2017 6:56:42 PM (7 years ago)
Author:
commit-queue@webkit.org
Message:

Rendering of WebRTC audio in AudioSampleDataSource may trigger crackles
https://bugs.webkit.org/show_bug.cgi?id=174223

Patch by Youenn Fablet <youenn@apple.com> on 2017-07-06
Reviewed by Eric Carlson.

We try reading too quickly and need to back off a little bit if we do not enough data.
This only affects real audio and not web audio, hence validated through manual testing only.

  • platform/audio/mac/AudioSampleDataSource.mm:

(WebCore::AudioSampleDataSource::pullSamplesInternal):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r219229 r219230  
     12017-07-06  Youenn Fablet  <youenn@apple.com>
     2
     3        Rendering of WebRTC audio in AudioSampleDataSource may trigger crackles
     4        https://bugs.webkit.org/show_bug.cgi?id=174223
     5
     6        Reviewed by Eric Carlson.
     7
     8        We try reading too quickly and need to back off a little bit if we do not enough data.
     9        This only affects real audio and not web audio, hence validated through manual testing only.
     10
     11        * platform/audio/mac/AudioSampleDataSource.mm:
     12        (WebCore::AudioSampleDataSource::pullSamplesInternal):
     13
    1142017-07-06  Sam Weinig  <sam@webkit.org>
    215
  • trunk/Source/WebCore/platform/audio/mac/AudioSampleDataSource.mm

    r214850 r219230  
    270270
    271271        if (framesAvailable < sampleCount) {
    272             int64_t delta = static_cast<int64_t>(timeStamp) - static_cast<int64_t>(endFrame);
    273             if (delta > 0)
    274                 m_outputSampleOffset -= std::min<int64_t>(delta, sampleCount);
    275         }
    276 
    277         if (!framesAvailable) {
     272            m_outputSampleOffset -= sampleCount - framesAvailable;
    278273            AudioSampleBufferList::zeroABL(buffer, byteCount);
    279274            return false;
Note: See TracChangeset for help on using the changeset viewer.