[PATCH 1/2] amstream: Use proper constructor name for ddraw mediastream. (try 2)
Christian Costa
titan.costa at gmail.com
Mon Apr 23 14:44:19 CDT 2012
Try 2: Do not rename mediastream.c.
---
dlls/amstream/amstream.c | 6 +++++-
dlls/amstream/amstream_private.h | 2 +-
dlls/amstream/mediastream.c | 7 ++++++-
3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/dlls/amstream/amstream.c b/dlls/amstream/amstream.c
index 156fd69..4dec521 100644
--- a/dlls/amstream/amstream.c
+++ b/dlls/amstream/amstream.c
@@ -368,7 +368,11 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_AddMediaStream(IAMMultiMediaStream
}
}
- hr = mediastream_create((IMultiMediaStream*)iface, PurposeId, This->StreamType, &pStream);
+ if (IsEqualGUID(PurposeId, &MSPID_PrimaryVideo))
+ hr = ddrawmediastream_create((IMultiMediaStream*)iface, PurposeId, This->StreamType, &pStream);
+ else
+ /* FIXME: should call audiomediastream_create instead */
+ hr = ddrawmediastream_create((IMultiMediaStream*)iface, PurposeId, This->StreamType, &pStream);
if (SUCCEEDED(hr))
{
pNewStreams = CoTaskMemRealloc(This->pStreams, (This->nbStreams+1) * sizeof(IMediaStream*));
diff --git a/dlls/amstream/amstream_private.h b/dlls/amstream/amstream_private.h
index e40c409..d81b915 100644
--- a/dlls/amstream/amstream_private.h
+++ b/dlls/amstream/amstream_private.h
@@ -35,7 +35,7 @@
HRESULT AM_create(IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN;
HRESULT AMAudioData_create(IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN;
HRESULT MediaStreamFilter_create(IUnknown *pUnkOuter, LPVOID *ppObj) DECLSPEC_HIDDEN;
-HRESULT mediastream_create(IMultiMediaStream *Parent, const MSPID *pPurposeId,
+HRESULT ddrawmediastream_create(IMultiMediaStream *Parent, const MSPID *pPurposeId,
STREAM_TYPE StreamType, IMediaStream **ppMediaStream) DECLSPEC_HIDDEN;
#endif /* __AMSTREAM_PRIVATE_INCLUDED__ */
diff --git a/dlls/amstream/mediastream.c b/dlls/amstream/mediastream.c
index 12d3542..366bfac 100644
--- a/dlls/amstream/mediastream.c
+++ b/dlls/amstream/mediastream.c
@@ -45,6 +45,7 @@ static inline IDirectDrawMediaStreamImpl *impl_from_IDirectDrawMediaStream(IDire
return CONTAINING_RECORD(iface, IDirectDrawMediaStreamImpl, IDirectDrawMediaStream_iface);
}
+/*** IUnknown methods ***/
static HRESULT WINAPI IDirectDrawMediaStreamImpl_QueryInterface(IDirectDrawMediaStream *iface,
REFIID riid, void **ppv)
{
@@ -153,6 +154,7 @@ static HRESULT WINAPI IDirectDrawMediaStreamImpl_SendEndOfStream(IDirectDrawMedi
return S_FALSE;
}
+/*** IDirectDrawMediaStream methods ***/
static HRESULT WINAPI IDirectDrawMediaStreamImpl_GetFormat(IDirectDrawMediaStream *iface,
DDSURFACEDESC *pDDSDCurrent, IDirectDrawPalette **ppDirectDrawPalette,
DDSURFACEDESC *pDDSDDesired, DWORD *pdwFlags)
@@ -207,15 +209,18 @@ static HRESULT WINAPI IDirectDrawMediaStreamImpl_GetTimePerFrame(IDirectDrawMedi
static const struct IDirectDrawMediaStreamVtbl DirectDrawMediaStream_Vtbl =
{
+ /*** IUnknown methods ***/
IDirectDrawMediaStreamImpl_QueryInterface,
IDirectDrawMediaStreamImpl_AddRef,
IDirectDrawMediaStreamImpl_Release,
+ /*** IMediaStream methods ***/
IDirectDrawMediaStreamImpl_GetMultiMediaStream,
IDirectDrawMediaStreamImpl_GetInformation,
IDirectDrawMediaStreamImpl_SetSameFormat,
IDirectDrawMediaStreamImpl_AllocateSample,
IDirectDrawMediaStreamImpl_CreateSharedSample,
IDirectDrawMediaStreamImpl_SendEndOfStream,
+ /*** IDirectDrawMediaStream methods ***/
IDirectDrawMediaStreamImpl_GetFormat,
IDirectDrawMediaStreamImpl_SetFormat,
IDirectDrawMediaStreamImpl_GetDirectDraw,
@@ -224,7 +229,7 @@ static const struct IDirectDrawMediaStreamVtbl DirectDrawMediaStream_Vtbl =
IDirectDrawMediaStreamImpl_GetTimePerFrame
};
-HRESULT mediastream_create(IMultiMediaStream *Parent, const MSPID *pPurposeId,
+HRESULT ddrawmediastream_create(IMultiMediaStream *Parent, const MSPID *pPurposeId,
STREAM_TYPE StreamType, IMediaStream **ppMediaStream)
{
IDirectDrawMediaStreamImpl *object;
More information about the wine-patches
mailing list