diff options
Diffstat (limited to 'src/odr-padenc.cpp')
-rw-r--r-- | src/odr-padenc.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/odr-padenc.cpp b/src/odr-padenc.cpp index 379791d..e065755 100644 --- a/src/odr-padenc.cpp +++ b/src/odr-padenc.cpp @@ -522,6 +522,23 @@ int UniformPadEncoder::Encode() { // handle DLS if (options.DLSEnabled()) { + // check for DLS re-read request + for (size_t i = 0; i < options.dls_files.size(); i++) { + int reread = CheckRereadFile("DLS file '" + options.dls_files[i] + "'", options.dls_files[i] + DLSEncoder::REQUEST_REREAD_SUFFIX); + switch (reread) { + case 1: // re-read requested + // switch to desired DLS file + curr_dls_file = i; + next_label = pad_timeline + std::chrono::seconds(options.label_interval); + + // enforce label insertion + next_label_insertion = pad_timeline; + break; + case -1: // error + return 1; + } + } + if (options.dls_files.size() > 1 && pad_timeline >= next_label) { // switch to next DLS file curr_dls_file = (curr_dls_file + 1) % options.dls_files.size(); |