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

📄 codec_io.cod

📁 wince 6.0 arm 音频驱动源码 waveDev方式
💻 COD
📖 第 1 页 / 共 3 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 14.01.60511.01 

	TTL	D:\WINCE600\PLATFORM\M-stone\SRC\DRIVERS\WAVEDEV2\codec_io.cpp
	CODE32

  00000			 AREA	 |.drectve|, DRECTVE
	DCB	"-defaultlib:LIBCMT "
	DCB	"-defaultlib:OLDNAMES "


  00000			 AREA	 |.data|, DATA
|g_hCodecDeviceHandle| DCD 0xffffffff
	EXPORT	|??_C@_1FI@MNLJPAOG@?$AAG?$AAe?$AAt?$AAC?$AAo?$AAd?$AAe?$AAc?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAH?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr@| [ DATA ] ; `string'
	EXPORT	|??_C@_1M@KDCEPCIJ@?$AAC?$AAD?$AAC?$AA1?$AA?3?$AA?$AA@| [ DATA ] ; `string'
	EXPORT	|?GetCodecDeviceHandle@@YAHXZ|		; GetCodecDeviceHandle
	IMPORT	|NKDbgPrintfW|
	IMPORT	|GetLastError|
	IMPORT	|CreateFileW|

  00000			 AREA	 |.pdata|, PDATA
|$T32106| DCD	|$LN9@GetCodecDe|
	DCD	0x40002f02
; File d:\wince600\platform\m-stone\src\drivers\wavedev2\codec_io.cpp

  00000			 AREA	 |.rdata|, DATA, READONLY
|??_C@_1FI@MNLJPAOG@?$AAG?$AAe?$AAt?$AAC?$AAo?$AAd?$AAe?$AAc?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAH?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr@| DCB "G"
	DCB	0x0, "e", 0x0, "t", 0x0, "C", 0x0, "o", 0x0, "d", 0x0, "e"
	DCB	0x0, "c", 0x0, "D", 0x0, "e", 0x0, "v", 0x0, "i", 0x0, "c"
	DCB	0x0, "e", 0x0, "H", 0x0, "a", 0x0, "n", 0x0, "d", 0x0, "l"
	DCB	0x0, "e", 0x0, " ", 0x0, "F", 0x0, "a", 0x0, "i", 0x0, "l"
	DCB	0x0, "e", 0x0, "d", 0x0, ",", 0x0, " ", 0x0, "E", 0x0, "r"
	DCB	0x0, "r", 0x0, "o", 0x0, "r", 0x0, " ", 0x0, "I", 0x0, "D"
	DCB	0x0, ":", 0x0, " ", 0x0, "%", 0x0, "d", 0x0, 0xd, 0x0, 0xa
	DCB	0x0, 0x0, 0x0				; `string'

  00000			 AREA	 |.rdata|, DATA, READONLY
|??_C@_1M@KDCEPCIJ@?$AAC?$AAD?$AAC?$AA1?$AA?3?$AA?$AA@| DCB "C", 0x0, "D", 0x0
	DCB	"C", 0x0, "1", 0x0, ":", 0x0, 0x0, 0x0	; `string'
; Function compile flags: /Odtp

  00000			 AREA	 |.text|, CODE, ARM

  00000		 |?GetCodecDeviceHandle@@YAHXZ| PROC	; GetCodecDeviceHandle

