AudioTrack::~AudioTrack ()
{
+ if (_freeze_record.playlist) {
+ _freeze_record.playlist->release();
+ }
}
boost::shared_ptr<Diskstream>
boost::shared_ptr<Playlist> pl = _session.playlists->by_name (prop->value());
if (pl) {
_freeze_record.playlist = boost::dynamic_pointer_cast<AudioPlaylist> (pl);
+ _freeze_record.playlist->use();
} else {
_freeze_record.playlist.reset ();
_freeze_record.state = NoFreeze;
diskstream->use_playlist (boost::dynamic_pointer_cast<AudioPlaylist>(new_playlist));
diskstream->set_record_enabled (false);
+ _freeze_record.playlist->use(); // prevent deletion
+
/* reset stuff that has already been accounted for in the freeze process */
set_gain (GAIN_COEFF_UNITY, this);