| @@ -77,8 +77,6 @@ Disk_Stream::~Disk_Stream ( ) | |||||
| // timeline->wrlock(); | // timeline->wrlock(); | ||||
| shutdown(); | |||||
| _track = NULL; | _track = NULL; | ||||
| sem_destroy( &_blocks ); | sem_destroy( &_blocks ); | ||||
| @@ -134,7 +132,7 @@ Disk_Stream::shutdown ( void ) | |||||
| while ( _terminate ) | while ( _terminate ) | ||||
| { | { | ||||
| block_processed(); | block_processed(); | ||||
| usleep( 1000 ); | |||||
| usleep( 10 * 1000 ); | |||||
| } | } | ||||
| _thread.join(); | _thread.join(); | ||||
| @@ -183,6 +183,8 @@ done: | |||||
| free(buf); | free(buf); | ||||
| free(cbuf); | free(cbuf); | ||||
| // flush(); | |||||
| _terminate = false; | _terminate = false; | ||||
| _thread.exit(); | _thread.exit(); | ||||
| @@ -39,6 +39,8 @@ public: | |||||
| run(); | run(); | ||||
| } | } | ||||
| virtual ~Playback_DS ( ) { shutdown(); } | |||||
| bool seek_pending ( void ); | bool seek_pending ( void ); | ||||
| void seek ( nframes_t frame ); | void seek ( nframes_t frame ); | ||||
| nframes_t process ( nframes_t nframes ); | nframes_t process ( nframes_t nframes ); | ||||
| @@ -152,6 +152,8 @@ Record_DS::disk_thread ( void ) | |||||
| delete c; | delete c; | ||||
| flush(); | |||||
| _terminate = false; | _terminate = false; | ||||
| DMESSAGE( "capture thread gone" ); | DMESSAGE( "capture thread gone" ); | ||||
| @@ -44,7 +44,7 @@ class Record_DS : public Disk_Stream | |||||
| void write_block ( sample_t *buf, nframes_t nframes ); | void write_block ( sample_t *buf, nframes_t nframes ); | ||||
| void disk_thread ( void ); | void disk_thread ( void ); | ||||
| void flush ( void ) { base_flush( false ); } | |||||
| virtual void flush ( void ) { base_flush( false ); } | |||||
| public: | public: | ||||
| @@ -60,6 +60,8 @@ public: | |||||
| _frames_written = 0; | _frames_written = 0; | ||||
| } | } | ||||
| virtual ~Record_DS ( ) { shutdown(); } | |||||
| /* bool seek_pending ( void ); */ | /* bool seek_pending ( void ); */ | ||||
| /* void seek ( nframes_t frame ); */ | /* void seek ( nframes_t frame ); */ | ||||
| const Audio_Region * capture_region ( void ) const; | const Audio_Region * capture_region ( void ) const; | ||||