diff --git a/core/src/dsp/block.h b/core/src/dsp/block.h index be240cc9..a5d33317 100644 --- a/core/src/dsp/block.h +++ b/core/src/dsp/block.h @@ -9,6 +9,7 @@ namespace dsp { class generic_block { public: + virtual ~generic_block() {} virtual void start() {} virtual void stop() {} virtual int run() { return -1; } @@ -16,8 +17,6 @@ namespace dsp { class block : public generic_block { public: - virtual void init() {} - virtual ~block() { if (!_block_init) { return; } stop(); diff --git a/core/src/dsp/operator.h b/core/src/dsp/operator.h index f45fb845..5c2bd3fa 100644 --- a/core/src/dsp/operator.h +++ b/core/src/dsp/operator.h @@ -10,6 +10,8 @@ namespace dsp { Operator(stream* a, stream* b) { init(a, b); } + virtual ~Operator() {} + virtual void init(stream* a, stream* b) { _a = a; _b = b; diff --git a/core/src/dsp/stream.h b/core/src/dsp/stream.h index 7a7205a9..67b6c11d 100644 --- a/core/src/dsp/stream.h +++ b/core/src/dsp/stream.h @@ -11,6 +11,7 @@ namespace dsp { class untyped_stream { public: + virtual ~untyped_stream() {} virtual bool swap(int size) { return false; } virtual int read() { return -1; } virtual void flush() {} diff --git a/core/src/module.h b/core/src/module.h index 5e6fd9d1..697f4463 100644 --- a/core/src/module.h +++ b/core/src/module.h @@ -42,6 +42,7 @@ public: class Instance { public: + virtual ~Instance() {} virtual void postInit() = 0; virtual void enable() = 0; virtual void disable() = 0;