diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-05-28 02:30:25 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-05-28 02:30:25 +0000 |
commit | 788dfc6a517f953d9bad94f4169bfd4d4a8ca4f5 (patch) | |
tree | 79f10ffa24efd2f8b410422ab3323808a7cda321 /libs/ardour/audio_playlist_source.cc | |
parent | 43495d7f2b4ee4189e7b5497539ebe8eb126a3aa (diff) |
clean up memory leaks with nested source read buffers
git-svn-id: svn://localhost/ardour2/branches/3.0@9621 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/audio_playlist_source.cc')
-rw-r--r-- | libs/ardour/audio_playlist_source.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libs/ardour/audio_playlist_source.cc b/libs/ardour/audio_playlist_source.cc index 09b30ff87a..f225db9c45 100644 --- a/libs/ardour/audio_playlist_source.cc +++ b/libs/ardour/audio_playlist_source.cc @@ -130,8 +130,8 @@ AudioPlaylistSource::set_state (const XMLNode& node, int version, bool with_desc framecnt_t AudioPlaylistSource::read_unlocked (Sample* dst, framepos_t start, framecnt_t cnt) const { - Sample* sbuf; - gain_t* gbuf; + boost::shared_ptr<Sample> sbuf; + boost::shared_ptr<gain_t> gbuf; framecnt_t to_read; framecnt_t to_zero; pair<framepos_t,framepos_t> extent = _playlist->get_extent(); @@ -160,7 +160,7 @@ AudioPlaylistSource::read_unlocked (Sample* dst, framepos_t start, framecnt_t cn gbuf = _gain_buffers[_level-1]; } - boost::dynamic_pointer_cast<AudioPlaylist>(_playlist)->read (dst, sbuf, gbuf, start+_playlist_offset, to_read, _playlist_channel); + boost::dynamic_pointer_cast<AudioPlaylist>(_playlist)->read (dst, sbuf.get(), gbuf.get(), start+_playlist_offset, to_read, _playlist_channel); if (to_zero) { memset (dst+to_read, 0, sizeof (Sample) * to_zero); |