clarify variable name
[ardour.git] / libs / ardour / srcfilesource.cc
index e54afbfaba738e64c50381109d7a9998bf639a67..03b85788e17afbd522277d609f7d7f77ab227992 100644 (file)
@@ -30,7 +30,7 @@
 using namespace ARDOUR;
 using namespace PBD;
 
-const uint32_t SrcFileSource::blocksize = 65536U; /* somewhat arbitrary */
+const uint32_t SrcFileSource::max_blocksize = 2097152U; /* see AudioDiskstream::_do_refill_with_alloc, max */
 
 SrcFileSource::SrcFileSource (Session& s, boost::shared_ptr<AudioFileSource> src, SrcQuality srcq)
        : Source(s, DataType::AUDIO, src->name(), Flag (src->flags() & ~(Writable|Removable|RemovableIfEmpty|RemoveAtDestroy)))
@@ -67,7 +67,7 @@ SrcFileSource::SrcFileSource (Session& s, boost::shared_ptr<AudioFileSource> src
        _ratio = s.nominal_frame_rate() / _source->sample_rate();
        _src_data.src_ratio = _ratio;
 
-       src_buffer_size = ceil((double)blocksize / _ratio) + 2;
+       src_buffer_size = ceil((double)max_blocksize / _ratio) + 2;
        _src_buffer = new float[src_buffer_size];
 
        int err;
@@ -84,6 +84,15 @@ SrcFileSource::~SrcFileSource ()
        delete [] _src_buffer;
 }
 
+void
+SrcFileSource::close ()
+{
+       boost::shared_ptr<FileSource> fs = boost::dynamic_pointer_cast<FileSource> (_source);
+       if (fs) {
+               fs->close ();
+       }
+}
+
 framecnt_t
 SrcFileSource::read_unlocked (Sample *dst, framepos_t start, framecnt_t cnt) const
 {