"L. Spiro Engine"

F:/My Projects/LSEngine/Modules/LSSoundLib/Src/SoundComponents/LSSStreamingSoundSourceStreamer.h

00001 
00018 #ifndef __LSS_STREAMINGSOUNDSOURCESTREAMER_H__
00019 #define __LSS_STREAMINGSOUNDSOURCESTREAMER_H__
00020 
00021 #include "../LSSSoundLib.h"
00022 #include "Allocator/LSTLAllocator.h"
00023 
00024 namespace lss {
00025 
00029         enum LSS_DATA_SOURCE_STREAMERS {
00030                 LSS_DSS_BASE                                                            = (1UL << 0UL),
00031         };
00032 
00041         class IStreamingSoundSourceStreamer {
00042         public :
00043                 // == Various constructors.
00044                 LSE_CALLCTOR                                                            IStreamingSoundSourceStreamer();
00045                 virtual LSE_CALLCTOR                                            ~IStreamingSoundSourceStreamer();
00046 
00047 
00048                 // == Functions.
00060                 virtual LSBOOL LSE_CALL                                         GetData( LSUINT64 _ui64From, LSUINT64 &_ui64Length,
00061                         LSUINT8 * &_pui8Data, CAllocator * _paAllocator ) const = 0;
00062 
00069                 virtual LSUINT32 LSE_CALL                                       GetType() const = 0;
00070 
00076                 virtual const LSCHAR * LSE_CALL                         GetName() const = 0;
00077 
00083                 virtual LSUINT32 LSE_CALL                                       GetFrequency() const = 0;
00084 
00090                 virtual LSUINT32 LSE_CALL                                       GetBits() const = 0;
00091 
00097                 virtual LSUINT32 LSE_CALL                                       GetChannels() const = 0;
00098 
00104                 virtual LSUINT64 LSE_CALL                                       GetAudioLength() const = 0;
00105 
00109                 LSVOID LSE_CALL                                                         IncRef() const;
00110 
00114                 LSVOID LSE_CALL                                                         DecRef() const;
00115 
00121                 LSUINT32 LSE_CALL                                                       GetRef() const;
00122 
00123 
00124         protected :
00125                 // == Members.
00129                 mutable LSUINT32                                                        m_ui32RefCount;
00130 
00131         };
00132 
00133 }       // namespace lss
00134 
00135 #endif  // __LSS_STREAMINGSOUNDSOURCESTREAMER_H__
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator