Change temp file name for server application (#1535)

Avoid issue of removing file if it exists in the current working
directory
This commit is contained in:
Felix 2023-11-22 09:23:36 +01:00 committed by GitHub
parent 146169ec38
commit 5c7be85fdc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -453,21 +453,23 @@ int main(int argc, char ** argv) {
std::vector<float> pcmf32; // mono-channel F32 PCM std::vector<float> pcmf32; // mono-channel F32 PCM
std::vector<std::vector<float>> pcmf32s; // stereo-channel F32 PCM std::vector<std::vector<float>> pcmf32s; // stereo-channel F32 PCM
// write file to temporary file // write to temporary file
std::ofstream temp_file{filename, std::ios::binary}; const std::string temp_filename = "whisper_server_temp_file.wav";
std::ofstream temp_file{temp_filename, std::ios::binary};
temp_file << audio_file.content; temp_file << audio_file.content;
temp_file.close(); temp_file.close();
// read wav content into pcmf32 // read wav content into pcmf32
if (!::read_wav(filename, pcmf32, pcmf32s, params.diarize)) { if (!::read_wav(temp_filename, pcmf32, pcmf32s, params.diarize)) {
fprintf(stderr, "error: failed to read WAV file '%s'\n", filename.c_str()); fprintf(stderr, "error: failed to read WAV file '%s'\n", temp_filename.c_str());
const std::string error_resp = "{\"error\":\"failed to read WAV file\"}"; const std::string error_resp = "{\"error\":\"failed to read WAV file\"}";
res.set_content(error_resp, "application/json"); res.set_content(error_resp, "application/json");
std::remove(temp_filename.c_str());
whisper_mutex.unlock(); whisper_mutex.unlock();
return; return;
} }
// remove temp file // remove temp file
std::remove(filename.c_str()); std::remove(temp_filename.c_str());
printf("Successfully loaded %s\n", filename.c_str()); printf("Successfully loaded %s\n", filename.c_str());