aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/odr-padenc.cpp5
-rw-r--r--src/odr-padenc.h13
2 files changed, 12 insertions, 6 deletions
diff --git a/src/odr-padenc.cpp b/src/odr-padenc.cpp
index 9754b8c..2c53d4b 100644
--- a/src/odr-padenc.cpp
+++ b/src/odr-padenc.cpp
@@ -295,11 +295,6 @@ int PadEncoder::Main() {
const int BurstPadEncoder::DLS_REPETITION_WHILE_SLS = 50; // PADs
int BurstPadEncoder::Encode() {
- PADPacketizer pad_packetizer(options.padlen);
- DLSEncoder dls_encoder(&pad_packetizer);
- SLSEncoder sls_encoder(&pad_packetizer);
- SlideStore slides;
-
steady_clock::time_point next_run = steady_clock::now();
int curr_dls_file = 0;
diff --git a/src/odr-padenc.h b/src/odr-padenc.h
index f6f037c..0158f55 100644
--- a/src/odr-padenc.h
+++ b/src/odr-padenc.h
@@ -76,12 +76,23 @@ struct PadEncoderOptions {
class PadEncoder {
protected:
PadEncoderOptions options;
+ PADPacketizer pad_packetizer;
+ DLSEncoder dls_encoder;
+ SLSEncoder sls_encoder;
+ SlideStore slides;
int output_fd;
std::mutex status_mutex;
bool do_exit;
- PadEncoder(PadEncoderOptions options) : options(options), output_fd(-1), do_exit(false) {}
+ PadEncoder(PadEncoderOptions options) :
+ options(options),
+ pad_packetizer(PADPacketizer(options.padlen)),
+ dls_encoder(DLSEncoder(&pad_packetizer)),
+ sls_encoder(SLSEncoder(&pad_packetizer)),
+ output_fd(-1),
+ do_exit(false)
+ {}
virtual int Encode() = 0;
public: