diff options
Diffstat (limited to 'indra/llaudio')
| -rw-r--r-- | indra/llaudio/CMakeLists.txt | 6 | ||||
| -rw-r--r-- | indra/llaudio/llaudiodecodemgr.cpp | 58 | ||||
| -rw-r--r-- | indra/llaudio/llaudiodecodemgr.h | 1 | ||||
| -rw-r--r-- | indra/llaudio/llaudioengine.cpp | 15 | ||||
| -rw-r--r-- | indra/llaudio/llaudioengine.h | 13 | 
5 files changed, 32 insertions, 61 deletions
| diff --git a/indra/llaudio/CMakeLists.txt b/indra/llaudio/CMakeLists.txt index 558ede7bf6..92a5cfe22f 100644 --- a/indra/llaudio/CMakeLists.txt +++ b/indra/llaudio/CMakeLists.txt @@ -9,14 +9,14 @@ include(OPENAL)  include(LLCommon)  include(LLMath)  include(LLMessage) -include(LLVFS) +include(LLFileSystem)  include_directories(      ${LLAUDIO_INCLUDE_DIRS}      ${LLCOMMON_INCLUDE_DIRS}      ${LLMATH_INCLUDE_DIRS}      ${LLMESSAGE_INCLUDE_DIRS} -    ${LLVFS_INCLUDE_DIRS} +    ${LLFILESYSTEM_INCLUDE_DIRS}      ${OGG_INCLUDE_DIRS}      ${VORBISENC_INCLUDE_DIRS}      ${VORBISFILE_INCLUDE_DIRS} @@ -86,7 +86,7 @@ target_link_libraries(      ${LLCOMMON_LIBRARIES}      ${LLMATH_LIBRARIES}      ${LLMESSAGE_LIBRARIES} -    ${LLVFS_LIBRARIES} +    ${LLFILESYSTEM_LIBRARIES}      ${VORBISENC_LIBRARIES}      ${VORBISFILE_LIBRARIES}      ${VORBIS_LIBRARIES} diff --git a/indra/llaudio/llaudiodecodemgr.cpp b/indra/llaudio/llaudiodecodemgr.cpp index e7db84f6ab..ff0aa6e76e 100644 --- a/indra/llaudio/llaudiodecodemgr.cpp +++ b/indra/llaudio/llaudiodecodemgr.cpp @@ -29,7 +29,7 @@  #include "llaudioengine.h"  #include "lllfsthread.h" -#include "llvfile.h" +#include "llfilesystem.h"  #include "llstring.h"  #include "lldir.h"  #include "llendianswizzle.h" @@ -90,19 +90,17 @@ protected:  	LLUUID mUUID;  	std::vector<U8> mWAVBuffer; -#if !defined(USE_WAV_VFILE)  	std::string mOutFilename;  	LLLFSThread::handle_t mFileHandle; -#endif -	LLVFile *mInFilep; +	LLFileSystem *mInFilep;  	OggVorbis_File mVF;  	S32 mCurrentSection;  }; -size_t vfs_read(void *ptr, size_t size, size_t nmemb, void *datasource) +size_t cache_read(void *ptr, size_t size, size_t nmemb, void *datasource)  { -	LLVFile *file = (LLVFile *)datasource; +	LLFileSystem *file = (LLFileSystem *)datasource;  	if (file->read((U8*)ptr, (S32)(size * nmemb)))	/*Flawfinder: ignore*/  	{ @@ -115,11 +113,11 @@ size_t vfs_read(void *ptr, size_t size, size_t nmemb, void *datasource)  	}  } -S32 vfs_seek(void *datasource, ogg_int64_t offset, S32 whence) +S32 cache_seek(void *datasource, ogg_int64_t offset, S32 whence)  { -	LLVFile *file = (LLVFile *)datasource; +	LLFileSystem *file = (LLFileSystem *)datasource; -	// vfs has 31-bit files +	// cache has 31-bit files  	if (offset > S32_MAX)  	{  		return -1; @@ -137,7 +135,7 @@ S32 vfs_seek(void *datasource, ogg_int64_t offset, S32 whence)  		origin = -1;  		break;  	default: -		LL_ERRS("AudioEngine") << "Invalid whence argument to vfs_seek" << LL_ENDL; +		LL_ERRS("AudioEngine") << "Invalid whence argument to cache_seek" << LL_ENDL;  		return -1;  	} @@ -151,16 +149,16 @@ S32 vfs_seek(void *datasource, ogg_int64_t offset, S32 whence)  	}  } -S32 vfs_close (void *datasource) +S32 cache_close (void *datasource)  { -	LLVFile *file = (LLVFile *)datasource; +	LLFileSystem *file = (LLFileSystem *)datasource;  	delete file;  	return 0;  } -long vfs_tell (void *datasource) +long cache_tell (void *datasource)  { -	LLVFile *file = (LLVFile *)datasource; +	LLFileSystem *file = (LLFileSystem *)datasource;  	return file->tell();  } @@ -172,11 +170,10 @@ LLVorbisDecodeState::LLVorbisDecodeState(const LLUUID &uuid, const std::string &  	mUUID = uuid;  	mInFilep = NULL;  	mCurrentSection = 0; -#if !defined(USE_WAV_VFILE)  	mOutFilename = out_filename;  	mFileHandle = LLLFSThread::nullHandle(); -#endif -	// No default value for mVF, it's an ogg structure? + +    // No default value for mVF, it's an ogg structure?  	// Hey, let's zero it anyway, for predictability.  	memset(&mVF, 0, sizeof(mVF));  } @@ -193,15 +190,15 @@ LLVorbisDecodeState::~LLVorbisDecodeState()  BOOL LLVorbisDecodeState::initDecode()  { -	ov_callbacks vfs_callbacks; -	vfs_callbacks.read_func = vfs_read; -	vfs_callbacks.seek_func = vfs_seek; -	vfs_callbacks.close_func = vfs_close; -	vfs_callbacks.tell_func = vfs_tell; +	ov_callbacks cache_callbacks; +	cache_callbacks.read_func = cache_read; +	cache_callbacks.seek_func = cache_seek; +	cache_callbacks.close_func = cache_close; +	cache_callbacks.tell_func = cache_tell;  	LL_DEBUGS("AudioEngine") << "Initing decode from vfile: " << mUUID << LL_ENDL; -	mInFilep = new LLVFile(gVFS, mUUID, LLAssetType::AT_SOUND); +	mInFilep = new LLFileSystem(mUUID, LLAssetType::AT_SOUND);  	if (!mInFilep || !mInFilep->getSize())  	{  		LL_WARNS("AudioEngine") << "unable to open vorbis source vfile for reading" << LL_ENDL; @@ -210,7 +207,7 @@ BOOL LLVorbisDecodeState::initDecode()  		return FALSE;  	} -	S32 r = ov_open_callbacks(mInFilep, &mVF, NULL, 0, vfs_callbacks); +	S32 r = ov_open_callbacks(mInFilep, &mVF, NULL, 0, cache_callbacks);  	if(r < 0)   	{  		LL_WARNS("AudioEngine") << r << " Input to vorbis decode does not appear to be an Ogg bitstream: " << mUUID << LL_ENDL; @@ -370,7 +367,7 @@ BOOL LLVorbisDecodeState::decodeSection()  {  	if (!mInFilep)  	{ -		LL_WARNS("AudioEngine") << "No VFS file to decode in vorbis!" << LL_ENDL; +		LL_WARNS("AudioEngine") << "No cache file to decode in vorbis!" << LL_ENDL;  		return TRUE;  	}  	if (mDone) @@ -420,9 +417,7 @@ BOOL LLVorbisDecodeState::finishDecode()  		return TRUE; // We've finished  	} -#if !defined(USE_WAV_VFILE)	  	if (mFileHandle == LLLFSThread::nullHandle()) -#endif  	{  		ov_clear(&mVF); @@ -495,11 +490,9 @@ BOOL LLVorbisDecodeState::finishDecode()  			mValid = FALSE;  			return TRUE; // we've finished  		} -#if !defined(USE_WAV_VFILE)  		mBytesRead = -1;  		mFileHandle = LLLFSThread::sLocal->write(mOutFilename, &mWAVBuffer[0], 0, mWAVBuffer.size(),  							 new WriteResponder(this)); -#endif  	}  	if (mFileHandle != LLLFSThread::nullHandle()) @@ -521,11 +514,6 @@ BOOL LLVorbisDecodeState::finishDecode()  	mDone = TRUE; -#if defined(USE_WAV_VFILE) -	// write the data. -	LLVFile output(gVFS, mUUID, LLAssetType::AT_SOUND_WAV); -	output.write(&mWAVBuffer[0], mWAVBuffer.size()); -#endif  	LL_DEBUGS("AudioEngine") << "Finished decode for " << getUUID() << LL_ENDL;  	return TRUE; @@ -535,7 +523,7 @@ void LLVorbisDecodeState::flushBadFile()  {  	if (mInFilep)  	{ -		LL_WARNS("AudioEngine") << "Flushing bad vorbis file from VFS for " << mUUID << LL_ENDL; +		LL_WARNS("AudioEngine") << "Flushing bad vorbis file from cache for " << mUUID << LL_ENDL;  		mInFilep->remove();  	}  } diff --git a/indra/llaudio/llaudiodecodemgr.h b/indra/llaudio/llaudiodecodemgr.h index 8228e20e8c..ceaff3f2d8 100644 --- a/indra/llaudio/llaudiodecodemgr.h +++ b/indra/llaudio/llaudiodecodemgr.h @@ -33,7 +33,6 @@  #include "llassettype.h"  #include "llframetimer.h" -class LLVFS;  class LLVorbisDecodeState;  class LLAudioDecodeMgr diff --git a/indra/llaudio/llaudioengine.cpp b/indra/llaudio/llaudioengine.cpp index 1d447f32ae..d35f249973 100644 --- a/indra/llaudio/llaudioengine.cpp +++ b/indra/llaudio/llaudioengine.cpp @@ -35,7 +35,7 @@  #include "sound_ids.h"  // temporary hack for min/max distances -#include "llvfs.h" +#include "llfilesystem.h"  #include "lldir.h"  #include "llaudiodecodemgr.h"  #include "llassetstorage.h" @@ -684,13 +684,9 @@ bool LLAudioEngine::preloadSound(const LLUUID &uuid)  		return true;  	} -	// At some point we need to have the audio/asset system check the static VFS -	// before it goes off and fetches stuff from the server. -	//LL_WARNS() << "Used internal preload for non-local sound" << LL_ENDL;  	return false;  } -  bool LLAudioEngine::isWindEnabled()  {  	return mEnableWind; @@ -1018,13 +1014,12 @@ bool LLAudioEngine::hasDecodedFile(const LLUUID &uuid)  bool LLAudioEngine::hasLocalFile(const LLUUID &uuid)  { -	// See if it's in the VFS. -	bool have_local = gVFS->getExists(uuid, LLAssetType::AT_SOUND); -	LL_DEBUGS("AudioEngine") << "sound uuid "<<uuid<<" exists in VFS"<<LL_ENDL; +	// See if it's in the cache. +	bool have_local = LLFileSystem::getExists(uuid, LLAssetType::AT_SOUND); +	LL_DEBUGS("AudioEngine") << "sound uuid " << uuid << " exists in cache" << LL_ENDL;  	return have_local;  } -  void LLAudioEngine::startNextTransfer()  {  	//LL_INFOS() << "LLAudioEngine::startNextTransfer()" << LL_ENDL; @@ -1225,7 +1220,7 @@ void LLAudioEngine::startNextTransfer()  // static -void LLAudioEngine::assetCallback(LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType type, void *user_data, S32 result_code, LLExtStat ext_status) +void LLAudioEngine::assetCallback(const LLUUID &uuid, LLAssetType::EType type, void *user_data, S32 result_code, LLExtStat ext_status)  {  	if (!gAudiop)  	{ diff --git a/indra/llaudio/llaudioengine.h b/indra/llaudio/llaudioengine.h index 97674f15f7..577b36d667 100644 --- a/indra/llaudio/llaudioengine.h +++ b/indra/llaudio/llaudioengine.h @@ -50,15 +50,6 @@ const F32 DEFAULT_MIN_DISTANCE = 2.0f;  #define MAX_CHANNELS 30  #define MAX_BUFFERS 40	// Some extra for preloading, maybe? -// This define is intended to allow us to switch from os based wav -// file loading to vfs based wav file loading. The problem is that I -// am unconvinced that the LLWaveFile works for loading sounds from -// memory. So, until that is fixed up, changed, whatever, this remains -// undefined. -//#define USE_WAV_VFILE - -class LLVFS; -  class LLAudioSource;  class LLAudioData;  class LLAudioChannel; @@ -67,11 +58,9 @@ class LLAudioBuffer;  class LLStreamingAudioInterface;  struct SoundData; -  //  //  LLAudioEngine definition  // -  class LLAudioEngine   {  	friend class LLAudioChannelOpenAL; // bleh. channel needs some listener methods. @@ -182,7 +171,7 @@ public:  	// Asset callback when we're retrieved a sound from the asset server.  	void startNextTransfer(); -	static void assetCallback(LLVFS *vfs, const LLUUID &uuid, LLAssetType::EType type, void *user_data, S32 result_code, LLExtStat ext_status); +	static void assetCallback(const LLUUID &uuid, LLAssetType::EType type, void *user_data, S32 result_code, LLExtStat ext_status);  	friend class LLPipeline; // For debugging  public: | 