; 52   : {

  00000		 |$LN9@GetCodecDe|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004	e24dd028	 sub         sp, sp, #0x28
  00008		 |$M32103|

; 53   :     if (g_hCodecDeviceHandle == INVALID_HANDLE_VALUE)

  00008	e59f30a4	 ldr         r3, [pc, #0xA4]
  0000c	e5933000	 ldr         r3, [r3]
  00010	e3730001	 cmn         r3, #1
  00014	1a00001f	 bne         |$LN2@GetCodecDe|

; 54   :     {
; 55   :         g_hCodecDeviceHandle = CreateFile(TEXT("CDC1:"), 
; 56   :                    0, 
; 57   :                    FILE_SHARE_READ | FILE_SHARE_WRITE, 
; 58   :                    NULL, \
; 59   :                    OPEN_EXISTING, 
; 60   :                    0, 
; 61   :                    NULL);

  00018	e3a03000	 mov         r3, #0
  0001c	e58d3008	 str         r3, [sp, #8]
  00020	e3a03000	 mov         r3, #0
  00024	e58d3004	 str         r3, [sp, #4]
  00028	e3a03003	 mov         r3, #3
  0002c	e58d3000	 str         r3, [sp]
  00030	e3a03000	 mov         r3, #0
  00034	e3a02003	 mov         r2, #3
  00038	e3a01000	 mov         r1, #0
  0003c	e59f0074	 ldr         r0, [pc, #0x74]
  00040	eb000000	 bl          CreateFileW
  00044	e58d001c	 str         r0, [sp, #0x1C]
  00048	e59d201c	 ldr         r2, [sp, #0x1C]
  0004c	e59f3060	 ldr         r3, [pc, #0x60]
  00050	e5832000	 str         r2, [r3]

; 62   :         if(g_hCodecDeviceHandle == INVALID_HANDLE_VALUE) {

  00054	e59f3058	 ldr         r3, [pc, #0x58]
  00058	e5933000	 ldr         r3, [r3]
  0005c	e3730001	 cmn         r3, #1
  00060	1a00000c	 bne         |$LN1@GetCodecDe|

; 63   :             RETAILMSG (1, (_T("GetCodecDeviceHandle Failed, Error ID: %d\r\n"),GetLastError())); 

  00064	eb000000	 bl          GetLastError
  00068	e58d0020	 str         r0, [sp, #0x20]
  0006c	e59d1020	 ldr         r1, [sp, #0x20]
  00070	e59f0038	 ldr         r0, [pc, #0x38]
  00074	eb000000	 bl          NKDbgPrintfW
  00078	e3a03001	 mov         r3, #1
  0007c	e58d3024	 str         r3, [sp, #0x24]
  00080	ea000001	 b           |$LN6@GetCodecDe|
  00084	e3a03000	 mov         r3, #0
  00088	e58d3024	 str         r3, [sp, #0x24]
  0008c		 |$LN6@GetCodecDe|

; 64   :             return FALSE;         

  0008c	e3a03000	 mov         r3, #0
  00090	e58d3018	 str         r3, [sp, #0x18]
  00094	ea000001	 b           |$LN3@GetCodecDe|
  00098		 |$LN1@GetCodecDe|
  00098		 |$LN2@GetCodecDe|

; 65   :         }
; 66   :     }
; 67   :     
; 68   :     return TRUE;        

  00098	e3a03001	 mov         r3, #1
  0009c	e58d3018	 str         r3, [sp, #0x18]
  000a0		 |$LN3@GetCodecDe|

; 69   : }

  000a0	e59d0018	 ldr         r0, [sp, #0x18]
  000a4	e28dd028	 add         sp, sp, #0x28
  000a8	e49de004	 ldr         lr, [sp], #4
  000ac	e12fff1e	 bx          lr
  000b0		 |$LN10@GetCodecDe|
  000b0		 |$LN11@GetCodecDe|
  000b0	00000000	 DCD         |??_C@_1FI@MNLJPAOG@?$AAG?$AAe?$AAt?$AAC?$AAo?$AAd?$AAe?$AAc?$AAD?$AAe?$AAv?$AAi?$AAc?$AAe?$AAH?$AAa?$AAn?$AAd?$AAl?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr@|
  000b4		 |$LN12@GetCodecDe|
  000b4	00000000	 DCD         |g_hCodecDeviceHandle|
  000b8		 |$LN13@GetCodecDe|
  000b8	00000000	 DCD         |??_C@_1M@KDCEPCIJ@?$AAC?$AAD?$AAC?$AA1?$AA?3?$AA?$AA@|
  000bc		 |$M32104|

			 ENDP  ; |?GetCodecDeviceHandle@@YAHXZ|, GetCodecDeviceHandle

	EXPORT	|?AudioCodec_Init@@YAHXZ|		; AudioCodec_Init

  00008			 AREA	 |.pdata|, PDATA
|$T32116| DCD	|$LN5@AudioCodec|
	DCD	0x40000a02
; Function compile flags: /Odtp

  000bc			 AREA	 |.text|, CODE, ARM

  000bc		 |?AudioCodec_Init@@YAHXZ| PROC		; AudioCodec_Init

; 73   : {

  000bc		 |$LN5@AudioCodec|
  000bc	e52de004	 str         lr, [sp, #-4]!
  000c0	e24dd008	 sub         sp, sp, #8
  000c4		 |$M32113|

; 74   :     return GetCodecDeviceHandle();

  000c4	eb000000	 bl          |?GetCodecDeviceHandle@@YAHXZ|
  000c8	e58d0004	 str         r0, [sp, #4]
  000cc	e59d3004	 ldr         r3, [sp, #4]
  000d0	e58d3000	 str         r3, [sp]

; 75   : }

  000d4	e59d0000	 ldr         r0, [sp]
  000d8	e28dd008	 add         sp, sp, #8
  000dc	e49de004	 ldr         lr, [sp], #4
  000e0	e12fff1e	 bx          lr
  000e4		 |$M32114|

			 ENDP  ; |?AudioCodec_Init@@YAHXZ|, AudioCodec_Init

	EXPORT	|??_C@_1FC@FLKAPEOI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAP?$AAo?$AAw?$AAe?$AAr?$AAU?$AAp?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5@| [ DATA ] ; `string'
	EXPORT	|?AudioCodecPowerSet@@YAHW4AUDIO_POWER_MODE@@@Z| ; AudioCodecPowerSet
	IMPORT	|DeviceIoControl|

  00010			 AREA	 |.pdata|, PDATA
|$T32128| DCD	|$LN13@AudioCodec@2|
	DCD	0x40004204

  00000			 AREA	 |.rdata|, DATA, READONLY
|??_C@_1FC@FLKAPEOI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAP?$AAo?$AAw?$AAe?$AAr?$AAU?$AAp?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5@| DCB "A"
	DCB	0x0, "u", 0x0, "d", 0x0, "i", 0x0, "o", 0x0, "C", 0x0, "o"
	DCB	0x0, "d", 0x0, "e", 0x0, "c", 0x0, "P", 0x0, "o", 0x0, "w"
	DCB	0x0, "e", 0x0, "r", 0x0, "U", 0x0, "p", 0x0, " ", 0x0, "F"
	DCB	0x0, "a", 0x0, "i", 0x0, "l", 0x0, "e", 0x0, "d", 0x0, ","
	DCB	0x0, " ", 0x0, "E", 0x0, "r", 0x0, "r", 0x0, "o", 0x0, "r"
	DCB	0x0, " ", 0x0, "I", 0x0, "D", 0x0, ":", 0x0, " ", 0x0, "%"
	DCB	0x0, "d", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Odtp

  000e4			 AREA	 |.text|, CODE, ARM

  000e4		 |?AudioCodecPowerSet@@YAHW4AUDIO_POWER_MODE@@@Z| PROC ; AudioCodecPowerSet

; 79   : {

  000e4		 |$LN13@AudioCodec@2|
  000e4	e1a0c00d	 mov         r12, sp
  000e8	e92d0001	 stmdb       sp!, {r0}
  000ec	e92d5000	 stmdb       sp!, {r12, lr}
  000f0	e24dd040	 sub         sp, sp, #0x40
  000f4		 |$M32125|

; 80   :     BOOL bRetVal = TRUE;

  000f4	e3a03001	 mov         r3, #1
  000f8	e58d3018	 str         r3, [sp, #0x18]

; 81   :     
; 82   :     // Power on the Codec (Audio part)    
; 83   :     CODEC_PARAM_SET_POWER_STATE ParamSetPowerState;
; 84   : 
; 85   :     ParamSetPowerState.ulDeviceID = DEV_ID_AUDIO;

  000fc	e3a03002	 mov         r3, #2
  00100	e58d3010	 str         r3, [sp, #0x10]

; 86   :     switch(eAudioPM){

  00104	e59d3048	 ldr         r3, [sp, #0x48]
  00108	e58d3030	 str         r3, [sp, #0x30]
  0010c	e59d3030	 ldr         r3, [sp, #0x30]
  00110	e3530000	 cmp         r3, #0
  00114	0a000006	 beq         |$LN4@AudioCodec@2|
  00118	e59d3030	 ldr         r3, [sp, #0x30]
  0011c	e3530001	 cmp         r3, #1
  00120	0a000006	 beq         |$LN3@AudioCodec@2|
  00124	e59d3030	 ldr         r3, [sp, #0x30]
  00128	e3530002	 cmp         r3, #2
  0012c	0a000006	 beq         |$LN2@AudioCodec@2|
  00130	ea000007	 b           |$LN5@AudioCodec@2|
  00134		 |$LN4@AudioCodec@2|

; 87   :         case AUDIO_ON: 
; 88   :             ParamSetPowerState.ulPowerState = DEV_POWER_ON;

  00134	e3a03001	 mov         r3, #1
  00138	e58d3014	 str         r3, [sp, #0x14]

; 89   :             break;

  0013c	ea000004	 b           |$LN5@AudioCodec@2|
  00140		 |$LN3@AudioCodec@2|

; 90   :         case ADUIO_OFF:
; 91   :             ParamSetPowerState.ulPowerState = DEV_POWER_OFF;

  00140	e3a03000	 mov         r3, #0
  00144	e58d3014	 str         r3, [sp, #0x14]

; 92   :             break;

  00148	ea000001	 b           |$LN5@AudioCodec@2|
  0014c		 |$LN2@AudioCodec@2|

; 93   :         case AUDIO_LPM:
; 94   :             ParamSetPowerState.ulPowerState = DEV_POWER_LPM;

  0014c	e3a03002	 mov         r3, #2
  00150	e58d3014	 str         r3, [sp, #0x14]
  00154		 |$LN5@AudioCodec@2|

; 95   :             break;         
; 96   :     }
; 97   :     
; 98   :     bRetVal = DeviceIoControl(g_hCodecDeviceHandle,
; 99   :                     REQ_DEV_SET_POWER_STATE,
; 100  :                     (LPVOID)(&ParamSetPowerState),
; 101  :                     sizeof(CODEC_PARAM_SET_POWER_STATE),
; 102  :                     (LPVOID)NULL,
; 103  :                     0,
; 104  :                     NULL,
; 105  :                     NULL);

  00154	e3a03000	 mov         r3, #0
  00158	e58d300c	 str         r3, [sp, #0xC]
  0015c	e3a03000	 mov         r3, #0
  00160	e58d3008	 str         r3, [sp, #8]
  00164	e3a03000	 mov         r3, #0
  00168	e58d3004	 str         r3, [sp, #4]
  0016c	e3a03000	 mov         r3, #0
  00170	e58d3000	 str         r3, [sp]
  00174	e3a03008	 mov         r3, #8
  00178	e28d2010	 add         r2, sp, #0x10
  0017c	e3a01106	 mov         r1, #6, 2
  00180	e59f0060	 ldr         r0, [pc, #0x60]
  00184	e5900000	 ldr         r0, [r0]
  00188	eb000000	 bl          DeviceIoControl
  0018c	e58d0034	 str         r0, [sp, #0x34]
  00190	e59d3034	 ldr         r3, [sp, #0x34]
  00194	e58d3018	 str         r3, [sp, #0x18]

; 106  :     if(!bRetVal){

  00198	e59d3018	 ldr         r3, [sp, #0x18]
  0019c	e3530000	 cmp         r3, #0
  001a0	1a000009	 bne         |$LN1@AudioCodec@2|

; 107  :         RETAILMSG (1, (_T("AudioCodecPowerUp Failed, Error ID: %d\r\n"),GetLastError()));    

  001a4	eb000000	 bl          GetLastError
  001a8	e58d0038	 str         r0, [sp, #0x38]
  001ac	e59d1038	 ldr         r1, [sp, #0x38]
  001b0	e59f002c	 ldr         r0, [pc, #0x2C]
  001b4	eb000000	 bl          NKDbgPrintfW
  001b8	e3a03001	 mov         r3, #1
  001bc	e58d303c	 str         r3, [sp, #0x3C]
  001c0	ea000001	 b           |$LN10@AudioCodec@2|
  001c4	e3a03000	 mov         r3, #0
  001c8	e58d303c	 str         r3, [sp, #0x3C]
  001cc		 |$LN10@AudioCodec@2|
  001cc		 |$LN1@AudioCodec@2|

; 108  :     }
; 109  :     
; 110  :     return bRetVal;     

  001cc	e59d3018	 ldr         r3, [sp, #0x18]
  001d0	e58d302c	 str         r3, [sp, #0x2C]

; 111  : }

  001d4	e59d002c	 ldr         r0, [sp, #0x2C]
  001d8	e28dd040	 add         sp, sp, #0x40
  001dc	e89d6000	 ldmia       sp, {sp, lr}
  001e0	e12fff1e	 bx          lr
  001e4		 |$LN14@AudioCodec@2|
  001e4		 |$LN15@AudioCodec@2|
  001e4	00000000	 DCD         |??_C@_1FC@FLKAPEOI@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAC?$AAo?$AAd?$AAe?$AAc?$AAP?$AAo?$AAw?$AAe?$AAr?$AAU?$AAp?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5@|
  001e8		 |$LN16@AudioCodec@2|
  001e8	00000000	 DCD         |g_hCodecDeviceHandle|
  001ec		 |$M32126|

			 ENDP  ; |?AudioCodecPowerSet@@YAHW4AUDIO_POWER_MODE@@@Z|, AudioCodecPowerSet

	EXPORT	|??_C@_1EO@GICCHKGC@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAP?$AAa?$AAt?$AAh?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5?$AAI?$AAD@| [ DATA ] ; `string'
	EXPORT	|?AudioPathEnable@@YAHIH@Z|		; AudioPathEnable

  00018			 AREA	 |.pdata|, PDATA
|$T32143| DCD	|$LN8@AudioPathE|
	DCD	0x40003304

  00000			 AREA	 |.rdata|, DATA, READONLY
|??_C@_1EO@GICCHKGC@?$AAA?$AAu?$AAd?$AAi?$AAo?$AAP?$AAa?$AAt?$AAh?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?5?$AAF?$AAa?$AAi?$AAl?$AAe?$AAd?$AA?0?$AA?5?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?5?$AAI?$AAD@| DCB "A"
	DCB	0x0, "u", 0x0, "d", 0x0, "i", 0x0, "o", 0x0, "P", 0x0, "a"
	DCB	0x0, "t", 0x0, "h", 0x0, "E", 0x0, "n", 0x0, "a", 0x0, "b"
	DCB	0x0, "l", 0x0, "e", 0x0, " ", 0x0, "F", 0x0, "a", 0x0, "i"
	DCB	0x0, "l", 0x0, "e", 0x0, "d", 0x0, ",", 0x0, " ", 0x0, "E"
	DCB	0x0, "r", 0x0, "r", 0x0, "o", 0x0, "r", 0x0, " ", 0x0, "I"
	DCB	0x0, "D", 0x0, ":", 0x0, " ", 0x0, "%", 0x0, "d", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'
; Function compile flags: /Odtp

  001ec			 AREA	 |.text|, CODE, ARM

  001ec		 |?AudioPathEnable@@YAHIH@Z| PROC	; AudioPathEnable

; 115  : {

  001ec		 |$LN8@AudioPathE|
  001ec	e1a0c00d	 mov         r12, sp
  001f0	e92d0003	 stmdb       sp!, {r0, r1}
  001f4	e92d5000	 stmdb       sp!, {r12, lr}
  001f8	e24dd03c	 sub         sp, sp, #0x3C
  001fc		 |$M32140|

; 116  :     BOOL bRetVal = TRUE;

  001fc	e3a03001	 mov         r3, #1
  00200	e58d3018	 str         r3, [sp, #0x18]

; 117  :     
; 118  :     CODEC_PARAM_SET_PATH CodecPathPara;
; 119  :     CodecPathPara.ulAudioPath = uAudioPath;

  00204	e59d3044	 ldr         r3, [sp, #0x44]
  00208	e58d3010	 str         r3, [sp, #0x10]

; 120  :     CodecPathPara.bEnable = bIsEnabled;

  0020c	e59d3048	 ldr         r3, [sp, #0x48]
  00210	e58d3014	 str         r3, [sp, #0x14]

; 121  :      
; 122  :     bRetVal = DeviceIoControl(g_hCodecDeviceHandle,
; 123  :                     REQ_AUDIO_SET_PATH,

⌨️ 快捷键说明

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