diff options
-rw-r--r-- | gr-blocks/lib/wavfile_sink_impl.cc | 10 | ||||
-rw-r--r-- | gr-blocks/lib/wavfile_sink_impl.h | 3 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gr-blocks/lib/wavfile_sink_impl.cc b/gr-blocks/lib/wavfile_sink_impl.cc index 9a96f7ca3d..57bdb5f291 100644 --- a/gr-blocks/lib/wavfile_sink_impl.cc +++ b/gr-blocks/lib/wavfile_sink_impl.cc @@ -164,11 +164,19 @@ namespace gr { wavfile_sink_impl::~wavfile_sink_impl() { + stop(); + } + + bool wavfile_sink_impl::stop() + { if(d_new_fp) { - fclose(d_new_fp); + fclose(d_new_fp); + d_new_fp = NULL; } close(); + + return true; } int diff --git a/gr-blocks/lib/wavfile_sink_impl.h b/gr-blocks/lib/wavfile_sink_impl.h index 52dfd2259b..0e77f9799e 100644 --- a/gr-blocks/lib/wavfile_sink_impl.h +++ b/gr-blocks/lib/wavfile_sink_impl.h @@ -67,6 +67,9 @@ namespace gr { */ void close_wav(); + protected: + bool stop(); + public: wavfile_sink_impl(const char *filename, int n_channels, |