You.i Engine
YiAudioStream.h
Go to the documentation of this file.
1 // ©️ You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_AUDIO_STREAM_H_
3 #define _YI_AUDIO_STREAM_H_
4 
5 #include <framework/YiPredef.h>
6 #include <thread/YiMutex.h>
7 
8 #include <memory>
9 
10 class CYIAudioEngine;
11 
22 class CYIAudioStream : public std::enable_shared_from_this<CYIAudioStream>
23 {
24  friend class CYIAudioEngine;
25 
26 public:
28  virtual ~CYIAudioStream();
29 
37  virtual bool Process(CYIAudioEngine *pAudioEngine, float *pData, uint32_t uFrameCount) = 0;
38 
39 private:
40  bool IsRegistered() const;
41  void SetRegistered(bool bRegistered);
42 
43  bool m_bRegistered;
44 };
45 
48 #endif // _YI_AUDIO_STREAM_H_
virtual ~CYIAudioStream()
Base audio stream class that can process raw audio PCM.
Definition: YiAudioStream.h:22
Object responsible for processing audio streams and output to the platform.
Definition: YiAudioEngine.h:30
virtual bool Process(CYIAudioEngine *pAudioEngine, float *pData, uint32_t uFrameCount)=0