reader fixes
This commit is contained in:
@@ -87,12 +87,12 @@ RageSoundReader_FileReader *RageSoundReader_FileReader::TryOpenFile( RageFileBas
|
||||
|
||||
RageSoundReader_FileReader *RageSoundReader_FileReader::OpenFile( RString filename, RString &error, bool *pPrebuffer )
|
||||
{
|
||||
RageFileBasic *pFile = NULL;
|
||||
HiddenPtr<RageFileBasic> pFile;
|
||||
{
|
||||
RageFile *pFileOpen = new RageFile;
|
||||
if( !pFileOpen->Open(filename) )
|
||||
{
|
||||
error = pFile->GetError();
|
||||
error = pFileOpen->GetError();
|
||||
delete pFileOpen;
|
||||
return NULL;
|
||||
}
|
||||
@@ -105,13 +105,13 @@ RageSoundReader_FileReader *RageSoundReader_FileReader::OpenFile( RString filena
|
||||
{
|
||||
RageFileObjMem *pMem = new RageFileObjMem;
|
||||
bool bRet = FileCopy( *pFile, *pMem, error, NULL );
|
||||
delete pFile;
|
||||
pFile = pMem;
|
||||
if( !bRet )
|
||||
{
|
||||
delete pFile;
|
||||
delete pMem;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
pFile = pMem;
|
||||
pFile->Seek( 0 );
|
||||
*pPrebuffer = true;
|
||||
}
|
||||
|
||||
@@ -693,6 +693,8 @@ RageSoundReader_MP3 *RageSoundReader_MP3::Copy() const
|
||||
{
|
||||
RageSoundReader_MP3 *ret = new RageSoundReader_MP3;
|
||||
|
||||
ret->m_pFile = m_pFile->Copy();
|
||||
ret->m_pFile->Seek( 0 );
|
||||
ret->m_bAccurateSync = m_bAccurateSync;
|
||||
ret->mad->filesize = mad->filesize;
|
||||
ret->mad->bitrate = mad->bitrate;
|
||||
|
||||
@@ -617,7 +617,9 @@ RageSoundReader_WAV::~RageSoundReader_WAV()
|
||||
RageSoundReader_WAV *RageSoundReader_WAV::Copy() const
|
||||
{
|
||||
RageSoundReader_WAV *ret = new RageSoundReader_WAV;
|
||||
ret->Open( m_pFile->Copy() );
|
||||
RageFileBasic *pFile = m_pFile->Copy();;
|
||||
pFile->Seek( 0 );
|
||||
ret->Open( pFile );
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user