mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-13 01:56:34 +01:00
Use boost::scoped_ptr to control scope of peakfile descriptor
This commit is contained in:
parent
1bd570c276
commit
f754e1c0bb
1 changed files with 3 additions and 8 deletions
|
|
@ -30,6 +30,8 @@
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
#include <boost/scoped_ptr.hpp>
|
||||||
|
|
||||||
#include <glibmm/fileutils.h>
|
#include <glibmm/fileutils.h>
|
||||||
#include <glibmm/miscutils.h>
|
#include <glibmm/miscutils.h>
|
||||||
|
|
||||||
|
|
@ -324,7 +326,7 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t
|
||||||
PeakData* staging = 0;
|
PeakData* staging = 0;
|
||||||
Sample* raw_staging = 0;
|
Sample* raw_staging = 0;
|
||||||
|
|
||||||
FdFileDescriptor* peakfile_descriptor = new FdFileDescriptor (peakpath, false, 0664);
|
boost::scoped_ptr<FdFileDescriptor> peakfile_descriptor(new FdFileDescriptor (peakpath, false, 0664));
|
||||||
int peakfile_fd = -1;
|
int peakfile_fd = -1;
|
||||||
|
|
||||||
expected_peaks = (cnt / (double) samples_per_file_peak);
|
expected_peaks = (cnt / (double) samples_per_file_peak);
|
||||||
|
|
@ -365,7 +367,6 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t
|
||||||
peaks[i].min = raw_staging[i];
|
peaks[i].min = raw_staging[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
delete peakfile_descriptor;
|
|
||||||
delete [] raw_staging;
|
delete [] raw_staging;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
@ -378,7 +379,6 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t
|
||||||
|
|
||||||
if ((peakfile_fd = peakfile_descriptor->allocate ()) < 0) {
|
if ((peakfile_fd = peakfile_descriptor->allocate ()) < 0) {
|
||||||
error << string_compose(_("AudioSource: cannot open peakpath (a) \"%1\" (%2)"), peakpath, strerror (errno)) << endmsg;
|
error << string_compose(_("AudioSource: cannot open peakpath (a) \"%1\" (%2)"), peakpath, strerror (errno)) << endmsg;
|
||||||
delete peakfile_descriptor;
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -391,7 +391,6 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t
|
||||||
if (nread != sizeof (PeakData) * npeaks) {
|
if (nread != sizeof (PeakData) * npeaks) {
|
||||||
DEBUG_TRACE (DEBUG::Peaks, string_compose ("[%1]: Cannot read peaks from peakfile! (read only %2 not %3 at sample %4 = byte %5 )\n"
|
DEBUG_TRACE (DEBUG::Peaks, string_compose ("[%1]: Cannot read peaks from peakfile! (read only %2 not %3 at sample %4 = byte %5 )\n"
|
||||||
, _name, nread, npeaks, start, first_peak_byte));
|
, _name, nread, npeaks, start, first_peak_byte));
|
||||||
delete peakfile_descriptor;
|
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -399,7 +398,6 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t
|
||||||
memset (&peaks[npeaks], 0, sizeof (PeakData) * zero_fill);
|
memset (&peaks[npeaks], 0, sizeof (PeakData) * zero_fill);
|
||||||
}
|
}
|
||||||
|
|
||||||
delete peakfile_descriptor;
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -443,7 +441,6 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t
|
||||||
|
|
||||||
if ((peakfile_fd = peakfile_descriptor->allocate ()) < 0) {
|
if ((peakfile_fd = peakfile_descriptor->allocate ()) < 0) {
|
||||||
error << string_compose(_("AudioSource: cannot open peakpath (b) \"%1\" (%2)"), peakpath, strerror (errno)) << endmsg;
|
error << string_compose(_("AudioSource: cannot open peakpath (b) \"%1\" (%2)"), peakpath, strerror (errno)) << endmsg;
|
||||||
delete peakfile_descriptor;
|
|
||||||
delete [] staging;
|
delete [] staging;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
@ -589,8 +586,6 @@ AudioSource::read_peaks_with_fpp (PeakData *peaks, framecnt_t npeaks, framepos_t
|
||||||
}
|
}
|
||||||
|
|
||||||
out:
|
out:
|
||||||
delete peakfile_descriptor;
|
|
||||||
|
|
||||||
delete [] staging;
|
delete [] staging;
|
||||||
delete [] raw_staging;
|
delete [] raw_staging;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue