1/****************************************************************************** 2 3 File: AudioStream.h 4 5 Copyright 1995-97, Be Incorporated 6 7******************************************************************************/ 8#ifndef _AUDIO_STREAM_H 9#define _AUDIO_STREAM_H 10 11 12#include "OldBufferStream.h" 13 14 15/* ================ 16 Class definition for BADCStream and BDACStream 17 ================ */ 18 19class BADCStream : public BAbstractBufferStream 20{ 21public: 22 23 BADCStream(); 24 virtual ~BADCStream(); 25 26 status_t SetADCInput(int32 device); 27 status_t ADCInput(int32* device) const; 28 29 status_t SetSamplingRate(float sRate); 30 status_t SamplingRate(float* sRate) const; 31 32 status_t BoostMic(bool boost); 33 bool IsMicBoosted() const; 34 35 status_t SetStreamBuffers(size_t bufferSize, int32 bufferCount); 36 37protected: 38 39 virtual BMessenger* Server() const; /* message pipe to server */ 40 virtual stream_id StreamID() const; /* stream identifier */ 41 42private: 43 44virtual void _ReservedADCStream1(); 45virtual void _ReservedADCStream2(); 46virtual void _ReservedADCStream3(); 47 48 BMessenger* fServer; 49 stream_id fStreamID; 50 uint32 _reserved[4]; 51}; 52 53 54class BDACStream : public BAbstractBufferStream 55{ 56public: 57 58 BDACStream(); 59 virtual ~BDACStream(); 60 61 status_t SetSamplingRate(float sRate); 62 status_t SamplingRate(float* sRate) const; 63 64 status_t SetVolume(int32 device, 65 float l_volume, 66 float r_volume); 67 68 status_t GetVolume(int32 device, 69 float *l_volume, 70 float *r_volume, 71 bool *enabled) const; 72 73 status_t EnableDevice(int32 device, bool enable); 74 bool IsDeviceEnabled(int32 device) const; 75 76 status_t SetStreamBuffers(size_t bufferSize, int32 bufferCount); 77 78protected: 79 80 virtual BMessenger* Server() const; /* message pipe to server */ 81 virtual stream_id StreamID() const; /* stream identifier */ 82 83private: 84 85virtual void _ReservedDACStream1(); 86virtual void _ReservedDACStream2(); 87virtual void _ReservedDACStream3(); 88 89 BMessenger* fServer; 90 stream_id fStreamID; 91 uint32 _reserved[4]; 92}; 93 94#endif // #ifdef _AUDIO_STREAM_H 95