Diff
Modified: trunk/Source/WebCore/ChangeLog (285519 => 285520)
--- trunk/Source/WebCore/ChangeLog 2021-11-09 19:42:11 UTC (rev 285519)
+++ trunk/Source/WebCore/ChangeLog 2021-11-09 19:50:56 UTC (rev 285520)
@@ -1,3 +1,20 @@
+2021-11-09 Sihui Liu <[email protected]>
+
+ Keep track of captured data time in SpeechRecognizer
+ https://bugs.webkit.org/show_bug.cgi?id=232867
+
+ Reviewed by Youenn Fablet.
+
+ The time parameter passed to SpeechRecognizer::dataCaptured is not started from zero.
+
+ Manually tested.
+
+ * Modules/speech/SpeechRecognizer.cpp:
+ (WebCore::SpeechRecognizer::SpeechRecognizer):
+ * Modules/speech/SpeechRecognizer.h:
+ * Modules/speech/cocoa/SpeechRecognizerCocoa.mm:
+ (WebCore::SpeechRecognizer::dataCaptured):
+
2021-11-09 Commit Queue <[email protected]>
Unreviewed, reverting r285318.
Modified: trunk/Source/WebCore/Modules/speech/SpeechRecognizer.cpp (285519 => 285520)
--- trunk/Source/WebCore/Modules/speech/SpeechRecognizer.cpp 2021-11-09 19:42:11 UTC (rev 285519)
+++ trunk/Source/WebCore/Modules/speech/SpeechRecognizer.cpp 2021-11-09 19:50:56 UTC (rev 285520)
@@ -32,6 +32,7 @@
#if PLATFORM(COCOA)
#include "MediaUtilities.h"
+#include <pal/cf/CoreMediaSoftLink.h>
#endif
namespace WebCore {
@@ -39,6 +40,9 @@
SpeechRecognizer::SpeechRecognizer(DelegateCallback&& delegateCallback, UniqueRef<SpeechRecognitionRequest>&& request)
: m_delegateCallback(WTFMove(delegateCallback))
, m_request(WTFMove(request))
+#if HAVE(SPEECHRECOGNIZER)
+ , m_currentAudioSampleTime(PAL::kCMTimeZero)
+#endif
{
}
Modified: trunk/Source/WebCore/Modules/speech/SpeechRecognizer.h (285519 => 285520)
--- trunk/Source/WebCore/Modules/speech/SpeechRecognizer.h 2021-11-09 19:42:11 UTC (rev 285519)
+++ trunk/Source/WebCore/Modules/speech/SpeechRecognizer.h 2021-11-09 19:50:56 UTC (rev 285520)
@@ -31,6 +31,7 @@
#include <wtf/UniqueRef.h>
#if HAVE(SPEECHRECOGNIZER)
+#include <CoreMedia/CMTime.h>
#include <wtf/RetainPtr.h>
OBJC_CLASS WebSpeechRecognizerTask;
#endif
@@ -82,6 +83,7 @@
#if HAVE(SPEECHRECOGNIZER)
RetainPtr<WebSpeechRecognizerTask> m_task;
+ CMTime m_currentAudioSampleTime;
#endif
};
Modified: trunk/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm (285519 => 285520)
--- trunk/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm 2021-11-09 19:42:11 UTC (rev 285519)
+++ trunk/Source/WebCore/Modules/speech/cocoa/SpeechRecognizerCocoa.mm 2021-11-09 19:50:56 UTC (rev 285520)
@@ -36,10 +36,11 @@
namespace WebCore {
-void SpeechRecognizer::dataCaptured(const MediaTime& time, const PlatformAudioData& data, const AudioStreamDescription& description, size_t sampleCount)
+void SpeechRecognizer::dataCaptured(const MediaTime&, const PlatformAudioData& data, const AudioStreamDescription& description, size_t sampleCount)
{
- auto buffer = createAudioSampleBuffer(data, description, PAL::toCMTime(time), sampleCount);
+ auto buffer = createAudioSampleBuffer(data, description, m_currentAudioSampleTime, sampleCount);
[m_task audioSamplesAvailable:buffer.get()];
+ m_currentAudioSampleTime = CMTimeAdd(m_currentAudioSampleTime, PAL::toCMTime(MediaTime(sampleCount, description.sampleRate())));
}
bool SpeechRecognizer::startRecognition(bool mockSpeechRecognitionEnabled, SpeechRecognitionConnectionClientIdentifier identifier, const String& localeIdentifier, bool continuous, bool interimResults, uint64_t alternatives)
Modified: trunk/Source/WebKit/ChangeLog (285519 => 285520)
--- trunk/Source/WebKit/ChangeLog 2021-11-09 19:42:11 UTC (rev 285519)
+++ trunk/Source/WebKit/ChangeLog 2021-11-09 19:50:56 UTC (rev 285520)
@@ -1,3 +1,15 @@
+2021-11-09 Sihui Liu <[email protected]>
+
+ Keep track of captured data time in SpeechRecognizer
+ https://bugs.webkit.org/show_bug.cgi?id=232867
+
+ Reviewed by Youenn Fablet.
+
+ Removed a redundant call.
+
+ * WebProcess/cocoa/RemoteCaptureSampleManager.cpp:
+ (WebKit::RemoteCaptureSampleManager::RemoteAudio::setStorage):
+
2021-11-09 Devin Rousso <[email protected]>
Unreviewed internal build fix after r285424
Modified: trunk/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.cpp (285519 => 285520)
--- trunk/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.cpp 2021-11-09 19:42:11 UTC (rev 285519)
+++ trunk/Source/WebKit/WebProcess/cocoa/RemoteCaptureSampleManager.cpp 2021-11-09 19:50:56 UTC (rev 285520)
@@ -222,8 +222,7 @@
m_frameChunkSize = frameChunkSize;
m_ringBuffer = CARingBuffer::adoptStorage(makeUniqueRef<ReadOnlySharedRingBufferStorage>(handle), description, numberOfFrames).moveToUniquePtr();
- m_buffer = makeUnique<WebAudioBufferList>(description, numberOfFrames);
- m_buffer->setSampleCount(m_frameChunkSize);
+ m_buffer = makeUnique<WebAudioBufferList>(description, m_frameChunkSize);
startThread();
}