2 * SiS 7018, Trident 4D Wave DX/NX, Acer Lab M5451 Sound Driver.
3 * Copyright (c) 2002, 2008-2011 S.Zharski <imker@gmx.li>
4 * Distributed under the terms of the MIT license.
7 #ifndef _SiS7018_STREAM_H_
8 #define _SiS7018_STREAM_H_
11 #include "hmulti_audio.h"
18 Stream(Device
* device
, bool isInput
);
23 status_t
InitCheck() { return fStatus
; }
27 bool IsActive() { return fIsActive
; }
29 void GetBuffers(uint32
& Flags
,
33 buffer_desc
** Buffers
);
35 void ExchangeBuffers(bigtime_t
& RealTime
,
36 bigtime_t
& FramesCount
,
39 void GetFormat(multi_format_info
*Format
);
40 status_t
SetFormat(_multi_format
& format
,
41 uint32 formats
, uint32 rates
);
43 bool InterruptHandler();
47 uint32
_DecodeRate(uint32 rate
);
48 inline bool _UseBankB() { return (fHWChannel
& 0x20) == 0x20; }
49 inline uint32
_HWVoice() { return fHWChannel
& 0x1f; }
50 inline uint32
_HWId();
59 size_t fBuffersAreaSize
;
60 size_t fBufferSamplesCount
;
61 void* fBuffersAddress
;
62 phys_addr_t fBuffersPhysAddress
;
64 _multi_format fFormat
;
66 bigtime_t fFramesCount
;
71 #endif // _SiS7018_STREAM_H_