Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
b47091a4
Commit
b47091a4
authored
Feb 07, 2010
by
Christian Costa
Committed by
Alexandre Julliard
Feb 08, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
quartz: Add stubbed IAMDirectSound interface to DSoundRenderer.
parent
f48d3c8e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
126 additions
and
2 deletions
+126
-2
dsoundrender.c
dlls/quartz/dsoundrender.c
+124
-0
dsoundrender.c
dlls/quartz/tests/dsoundrender.c
+2
-2
No files found.
dlls/quartz/dsoundrender.c
View file @
b47091a4
...
...
@@ -32,6 +32,7 @@
#include "evcode.h"
#include "strmif.h"
#include "dsound.h"
#include "amaudio.h"
#include "wine/unicode.h"
#include "wine/debug.h"
...
...
@@ -45,12 +46,14 @@ static const IPinVtbl DSoundRender_InputPin_Vtbl;
static
const
IBasicAudioVtbl
IBasicAudio_Vtbl
;
static
const
IReferenceClockVtbl
IReferenceClock_Vtbl
;
static
const
IMediaSeekingVtbl
IMediaSeeking_Vtbl
;
static
const
IAMDirectSoundVtbl
IAMDirectSound_Vtbl
;
typedef
struct
DSoundRenderImpl
{
const
IBaseFilterVtbl
*
lpVtbl
;
const
IBasicAudioVtbl
*
IBasicAudio_vtbl
;
const
IReferenceClockVtbl
*
IReferenceClock_vtbl
;
const
IAMDirectSoundVtbl
*
IAMDirectSound_vtbl
;
LONG
refCount
;
CRITICAL_SECTION
csFilter
;
...
...
@@ -404,6 +407,7 @@ HRESULT DSoundRender_create(IUnknown * pUnkOuter, LPVOID * ppv)
pDSoundRender
->
lpVtbl
=
&
DSoundRender_Vtbl
;
pDSoundRender
->
IBasicAudio_vtbl
=
&
IBasicAudio_Vtbl
;
pDSoundRender
->
IReferenceClock_vtbl
=
&
IReferenceClock_Vtbl
;
pDSoundRender
->
IAMDirectSound_vtbl
=
&
IAMDirectSound_Vtbl
;
pDSoundRender
->
refCount
=
1
;
InitializeCriticalSection
(
&
pDSoundRender
->
csFilter
);
pDSoundRender
->
csFilter
.
DebugInfo
->
Spare
[
0
]
=
(
DWORD_PTR
)(
__FILE__
": DSoundRenderImpl.csFilter"
);
...
...
@@ -473,6 +477,8 @@ static HRESULT WINAPI DSoundRender_QueryInterface(IBaseFilter * iface, REFIID ri
*
ppv
=
&
This
->
IReferenceClock_vtbl
;
else
if
(
IsEqualIID
(
riid
,
&
IID_IMediaSeeking
))
*
ppv
=
&
This
->
mediaSeeking
.
lpVtbl
;
else
if
(
IsEqualIID
(
riid
,
&
IID_IAMDirectSound
))
*
ppv
=
&
This
->
IAMDirectSound_vtbl
;
if
(
*
ppv
)
{
...
...
@@ -1328,3 +1334,121 @@ static const IMediaSeekingVtbl IMediaSeeking_Vtbl =
MediaSeekingImpl_GetRate
,
MediaSeekingImpl_GetPreroll
};
/*** IUnknown methods ***/
static
HRESULT
WINAPI
AMDirectSound_QueryInterface
(
IAMDirectSound
*
iface
,
REFIID
riid
,
LPVOID
*
ppvObj
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
TRACE
(
"(%p/%p)->(%s (%p), %p)
\n
"
,
This
,
iface
,
debugstr_guid
(
riid
),
riid
,
ppvObj
);
return
DSoundRender_QueryInterface
((
IBaseFilter
*
)
This
,
riid
,
ppvObj
);
}
static
ULONG
WINAPI
AMDirectSound_AddRef
(
IAMDirectSound
*
iface
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
TRACE
(
"(%p/%p)->()
\n
"
,
This
,
iface
);
return
DSoundRender_AddRef
((
IBaseFilter
*
)
This
);
}
static
ULONG
WINAPI
AMDirectSound_Release
(
IAMDirectSound
*
iface
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
TRACE
(
"(%p/%p)->()
\n
"
,
This
,
iface
);
return
DSoundRender_Release
((
IBaseFilter
*
)
This
);
}
/*** IAMDirectSound methods ***/
static
HRESULT
WINAPI
AMDirectSound_GetDirectSoundInterface
(
IAMDirectSound
*
iface
,
IDirectSound
**
ds
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
FIXME
(
"(%p/%p)->(%p): stub
\n
"
,
This
,
iface
,
ds
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
AMDirectSound_GetPrimaryBufferInterface
(
IAMDirectSound
*
iface
,
IDirectSoundBuffer
**
buf
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
FIXME
(
"(%p/%p)->(%p): stub
\n
"
,
This
,
iface
,
buf
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
AMDirectSound_GetSecondaryBufferInterface
(
IAMDirectSound
*
iface
,
IDirectSoundBuffer
**
buf
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
FIXME
(
"(%p/%p)->(%p): stub
\n
"
,
This
,
iface
,
buf
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
AMDirectSound_ReleaseDirectSoundInterface
(
IAMDirectSound
*
iface
,
IDirectSound
*
ds
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
FIXME
(
"(%p/%p)->(%p): stub
\n
"
,
This
,
iface
,
ds
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
AMDirectSound_ReleasePrimaryBufferInterface
(
IAMDirectSound
*
iface
,
IDirectSoundBuffer
*
buf
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
FIXME
(
"(%p/%p)->(%p): stub
\n
"
,
This
,
iface
,
buf
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
AMDirectSound_ReleaseSecondaryBufferInterface
(
IAMDirectSound
*
iface
,
IDirectSoundBuffer
*
buf
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
FIXME
(
"(%p/%p)->(%p): stub
\n
"
,
This
,
iface
,
buf
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
AMDirectSound_SetFocusWindow
(
IAMDirectSound
*
iface
,
HWND
hwnd
,
BOOL
bgsilent
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
FIXME
(
"(%p/%p)->(%p,%d): stub
\n
"
,
This
,
iface
,
hwnd
,
bgsilent
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
AMDirectSound_GetFocusWindow
(
IAMDirectSound
*
iface
,
HWND
hwnd
)
{
ICOM_THIS_MULTI
(
DSoundRenderImpl
,
IAMDirectSound_vtbl
,
iface
);
FIXME
(
"(%p/%p)->(%p): stub
\n
"
,
This
,
iface
,
hwnd
);
return
E_NOTIMPL
;
}
static
const
IAMDirectSoundVtbl
IAMDirectSound_Vtbl
=
{
AMDirectSound_QueryInterface
,
AMDirectSound_AddRef
,
AMDirectSound_Release
,
AMDirectSound_GetDirectSoundInterface
,
AMDirectSound_GetPrimaryBufferInterface
,
AMDirectSound_GetSecondaryBufferInterface
,
AMDirectSound_ReleaseDirectSoundInterface
,
AMDirectSound_ReleasePrimaryBufferInterface
,
AMDirectSound_ReleaseSecondaryBufferInterface
,
AMDirectSound_SetFocusWindow
,
AMDirectSound_GetFocusWindow
};
dlls/quartz/tests/dsoundrender.c
View file @
b47091a4
...
...
@@ -135,6 +135,8 @@ static void test_query_interface(void)
RELEASE_EXPECT
(
pMediaSeeking
,
1
);
QI_SUCCEED
(
pDSRender
,
IID_IReferenceClock
,
clock
);
RELEASE_EXPECT
(
clock
,
1
);
QI_SUCCEED
(
pDSRender
,
IID_IAMDirectSound
,
pAMDirectSound
);
RELEASE_EXPECT
(
pAMDirectSound
,
1
);
todo_wine
{
QI_SUCCEED
(
pDSRender
,
IID_IDirectSound3DBuffer
,
ds3dbuf
);
RELEASE_EXPECT
(
ds3dbuf
,
1
);
...
...
@@ -150,8 +152,6 @@ static void test_query_interface(void)
RELEASE_EXPECT
(
pMediaPosition
,
1
);
QI_SUCCEED
(
pDSRender
,
IID_IQualityControl
,
pQualityControl
);
RELEASE_EXPECT
(
pQualityControl
,
1
);
QI_SUCCEED
(
pDSRender
,
IID_IAMDirectSound
,
pAMDirectSound
);
RELEASE_EXPECT
(
pAMDirectSound
,
1
);
}
}
...
...
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