Skip to content
Snippets Groups Projects
Commit b5dee4eb authored by Jan Schlüter's avatar Jan Schlüter
Browse files

Exit with an error if no audio data is received for a while

parent 44730161
No related branches found
No related tags found
2 merge requests!2HighBlueParser dev branch merged to empty main branch,!1High blue rec
This commit is part of merge request !1. Comments created here will be created in the context of that merge request.
...@@ -4,7 +4,7 @@ if(POLICY CMP0063) ...@@ -4,7 +4,7 @@ if(POLICY CMP0063)
endif() endif()
project(jasonrec) project(jasonrec)
set(JASONREC_VERSION "1.2") set(JASONREC_VERSION "1.3")
add_definitions(-DJASONREC_VERSION="${JASONREC_VERSION}") add_definitions(-DJASONREC_VERSION="${JASONREC_VERSION}")
find_path(LIBUSB_INCLUDE_DIR find_path(LIBUSB_INCLUDE_DIR
......
...@@ -56,6 +56,7 @@ int record(size_t channels, size_t rate, std::string &filename, float chunklen, ...@@ -56,6 +56,7 @@ int record(size_t channels, size_t rate, std::string &filename, float chunklen,
allow_clean_exit(); allow_clean_exit();
size_t total_samples_wanted = totallen * rate; size_t total_samples_wanted = totallen * rate;
size_t total_samples_read = 0; size_t total_samples_read = 0;
size_t failed_attempts = 0;
std::vector<std::int16_t> samples; std::vector<std::int16_t> samples;
try { try {
recorder.start_recording(); recorder.start_recording();
...@@ -74,6 +75,14 @@ int record(size_t channels, size_t rate, std::string &filename, float chunklen, ...@@ -74,6 +75,14 @@ int record(size_t channels, size_t rate, std::string &filename, float chunklen,
} }
// pass it on to the file writer // pass it on to the file writer
filewriter->write(samples); filewriter->write(samples);
failed_attempts = 0;
}
else {
// if we received no message or no audio data 20x in a row, abort
failed_attempts += 1;
if (failed_attempts >= 20) {
throw std::runtime_error("Device does not send audio data.");
}
} }
} }
recorder.stop_recording(); recorder.stop_recording();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment