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