J :
* Make it so that we do not crash trying to play an MP3 that failed to load.
This commit is contained in:
+4
-4
@@ -25,8 +25,8 @@ protected:
|
||||
int m_volume;
|
||||
int m_samplesPlayed;
|
||||
int m_inBufferSize, m_outBufferSize;
|
||||
char m_inBuffer[16*1024]; // ?
|
||||
short m_outBuffer[16*(1152/2)]; //?
|
||||
char m_inBuffer[16*1024] __attribute__((aligned(64))); // ?
|
||||
short m_outBuffer[16*(1152/2)] __attribute__((aligned(64))); //?
|
||||
int m_numChannels;
|
||||
int m_samplingRate;
|
||||
bool m_loop;
|
||||
@@ -40,11 +40,11 @@ public:
|
||||
int m_fileSize;
|
||||
char m_fileName[256];
|
||||
static JMP3* mInstance;
|
||||
JMP3(const std::string& filename, int inBufferSize= 16*1024, int outBufferSize =16*(1152/2));
|
||||
JMP3();
|
||||
~JMP3();
|
||||
static void init();
|
||||
bool fillBuffers();
|
||||
bool load(const std::string& filename, int inBufferSize, int outBufferSize);
|
||||
bool load(const std::string& filename, int inBufferSize = 16*1024, int outBufferSize = 16 * (1152/2));
|
||||
bool unload();
|
||||
bool update();
|
||||
bool play();
|
||||
|
||||
+1
-8
@@ -18,9 +18,8 @@ void JMP3::init() {
|
||||
loadModules();
|
||||
}
|
||||
|
||||
JMP3::JMP3(const std::string& filename, int inBufferSize, int outBufferSize) :
|
||||
JMP3::JMP3() :
|
||||
m_volume(PSP_AUDIO_VOLUME_MAX), m_samplesPlayed(0), m_paused(true) {
|
||||
load(filename, inBufferSize,outBufferSize);
|
||||
}
|
||||
|
||||
JMP3::~JMP3() {
|
||||
@@ -112,12 +111,6 @@ bool JMP3::load(const std::string& filename, int inBufferSize, int outBufferSize
|
||||
sceIoLseek32(m_fileHandle, 0, SEEK_SET);
|
||||
m_fileSize = fileSize;
|
||||
|
||||
|
||||
unsigned char* testbuffer = new unsigned char[7456];
|
||||
sceIoRead(m_fileHandle, testbuffer, 7456);
|
||||
|
||||
delete testbuffer;
|
||||
|
||||
initArgs.unk1 = 0;
|
||||
initArgs.unk2 = 0;
|
||||
initArgs.mp3StreamStart = 0;
|
||||
|
||||
+9
-4
@@ -109,13 +109,18 @@ JMusic *JSoundSystem::LoadMusic(const char *fileName)
|
||||
string s = "Res/";
|
||||
#endif
|
||||
s.append(fileName);
|
||||
JMusic *music = new JMusic();
|
||||
if (music)
|
||||
JMusic *music = new JMusic();
|
||||
if (music)
|
||||
{
|
||||
music->mTrack = new JMP3();
|
||||
if (!music->mTrack->load(s))
|
||||
{
|
||||
music->mTrack = new JMP3(s);
|
||||
free(music->mTrack);
|
||||
music->mTrack = NULL;
|
||||
}
|
||||
}
|
||||
JMP3::mInstance = music->mTrack;
|
||||
return music;
|
||||
return music;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user