add an explicit close function to sndfile
NB. if someday we want to switch back to upstream SndfileHandle, we need to subclass wrap it. (not sure what else is different, anyway)
This commit is contained in:
@@ -87,6 +87,8 @@ class SndfileHandle
|
||||
SndfileHandle (const SndfileHandle &orig) ;
|
||||
SndfileHandle & operator = (const SndfileHandle &rhs) ;
|
||||
|
||||
void close (void) ;
|
||||
|
||||
/* Mainly for debugging/testing. */
|
||||
int refCount (void) const { return (p == NULL) ? 0 : p->ref ; }
|
||||
|
||||
@@ -152,6 +154,18 @@ inline
|
||||
SndfileHandle::SNDFILE_ref::~SNDFILE_ref (void)
|
||||
{ if (sf != NULL) { sf_close (sf) ; } }
|
||||
|
||||
|
||||
void
|
||||
SndfileHandle::close (void)
|
||||
{
|
||||
if (p != NULL && --p->ref == 0)
|
||||
{
|
||||
delete p ;
|
||||
p = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
inline
|
||||
SndfileHandle::SndfileHandle (const char *path, int mode, int fmt, int chans, int srate)
|
||||
: p (NULL)
|
||||
|
||||
Reference in New Issue
Block a user