Changeset 284862 in webkit
- Timestamp:
- Oct 26, 2021, 2:46:47 AM (5 years ago)
- Location:
- trunk/Source
- Files:
-
- 6 edited
-
WebCore/ChangeLog (modified) (1 diff)
-
WebCore/platform/audio/cocoa/AudioSampleDataSource.h (modified) (4 diffs)
-
WebCore/platform/audio/cocoa/AudioSampleDataSource.mm (modified) (3 diffs)
-
WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp (modified) (1 diff)
-
WebKit/ChangeLog (modified) (1 diff)
-
WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r284861 r284862 1 2021-10-26 Youenn Fablet <youenn@apple.com> 2 3 Only one AudioSampleDataSource::pullSamples is needed 4 https://bugs.webkit.org/show_bug.cgi?id=232145 5 6 Reviewed by Eric Carlson. 7 8 Update CoreAudioSharedUnit::provideSpeakerData to use pullSamples taking an AudioBufferList as parameter. 9 Remove the no longer necessary AudioSampleDataSource::pullSamples and rename pullSamplesInternal in pullSamples. 10 Update header to forward declare more classes. 11 This is a refactoring, no change of behavior. 12 13 * platform/audio/cocoa/AudioSampleDataSource.h: 14 * platform/audio/cocoa/AudioSampleDataSource.mm: 15 (WebCore::AudioSampleDataSource::pullSamples): 16 (WebCore::AudioSampleDataSource::pullSamplesInternal): Deleted. 17 * platform/mediastream/mac/CoreAudioCaptureSource.cpp: 18 (WebCore::CoreAudioSharedUnit::provideSpeakerData): 19 1 20 2021-10-26 Youenn Fablet <youenn@apple.com> 2 21 -
trunk/Source/WebCore/platform/audio/cocoa/AudioSampleDataSource.h
r284857 r284862 26 26 #pragma once 27 27 28 #include " AudioSampleBufferList.h"28 #include "CARingBuffer.h" 29 29 #include <CoreAudio/CoreAudioTypes.h> 30 30 #include <wtf/LoggerHelper.h> … … 34 34 #include <wtf/text/WTFString.h> 35 35 36 typedef struct OpaqueAudioConverter* AudioConverterRef; 36 37 typedef struct opaqueCMSampleBuffer *CMSampleBufferRef; 37 38 38 39 namespace WebCore { 39 40 40 class CAAudioStreamDescription;41 class CARingBuffer;41 class AudioSampleBufferList; 42 class PlatformAudioData; 42 43 43 44 class AudioSampleDataSource : public ThreadSafeRefCounted<AudioSampleDataSource, WTF::DestructionThread::MainRunLoop> … … 58 59 59 60 enum PullMode { Copy, Mix }; 60 bool pullSamples(AudioSampleBufferList&, size_t, uint64_t, double, PullMode);61 61 bool pullSamples(AudioBufferList&, size_t, uint64_t, double, PullMode); 62 62 … … 85 85 86 86 OSStatus setupConverter(); 87 bool pullSamplesInternal(AudioBufferList&, size_t, uint64_t, double, PullMode);88 87 89 88 void pushSamplesInternal(const AudioBufferList&, const MediaTime&, size_t frameCount); -
trunk/Source/WebCore/platform/audio/cocoa/AudioSampleDataSource.mm
r284674 r284862 27 27 #import "AudioSampleDataSource.h" 28 28 29 #import "CAAudioStreamDescription.h" 30 #import "CARingBuffer.h" 29 #import "AudioSampleBufferList.h" 31 30 #import "Logging.h" 32 31 #import "PlatformAudioData.h" … … 211 210 } 212 211 213 bool AudioSampleDataSource::pullSamples Internal(AudioBufferList& buffer, size_t sampleCount, uint64_t timeStamp, double /*hostTime*/, PullMode mode)212 bool AudioSampleDataSource::pullSamples(AudioBufferList& buffer, size_t sampleCount, uint64_t timeStamp, double /*hostTime*/, PullMode mode) 214 213 { 215 214 size_t byteCount = sampleCount * m_outputDescription->bytesPerFrame(); … … 349 348 } 350 349 351 bool AudioSampleDataSource::pullSamples(AudioBufferList& buffer, size_t sampleCount, uint64_t timeStamp, double hostTime, PullMode mode)352 {353 return pullSamplesInternal(buffer, sampleCount, timeStamp, hostTime, mode);354 }355 356 bool AudioSampleDataSource::pullSamples(AudioSampleBufferList& buffer, size_t sampleCount, uint64_t timeStamp, double hostTime, PullMode mode)357 {358 if (!pullSamplesInternal(buffer.bufferList(), sampleCount, timeStamp, hostTime, mode))359 return false;360 361 buffer.setTimes(timeStamp, hostTime);362 buffer.setSampleCount(sampleCount);363 364 return true;365 }366 367 350 #if !RELEASE_LOG_DISABLED 368 351 void AudioSampleDataSource::setLogger(Ref<const Logger>&& logger, const void* logIdentifier) -
trunk/Source/WebCore/platform/mediastream/mac/CoreAudioCaptureSource.cpp
r283805 r284862 367 367 bool firstSource = true; 368 368 for (auto& source : m_activeSources) { 369 source->pullSamples( *m_speakerSampleBuffer.get(), inNumberFrames, adjustedHostTime, sampleTime, firstSource ? AudioSampleDataSource::Copy : AudioSampleDataSource::Mix);369 source->pullSamples(bufferList, inNumberFrames, adjustedHostTime, sampleTime, firstSource ? AudioSampleDataSource::Copy : AudioSampleDataSource::Mix); 370 370 firstSource = false; 371 371 } -
trunk/Source/WebKit/ChangeLog
r284858 r284862 1 2021-10-26 Youenn Fablet <youenn@apple.com> 2 3 Only one AudioSampleDataSource::pullSamples is needed 4 https://bugs.webkit.org/show_bug.cgi?id=232145 5 6 Reviewed by Eric Carlson. 7 8 * WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp: 9 1 10 2021-10-26 Adrian Perez de Castro <aperez@igalia.com> 2 11 -
trunk/Source/WebKit/WebProcess/GPU/webrtc/AudioMediaStreamTrackRendererInternalUnitManager.cpp
r284674 r284862 35 35 #include <WebCore/AudioMediaStreamTrackRendererInternalUnit.h> 36 36 #include <WebCore/AudioMediaStreamTrackRendererUnit.h> 37 #include <WebCore/AudioSampleBufferList.h> 37 38 #include <WebCore/CAAudioStreamDescription.h> 38 39 #include <WebCore/CARingBuffer.h>
Note:
See TracChangeset
for help on using the changeset viewer.