summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gr-blocks/lib/wavfile_sink_impl.cc10
-rw-r--r--gr-blocks/lib/wavfile_sink_impl.h3
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,