Audiofile doesn't free the audiocodec* anymore

Avoid segmentation fault when audiofile tries to unmap an audiolodec that is already unmapped
This commit is contained in:
Emmanuel Milou
2008-03-13 15:21:12 -04:00
parent 8121ef7158
commit 2de5c139af
2 changed files with 13 additions and 15 deletions

View File

@ -25,7 +25,6 @@
#include <fstream>
#include <math.h>
#include <samplerate.h>
#include <dlfcn.h>
AudioFile::AudioFile()
: AudioLoop()
@ -36,7 +35,6 @@ AudioFile::AudioFile()
AudioFile::~AudioFile()
{
delete _codec;
}
// load file in mono format

View File

@ -909,20 +909,20 @@ ManagerImpl::ringtone()
int sampleRate = audiolayer->getSampleRate();
AudioCodec* codecForTone = _codecDescriptorMap.getFirstCodecAvailable();
//_toneMutex.enterMutex();
// bool loadFile = _audiofile.loadFile(ringchoice, codecForTone , sampleRate);
//_toneMutex.leaveMutex();
//if (loadFile) {
//_toneMutex.enterMutex();
//_audiofile.start();
//_toneMutex.leaveMutex();
//int size = _audiofile.getSize();
//SFLDataFormat output[ size ];
//_audiofile.getNext(output, size , 100);
//audiolayer->putUrgent( output , size );
//} else {
_toneMutex.enterMutex();
bool loadFile = _audiofile.loadFile(ringchoice, codecForTone , sampleRate);
_toneMutex.leaveMutex();
if (loadFile) {
_toneMutex.enterMutex();
_audiofile.start();
_toneMutex.leaveMutex();
int size = _audiofile.getSize();
SFLDataFormat output[ size ];
_audiofile.getNext(output, size , 100);
audiolayer->putUrgent( output , size );
} else {
ringback();
//}
}
}
AudioLoop*