mirror of
https://github.com/ggerganov/whisper.cpp.git
synced 2024-12-26 16:48:50 +01:00
stream : fix data race on bool + avoid division-by-zero
This commit is contained in:
parent
d629c034a4
commit
a466c3404d
@ -8,6 +8,7 @@
|
|||||||
#include <SDL.h>
|
#include <SDL.h>
|
||||||
#include <SDL_audio.h>
|
#include <SDL_audio.h>
|
||||||
|
|
||||||
|
#include <atomic>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <string>
|
#include <string>
|
||||||
@ -144,8 +145,8 @@ private:
|
|||||||
int m_len_ms = 0;
|
int m_len_ms = 0;
|
||||||
int m_sample_rate = 0;
|
int m_sample_rate = 0;
|
||||||
|
|
||||||
bool m_running = false;
|
std::atomic_bool m_running;
|
||||||
std::mutex m_mutex;
|
std::mutex m_mutex;
|
||||||
|
|
||||||
std::vector<float> m_audio;
|
std::vector<float> m_audio;
|
||||||
std::vector<float> m_audio_new;
|
std::vector<float> m_audio_new;
|
||||||
@ -155,6 +156,8 @@ private:
|
|||||||
|
|
||||||
audio_async::audio_async(int len_ms) {
|
audio_async::audio_async(int len_ms) {
|
||||||
m_len_ms = len_ms;
|
m_len_ms = len_ms;
|
||||||
|
|
||||||
|
m_running = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
audio_async::~audio_async() {
|
audio_async::~audio_async() {
|
||||||
@ -427,10 +430,10 @@ int main(int argc, char ** argv) {
|
|||||||
const int n_samples_keep = (params.keep_ms *1e-3)*WHISPER_SAMPLE_RATE;
|
const int n_samples_keep = (params.keep_ms *1e-3)*WHISPER_SAMPLE_RATE;
|
||||||
const int n_samples_30s = (30000 *1e-3)*WHISPER_SAMPLE_RATE;
|
const int n_samples_30s = (30000 *1e-3)*WHISPER_SAMPLE_RATE;
|
||||||
|
|
||||||
const int n_new_line = params.length_ms / params.step_ms - 1; // number of steps to print new line
|
|
||||||
|
|
||||||
const bool use_vad = n_samples_step <= 0; // sliding window mode uses VAD
|
const bool use_vad = n_samples_step <= 0; // sliding window mode uses VAD
|
||||||
|
|
||||||
|
const int n_new_line = !use_vad ? params.length_ms / params.step_ms - 1 : 1; // number of steps to print new line
|
||||||
|
|
||||||
params.no_timestamps = !use_vad;
|
params.no_timestamps = !use_vad;
|
||||||
params.no_context = use_vad;
|
params.no_context = use_vad;
|
||||||
params.max_tokens = 0;
|
params.max_tokens = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user