⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 au1kac97.h

📁 基于AMD Au1200(MIPS32处理器)的AC97驱动源码
💻 H
字号:
/*******************************************************************
    Copyright (c) 2004 BSQUARE Corporation.  All rights reserved.
 ******************************************************************/

#ifndef _AU1K_AC97_H_
#define _AU1K_AC97_H_

#include <platform.h>
#include <waveddsi.h>
#include <mmreg.h>

#define AUDIO_REGKEY    (TEXT("Drivers\\BuiltIn\\WaveDev"))
#define AC97_DEFAULT_MICVOLUME      (0x8008)
#define DEFAULT_PCM_VOLUME 0

typedef struct _WAVE_DEVICE {
    PDMA_CHANNEL_OBJECT     DMAChannelInput;
	PDMA_CHANNEL_OBJECT     DMAChannelOutput;
    ULONG                DmaBufferSize;              // Size in bytes of a
                                                    //   single DMA buffer
                                                    //   (2/channel).
    PSC_AC97*            AC97Ctrl;

	DWORD                MicVolume;
    CRITICAL_SECTION     CriticalSection;
	CEDEVICE_POWER_STATE CurrentPowerState;
} WAVE_DEVICE_INSTANCE, *PWAVE_DEVICE_INSTANCE;

typedef struct WAVE_RESOURCE {
    PDMA_CHANNEL_OBJECT DMAChannel;
	ULONG               SysIntr;

    ULONG               DmaBufferSize;

    LONG                InUse;          // TRUE if actively recording/playing;
                                        //   FALSE otherwise.
    PWAVEHDR            WaveHeader;     // Header of current wave buffer.

    WAVEFORMATEX        WaveFormat;     // Stream format information.

    WAPI_INOUT          WaveDirection;  // Input (record) or output (play).

    BOOLEAN             MoreData;       // TRUE if there is more data to play/
                                        //   record; FALSE otherwise.
    PSC_AC97*           AC97Ctrl;

    CRITICAL_SECTION    CriticalSection;
	BOOL				DmaRunning;

} WAVE_RESOURCE, *PWAVE_RESOURCE;

extern DWORD
FindMicVolume(    
	PWAVE_DEVICE_INSTANCE WaveDevice
);

#define DMA_BUFFER_SIZE 32768
#define BYTES_PER_SAMPLE 4
#define BITS_8_TO_16(x) \
    (((SHORT)((UCHAR)(x) - 128)) << 8)

#endif _AU1K_AC97_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -