Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
511af0d1
Commit
511af0d1
authored
Nov 05, 2007
by
Maarten Lankhorst
Committed by
Alexandre Julliard
Nov 07, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dsound: Add conformance tests for 24/32 bits buffers and waveformatextensible.
parent
2a117a20
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
227 additions
and
23 deletions
+227
-23
ds3d.c
dlls/dsound/tests/ds3d.c
+37
-4
ds3d8.c
dlls/dsound/tests/ds3d8.c
+8
-1
dsound.c
dlls/dsound/tests/dsound.c
+79
-8
dsound8.c
dlls/dsound/tests/dsound8.c
+78
-9
dsound_test.h
dlls/dsound/tests/dsound_test.h
+25
-1
No files found.
dlls/dsound/tests/ds3d.c
View file @
511af0d1
...
...
@@ -30,7 +30,7 @@
#include "wine/test.h"
#include "dsound.h"
#include "dxerr8.h"
#include "mmreg.h"
#include "dsound_test.h"
#define PI 3.14159265358979323846
...
...
@@ -57,7 +57,7 @@ char* wave_generate_la(WAVEFORMATEX* wfx, double duration, DWORD* size)
*
b
++=
sample
;
if
(
wfx
->
nChannels
==
2
)
*
b
++=
sample
;
}
else
{
}
else
if
(
wfx
->
wBitsPerSample
==
16
)
{
signed
short
sample
=
(
signed
short
)((
double
)
32767
.
5
*
y
-
0
.
5
);
b
[
0
]
=
sample
&
0xff
;
b
[
1
]
=
sample
>>
8
;
...
...
@@ -67,6 +67,32 @@ char* wave_generate_la(WAVEFORMATEX* wfx, double duration, DWORD* size)
b
[
1
]
=
sample
>>
8
;
b
+=
2
;
}
}
else
if
(
wfx
->
wBitsPerSample
==
24
)
{
signed
int
sample
=
(
signed
int
)((
double
)
8388607
.
5
*
y
-
0
.
5
);
b
[
0
]
=
sample
&
0xff
;
b
[
1
]
=
(
sample
>>
8
)
&
0xff
;
b
[
2
]
=
sample
>>
16
;
b
+=
3
;
if
(
wfx
->
nChannels
==
2
)
{
b
[
0
]
=
sample
&
0xff
;
b
[
1
]
=
(
sample
>>
8
)
&
0xff
;
b
[
2
]
=
sample
>>
16
;
b
+=
3
;
}
}
else
if
(
wfx
->
wBitsPerSample
==
32
)
{
signed
int
sample
=
(
signed
int
)((
double
)
2147483647
.
5
*
y
-
0
.
5
);
b
[
0
]
=
sample
&
0xff
;
b
[
1
]
=
(
sample
>>
8
)
&
0xff
;
b
[
2
]
=
(
sample
>>
16
)
&
0xff
;
b
[
3
]
=
sample
>>
24
;
b
+=
4
;
if
(
wfx
->
nChannels
==
2
)
{
b
[
0
]
=
sample
&
0xff
;
b
[
1
]
=
(
sample
>>
8
)
&
0xff
;
b
[
2
]
=
(
sample
>>
16
)
&
0xff
;
b
[
3
]
=
sample
>>
24
;
b
+=
4
;
}
}
}
return
buf
;
...
...
@@ -330,8 +356,15 @@ void test_buffer(LPDIRECTSOUND dso, LPDIRECTSOUNDBUFFER *dsbo,
"returned the needed size: rc=%s size=%d
\n
"
,
DXGetErrorString8
(
rc
),
size
);
rc
=
IDirectSoundBuffer_GetFormat
(
*
dsbo
,
&
wfx
,
sizeof
(
wfx
),
NULL
);
ok
(
rc
==
DS_OK
,
"IDirectSoundBuffer_GetFormat() failed: %s
\n
"
,
DXGetErrorString8
(
rc
));
if
(
wfx
.
wFormatTag
==
WAVE_FORMAT_EXTENSIBLE
)
{
WAVEFORMATEXTENSIBLE
wfxe
;
ok
(
rc
==
DSERR_INVALIDPARAM
,
"IDirectSoundBuffer_GetFormat returned: %s
\n
"
,
DXGetErrorString8
(
rc
));
rc
=
IDirectSoundBuffer_GetFormat
(
*
dsbo
,(
WAVEFORMATEX
*
)
&
wfxe
,
sizeof
(
wfxe
),
NULL
);
wfx
=
wfxe
.
Format
;
}
ok
(
rc
==
DS_OK
,
"IDirectSoundBuffer_GetFormat() failed: %s
\n
"
,
DXGetErrorString8
(
rc
));
if
(
rc
==
DS_OK
&&
winetest_debug
>
1
)
{
trace
(
" Format: %s tag=0x%04x %dx%dx%d avg.B/s=%d align=%d
\n
"
,
is_primary
?
"Primary"
:
"Secondary"
,
...
...
dlls/dsound/tests/ds3d8.c
View file @
511af0d1
...
...
@@ -30,7 +30,7 @@
#include "wine/test.h"
#include "dsound.h"
#include "dxerr8.h"
#include "mmreg.h"
#include "dsound_test.h"
static
HRESULT
(
WINAPI
*
pDirectSoundEnumerateA
)(
LPDSENUMCALLBACKA
,
LPVOID
)
=
NULL
;
...
...
@@ -218,6 +218,13 @@ void test_buffer8(LPDIRECTSOUND8 dso, LPDIRECTSOUNDBUFFER * dsbo,
"returned the needed size: rc=%s size=%d
\n
"
,
DXGetErrorString8
(
rc
),
size
);
rc
=
IDirectSoundBuffer_GetFormat
(
*
dsbo
,
&
wfx
,
sizeof
(
wfx
),
NULL
);
if
(
wfx
.
wFormatTag
==
WAVE_FORMAT_EXTENSIBLE
)
{
WAVEFORMATEXTENSIBLE
wfxe
;
ok
(
rc
==
DSERR_INVALIDPARAM
,
"IDirectSoundBuffer_GetFormat returned: %s
\n
"
,
DXGetErrorString8
(
rc
));
rc
=
IDirectSoundBuffer_GetFormat
(
*
dsbo
,(
WAVEFORMATEX
*
)
&
wfxe
,
sizeof
(
wfxe
),
NULL
);
wfx
=
wfxe
.
Format
;
}
ok
(
rc
==
DS_OK
,
"IDirectSoundBuffer_GetFormat() failed: %s
\n
"
,
DXGetErrorString8
(
rc
));
if
(
rc
==
DS_OK
&&
winetest_debug
>
1
)
{
...
...
dlls/dsound/tests/dsound.c
View file @
511af0d1
...
...
@@ -32,6 +32,11 @@
#include "dsound.h"
#include "dxerr8.h"
#include "dsconf.h"
#include "mmreg.h"
/* MinGW doesn't have ksguid, needed for make crosstest to work. */
#include "initguid.h"
#include "ks.h"
#include "ksmedia.h"
#include "dsound_test.h"
...
...
@@ -694,6 +699,7 @@ static HRESULT test_secondary(LPGUID lpGuid)
goto
EXIT1
;
for
(
f
=
0
;
f
<
NB_FORMATS
;
f
++
)
{
WAVEFORMATEXTENSIBLE
wfxe
;
init_format
(
&
wfx
,
WAVE_FORMAT_PCM
,
formats
[
f
][
0
],
formats
[
f
][
1
],
formats
[
f
][
2
]);
secondary
=
NULL
;
...
...
@@ -716,18 +722,83 @@ static HRESULT test_secondary(LPGUID lpGuid)
bufdesc
.
dwBufferBytes
=
align
(
wfx
.
nAvgBytesPerSec
*
BUFFER_LEN
/
1000
,
wfx
.
nBlockAlign
);
bufdesc
.
lpwfxFormat
=&
wfx
;
if
(
winetest_interactive
)
{
trace
(
" Testing a secondary buffer at %dx%dx%d "
"with a primary buffer at %dx%dx%d
\n
"
,
wfx
.
nSamplesPerSec
,
wfx
.
wBitsPerSample
,
wfx
.
nChannels
,
wfx1
.
nSamplesPerSec
,
wfx1
.
wBitsPerSample
,
wfx1
.
nChannels
);
}
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
if
(
wfx
.
wBitsPerSample
!=
8
&&
wfx
.
wBitsPerSample
!=
16
)
ok
(
rc
==
DSERR_CONTROLUNAVAIL
&&
!
secondary
,
"IDirectSound_CreateSoundBuffer() "
"should have returned DSERR_CONTROLUNAVAIL and NULL, returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
else
ok
(
rc
==
DS_OK
&&
secondary
!=
NULL
,
"IDirectSound_CreateSoundBuffer() failed to create a secondary "
"buffer %s
\n
"
,
DXGetErrorString8
(
rc
));
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
secondary
=
NULL
;
bufdesc
.
lpwfxFormat
=
(
WAVEFORMATEX
*
)
&
wfxe
;
wfxe
.
Format
=
wfx
;
wfxe
.
Format
.
wFormatTag
=
WAVE_FORMAT_EXTENSIBLE
;
wfxe
.
SubFormat
=
KSDATAFORMAT_SUBTYPE_PCM
;
wfxe
.
Format
.
cbSize
=
1
;
wfxe
.
Samples
.
wValidBitsPerSample
=
wfx
.
wBitsPerSample
;
wfxe
.
dwChannelMask
=
(
wfx
.
nChannels
==
1
?
KSAUDIO_SPEAKER_MONO
:
KSAUDIO_SPEAKER_STEREO
);
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
rc
==
DSERR_INVALIDPARAM
&&
!
secondary
,
"IDirectSound_CreateSoundBuffer() returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
wfxe
.
Format
.
cbSize
=
sizeof
(
wfxe
)
-
sizeof
(
wfx
)
+
1
;
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
DSERR_CONTROLUNAVAIL
&&
!
secondary
,
"IDirectSound_CreateSoundBuffer() returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
wfxe
.
Format
.
cbSize
=
sizeof
(
wfxe
)
-
sizeof
(
wfx
);
wfxe
.
SubFormat
=
GUID_NULL
;
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
rc
==
DSERR_INVALIDPARAM
&&
!
secondary
,
"IDirectSound_CreateSoundBuffer() returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
wfxe
.
SubFormat
=
KSDATAFORMAT_SUBTYPE_PCM
;
++
wfxe
.
Samples
.
wValidBitsPerSample
;
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
rc
==
DSERR_INVALIDPARAM
&&
!
secondary
,
"IDirectSound_CreateSoundBuffer() returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
--
wfxe
.
Samples
.
wValidBitsPerSample
;
wfxe
.
Samples
.
wValidBitsPerSample
=
0
;
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
rc
==
DS_OK
&&
secondary
,
"IDirectSound_CreateSoundBuffer() returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
wfxe
.
Samples
.
wValidBitsPerSample
=
wfxe
.
Format
.
wBitsPerSample
;
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
rc
==
DS_OK
&&
secondary
!=
NULL
,
"IDirectSound_CreateSoundBuffer() failed to create a secondary "
"buffer %s
\n
"
,
DXGetErrorString8
(
rc
));
"IDirectSound_CreateSoundBuffer() failed to create a secondary "
"buffer %s
\n
"
,
DXGetErrorString8
(
rc
));
if
(
rc
==
DS_OK
&&
secondary
!=
NULL
)
{
if
(
winetest_interactive
)
{
trace
(
" Testing a secondary buffer at %dx%dx%d "
"with a primary buffer at %dx%dx%d
\n
"
,
wfx
.
nSamplesPerSec
,
wfx
.
wBitsPerSample
,
wfx
.
nChannels
,
wfx1
.
nSamplesPerSec
,
wfx1
.
wBitsPerSample
,
wfx1
.
nChannels
);
}
test_buffer
(
dso
,
&
secondary
,
0
,
FALSE
,
0
,
FALSE
,
0
,
winetest_interactive
,
1
.
0
,
0
,
NULL
,
0
,
0
,
FALSE
,
0
);
...
...
dlls/dsound/tests/dsound8.c
View file @
511af0d1
...
...
@@ -32,6 +32,9 @@
#include "dsound.h"
#include "dxerr8.h"
#include "dsconf.h"
#include "mmreg.h"
#include "ks.h"
#include "ksmedia.h"
#include "dsound_test.h"
...
...
@@ -727,6 +730,7 @@ static HRESULT test_secondary8(LPGUID lpGuid)
goto
EXIT1
;
for
(
f
=
0
;
f
<
NB_FORMATS
;
f
++
)
{
WAVEFORMATEXTENSIBLE
wfxe
;
init_format
(
&
wfx
,
WAVE_FORMAT_PCM
,
formats
[
f
][
0
],
formats
[
f
][
1
],
formats
[
f
][
2
]);
secondary
=
NULL
;
...
...
@@ -749,18 +753,83 @@ static HRESULT test_secondary8(LPGUID lpGuid)
bufdesc
.
dwBufferBytes
=
align
(
wfx
.
nAvgBytesPerSec
*
BUFFER_LEN
/
1000
,
wfx
.
nBlockAlign
);
bufdesc
.
lpwfxFormat
=&
wfx
;
if
(
winetest_interactive
)
{
trace
(
" Testing a secondary buffer at %dx%dx%d "
"with a primary buffer at %dx%dx%d
\n
"
,
wfx
.
nSamplesPerSec
,
wfx
.
wBitsPerSample
,
wfx
.
nChannels
,
wfx1
.
nSamplesPerSec
,
wfx1
.
wBitsPerSample
,
wfx1
.
nChannels
);
}
rc
=
IDirectSound8_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
if
(
wfx
.
wBitsPerSample
!=
8
&&
wfx
.
wBitsPerSample
!=
16
)
ok
(
rc
==
DSERR_CONTROLUNAVAIL
&&
!
secondary
,
"IDirectSound_CreateSoundBuffer() "
"should have returned DSERR_CONTROLUNAVAIL and NULL, returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
else
ok
(
rc
==
DS_OK
&&
secondary
!=
NULL
,
"IDirectSound_CreateSoundBuffer() failed to create a secondary "
"buffer %s
\n
"
,
DXGetErrorString8
(
rc
));
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
secondary
=
NULL
;
bufdesc
.
lpwfxFormat
=
(
WAVEFORMATEX
*
)
&
wfxe
;
wfxe
.
Format
=
wfx
;
wfxe
.
Format
.
wFormatTag
=
WAVE_FORMAT_EXTENSIBLE
;
wfxe
.
SubFormat
=
KSDATAFORMAT_SUBTYPE_PCM
;
wfxe
.
Format
.
cbSize
=
1
;
wfxe
.
Samples
.
wValidBitsPerSample
=
wfx
.
wBitsPerSample
;
wfxe
.
dwChannelMask
=
(
wfx
.
nChannels
==
1
?
KSAUDIO_SPEAKER_MONO
:
KSAUDIO_SPEAKER_STEREO
);
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
rc
==
DSERR_INVALIDPARAM
&&
!
secondary
,
"IDirectSound_CreateSoundBuffer() returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
wfxe
.
Format
.
cbSize
=
sizeof
(
wfxe
)
-
sizeof
(
wfx
)
+
1
;
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
DSERR_CONTROLUNAVAIL
&&
!
secondary
,
"IDirectSound_CreateSoundBuffer() returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
wfxe
.
Format
.
cbSize
=
sizeof
(
wfxe
)
-
sizeof
(
wfx
);
wfxe
.
SubFormat
=
GUID_NULL
;
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
rc
==
DSERR_INVALIDPARAM
&&
!
secondary
,
"IDirectSound_CreateSoundBuffer() returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
wfxe
.
SubFormat
=
KSDATAFORMAT_SUBTYPE_PCM
;
++
wfxe
.
Samples
.
wValidBitsPerSample
;
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
rc
==
DSERR_INVALIDPARAM
&&
!
secondary
,
"IDirectSound_CreateSoundBuffer() returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
--
wfxe
.
Samples
.
wValidBitsPerSample
;
wfxe
.
Samples
.
wValidBitsPerSample
=
0
;
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
rc
==
DS_OK
&&
secondary
,
"IDirectSound_CreateSoundBuffer() returned: %s %p
\n
"
,
DXGetErrorString8
(
rc
),
secondary
);
if
(
secondary
)
IDirectSoundBuffer_Release
(
secondary
);
wfxe
.
Samples
.
wValidBitsPerSample
=
wfxe
.
Format
.
wBitsPerSample
;
rc
=
IDirectSound_CreateSoundBuffer
(
dso
,
&
bufdesc
,
&
secondary
,
NULL
);
ok
(
rc
==
DS_OK
&&
secondary
!=
NULL
,
"IDirectSound8
_CreateSoundBuffer() failed to create a secondary "
"buffer:
%s
\n
"
,
DXGetErrorString8
(
rc
));
"IDirectSound
_CreateSoundBuffer() failed to create a secondary "
"buffer
%s
\n
"
,
DXGetErrorString8
(
rc
));
if
(
rc
==
DS_OK
&&
secondary
!=
NULL
)
{
if
(
winetest_interactive
)
{
trace
(
" Testing a secondary buffer at %dx%dx%d "
"with a primary buffer at %dx%dx%d
\n
"
,
wfx
.
nSamplesPerSec
,
wfx
.
wBitsPerSample
,
wfx
.
nChannels
,
wfx1
.
nSamplesPerSec
,
wfx1
.
wBitsPerSample
,
wfx1
.
nChannels
);
}
test_buffer8
(
dso
,
&
secondary
,
0
,
FALSE
,
0
,
FALSE
,
0
,
winetest_interactive
,
1
.
0
,
0
,
NULL
,
0
,
0
);
...
...
dlls/dsound/tests/dsound_test.h
View file @
511af0d1
...
...
@@ -23,26 +23,50 @@ static const unsigned int formats[][4]={
{
8000
,
8
,
2
,
0
},
{
8000
,
16
,
1
,
0
},
{
8000
,
16
,
2
,
0
},
{
8000
,
24
,
1
,
0
},
{
8000
,
24
,
2
,
0
},
{
8000
,
32
,
1
,
0
},
{
8000
,
32
,
2
,
0
},
{
11025
,
8
,
1
,
WAVE_FORMAT_1M08
},
{
11025
,
8
,
2
,
WAVE_FORMAT_1S08
},
{
11025
,
16
,
1
,
WAVE_FORMAT_1M16
},
{
11025
,
16
,
2
,
WAVE_FORMAT_1S16
},
{
11025
,
24
,
1
,
0
},
{
11025
,
24
,
2
,
0
},
{
11025
,
32
,
1
,
0
},
{
11025
,
32
,
2
,
0
},
{
22050
,
8
,
1
,
WAVE_FORMAT_2M08
},
{
22050
,
8
,
2
,
WAVE_FORMAT_2S08
},
{
22050
,
16
,
1
,
WAVE_FORMAT_2M16
},
{
22050
,
16
,
2
,
WAVE_FORMAT_2S16
},
{
22050
,
24
,
1
,
0
},
{
22050
,
24
,
2
,
0
},
{
22050
,
32
,
1
,
0
},
{
22050
,
32
,
2
,
0
},
{
44100
,
8
,
1
,
WAVE_FORMAT_4M08
},
{
44100
,
8
,
2
,
WAVE_FORMAT_4S08
},
{
44100
,
16
,
1
,
WAVE_FORMAT_4M16
},
{
44100
,
16
,
2
,
WAVE_FORMAT_4S16
},
{
44100
,
24
,
1
,
0
},
{
44100
,
24
,
2
,
0
},
{
44100
,
32
,
1
,
0
},
{
44100
,
32
,
2
,
0
},
{
48000
,
8
,
1
,
WAVE_FORMAT_48M08
},
{
48000
,
8
,
2
,
WAVE_FORMAT_48S08
},
{
48000
,
16
,
1
,
WAVE_FORMAT_48M16
},
{
48000
,
16
,
2
,
WAVE_FORMAT_48S16
},
{
48000
,
24
,
1
,
0
},
{
48000
,
24
,
2
,
0
},
{
48000
,
32
,
1
,
0
},
{
48000
,
32
,
2
,
0
},
{
96000
,
8
,
1
,
WAVE_FORMAT_96M08
},
{
96000
,
8
,
2
,
WAVE_FORMAT_96S08
},
{
96000
,
16
,
1
,
WAVE_FORMAT_96M16
},
{
96000
,
16
,
2
,
WAVE_FORMAT_96S16
}
{
96000
,
16
,
2
,
WAVE_FORMAT_96S16
},
{
96000
,
24
,
1
,
0
},
{
96000
,
24
,
2
,
0
},
{
96000
,
32
,
1
,
0
},
{
96000
,
32
,
2
,
0
}
};
#define NB_FORMATS (sizeof(formats)/sizeof(*formats))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment