"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSSoundLib/Src/Wave/LSSWaveStreamingSoundSourceStreamer.h

00001 
00017 #ifndef __LSS_WAVESTREAMINGSOUNDSOURCESTREAMER_H__
00018 #define __LSS_WAVESTREAMINGSOUNDSOURCESTREAMER_H__
00019 
00020 #include "../LSSSoundLib.h"
00021 #include "../SoundComponents/LSSStreamingSoundSourceStreamer.h"
00022 #include "../SoundComponentsEx/LSSStreamerTypes.h"
00023 #include "HighLevel/LSFFileMap.h"
00024 #include "LSSWaveLoader.h"
00025 
00026 namespace lss {
00027 
00035         class CWaveStreamingSoundSourceStreamer : public IStreamingSoundSourceStreamer {
00036         public :
00037                 // == Various constructors.
00038                 LSE_CALLCTOR                                                            CWaveStreamingSoundSourceStreamer( const LSCHAR * _pcFile,
00039                         CAllocator * _paAllocator );
00040                 virtual LSE_CALLCTOR                                            ~CWaveStreamingSoundSourceStreamer();
00041 
00042 
00043                 // == Functions.
00055                 virtual LSBOOL LSE_CALL                                         GetData( LSUINT64 _ui64From, LSUINT64 &_ui64Length,
00056                         LSUINT8 * &_pui8Data, CAllocator * _paAllocator ) const;
00057 
00063                 virtual LSUINT32 LSE_CALL                                       GetType() const;
00064 
00070                 virtual const LSCHAR * LSE_CALL                         GetName() const;
00071 
00077                 virtual LSUINT32 LSE_CALL                                       GetFrequency() const;
00078 
00084                 virtual LSUINT32 LSE_CALL                                       GetBits() const;
00085 
00091                 virtual LSUINT32 LSE_CALL                                       GetChannels() const;
00092 
00098                 virtual LSUINT64 LSE_CALL                                       GetAudioLength() const;
00099 
00100 
00101         protected :
00102                 // == Members.
00107                 LSCHAR *                                                                        m_pcPath;
00108 
00112                 CAllocator *                                                            m_paAllocator;
00113 
00117                 CFileMap                                                                        m_fmMap;
00118 
00122                 CWaveLoader::LSE_WAVE_FILE_INFO                         m_wfiInfo;
00123 
00127                 LSUINT64                                                                        m_ui64SoundTime;
00128 
00129         private :
00130                 typedef IStreamingSoundSourceStreamer           Parent;
00131         };
00132 
00133 }       // namespace lss
00134 
00135 #endif  // __LSS_WAVESTREAMINGSOUNDSOURCESTREAMER_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator