Module: wine Branch: master Commit: 5b248546806c247c8a3c5011fc2d78af8d9da253 URL: http://source.winehq.org/git/wine.git/?a=commit;h=5b248546806c247c8a3c5011fc...
Author: Nikolay Sivov nsivov@codeweavers.com Date: Sat Jun 20 23:34:58 2015 +0300
amstream: Get rid of some casts by using proper iface types.
---
dlls/amstream/amstream.c | 41 ++++++++++++++++++--------------------- dlls/amstream/amstream_private.h | 5 +++-- dlls/amstream/audiodata.c | 2 -- dlls/amstream/main.c | 1 - dlls/amstream/mediastream.c | 9 ++++----- dlls/amstream/mediastreamfilter.c | 1 - 6 files changed, 26 insertions(+), 33 deletions(-)
diff --git a/dlls/amstream/amstream.c b/dlls/amstream/amstream.c index fcef7ec..372ddd6 100644 --- a/dlls/amstream/amstream.c +++ b/dlls/amstream/amstream.c @@ -27,7 +27,6 @@ #include "wingdi.h"
#include "amstream_private.h" -#include "amstream.h"
WINE_DEFAULT_DEBUG_CHANNEL(amstream);
@@ -37,10 +36,10 @@ typedef struct { IGraphBuilder* pFilterGraph; IMediaSeeking* media_seeking; IMediaControl* media_control; - IBaseFilter* media_stream_filter; + IMediaStreamFilter *media_stream_filter; IPin* ipin; ULONG nbStreams; - IMediaStream** pStreams; + IAMMediaStream **pStreams; STREAM_TYPE StreamType; OAEVENT event; } IAMMultiMediaStreamImpl; @@ -114,11 +113,11 @@ static ULONG WINAPI IAMMultiMediaStreamImpl_Release(IAMMultiMediaStream* iface) if (!ref) { for(i = 0; i < This->nbStreams; i++) - IMediaStream_Release(This->pStreams[i]); + IAMMediaStream_Release(This->pStreams[i]); if (This->ipin) IPin_Release(This->ipin); if (This->media_stream_filter) - IBaseFilter_Release(This->media_stream_filter); + IMediaStreamFilter_Release(This->media_stream_filter); if (This->media_seeking) IMediaSeeking_Release(This->media_seeking); if (This->media_control) @@ -151,10 +150,10 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_GetMediaStream(IAMMultiMediaStream
for (i = 0; i < This->nbStreams; i++) { - IMediaStream_GetInformation(This->pStreams[i], &PurposeId, NULL); + IAMMediaStream_GetInformation(This->pStreams[i], &PurposeId, NULL); if (IsEqualIID(&PurposeId, idPurpose)) { - *ppMediaStream = This->pStreams[i]; + *ppMediaStream = (IMediaStream*)This->pStreams[i]; IMediaStream_AddRef(*ppMediaStream); return S_OK; } @@ -258,9 +257,9 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_Initialize(IAMMultiMediaStream* if if (SUCCEEDED(hr)) hr = IGraphBuilder_QueryInterface(This->pFilterGraph, &IID_IMediaControl, (void**)&This->media_control); if (SUCCEEDED(hr)) - hr = CoCreateInstance(&CLSID_MediaStreamFilter, NULL, CLSCTX_INPROC_SERVER, &IID_IBaseFilter, (LPVOID*)&This->media_stream_filter); + hr = CoCreateInstance(&CLSID_MediaStreamFilter, NULL, CLSCTX_INPROC_SERVER, &IID_IMediaStreamFilter, (void**)&This->media_stream_filter); if (SUCCEEDED(hr)) - hr = IGraphBuilder_AddFilter(This->pFilterGraph, This->media_stream_filter, filternameW); + hr = IGraphBuilder_AddFilter(This->pFilterGraph, (IBaseFilter*)This->media_stream_filter, filternameW); if (SUCCEEDED(hr)) { IMediaEventEx* media_event = NULL; @@ -277,7 +276,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_Initialize(IAMMultiMediaStream* if if (FAILED(hr)) { if (This->media_stream_filter) - IBaseFilter_Release(This->media_stream_filter); + IMediaStreamFilter_Release(This->media_stream_filter); This->media_stream_filter = NULL; if (This->media_seeking) IMediaSeeking_Release(This->media_seeking); @@ -313,19 +312,17 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_GetFilterGraph(IAMMultiMediaStream static HRESULT WINAPI IAMMultiMediaStreamImpl_GetFilter(IAMMultiMediaStream* iface, IMediaStreamFilter** ppFilter) { IAMMultiMediaStreamImpl *This = impl_from_IAMMultiMediaStream(iface); - HRESULT hr = S_OK;
TRACE("(%p/%p)->(%p)\n", This, iface, ppFilter);
if (!ppFilter) return E_POINTER;
- *ppFilter = NULL; - - if (This->media_stream_filter) - hr = IBaseFilter_QueryInterface(This->media_stream_filter, &IID_IMediaStreamFilter, (LPVOID*)ppFilter); + *ppFilter = This->media_stream_filter; + if (*ppFilter) + IMediaStreamFilter_AddRef(*ppFilter);
- return hr; + return S_OK; }
static HRESULT WINAPI IAMMultiMediaStreamImpl_AddMediaStream(IAMMultiMediaStream* iface, IUnknown* stream_object, const MSPID* PurposeId, @@ -333,8 +330,8 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_AddMediaStream(IAMMultiMediaStream { IAMMultiMediaStreamImpl *This = impl_from_IAMMultiMediaStream(iface); HRESULT hr; - IMediaStream* pStream; - IMediaStream** pNewStreams; + IAMMediaStream* pStream; + IAMMediaStream** pNewStreams;
TRACE("(%p/%p)->(%p,%s,%x,%p)\n", This, iface, stream_object, debugstr_guid(PurposeId), dwFlags, ppNewStream);
@@ -374,10 +371,10 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_AddMediaStream(IAMMultiMediaStream hr = audiomediastream_create((IMultiMediaStream*)iface, PurposeId, This->StreamType, &pStream); if (SUCCEEDED(hr)) { - pNewStreams = CoTaskMemRealloc(This->pStreams, (This->nbStreams+1) * sizeof(IMediaStream*)); + pNewStreams = CoTaskMemRealloc(This->pStreams, (This->nbStreams+1) * sizeof(IAMMediaStream*)); if (!pNewStreams) { - IMediaStream_Release(pStream); + IAMMediaStream_Release(pStream); return E_OUTOFMEMORY; } This->pStreams = pNewStreams; @@ -385,13 +382,13 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_AddMediaStream(IAMMultiMediaStream This->nbStreams++;
if (ppNewStream) - *ppNewStream = pStream; + *ppNewStream = (IMediaStream*)pStream; }
if (SUCCEEDED(hr)) { /* Add stream to the media stream filter */ - IMediaStreamFilter_AddMediaStream((IMediaStreamFilter*)This->media_stream_filter, (IAMMediaStream*)pStream); + IMediaStreamFilter_AddMediaStream(This->media_stream_filter, pStream); }
return hr; diff --git a/dlls/amstream/amstream_private.h b/dlls/amstream/amstream_private.h index 0881c3e..64a376f 100644 --- a/dlls/amstream/amstream_private.h +++ b/dlls/amstream/amstream_private.h @@ -31,13 +31,14 @@ #include "dshow.h" #include "mmstream.h" #include "austream.h" +#include "amstream.h"
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 ddrawmediastream_create(IMultiMediaStream *Parent, const MSPID *pPurposeId, - STREAM_TYPE StreamType, IMediaStream **ppMediaStream) DECLSPEC_HIDDEN; + STREAM_TYPE StreamType, IAMMediaStream **ppMediaStream) DECLSPEC_HIDDEN; HRESULT audiomediastream_create(IMultiMediaStream *parent, const MSPID *purpose_id, - STREAM_TYPE stream_type, IMediaStream **media_stream) DECLSPEC_HIDDEN; + STREAM_TYPE stream_type, IAMMediaStream **media_stream) DECLSPEC_HIDDEN;
#endif /* __AMSTREAM_PRIVATE_INCLUDED__ */ diff --git a/dlls/amstream/audiodata.c b/dlls/amstream/audiodata.c index 3a62a9f..c3bc1a6 100644 --- a/dlls/amstream/audiodata.c +++ b/dlls/amstream/audiodata.c @@ -25,8 +25,6 @@ #include "winbase.h" #include "amstream_private.h"
-#include "amstream.h" - WINE_DEFAULT_DEBUG_CHANNEL(amstream);
typedef struct { diff --git a/dlls/amstream/main.c b/dlls/amstream/main.c index e80c491..1149584 100644 --- a/dlls/amstream/main.c +++ b/dlls/amstream/main.c @@ -32,7 +32,6 @@ #include "rpcproxy.h"
#include "amstream_private.h" -#include "amstream.h"
#include "wine/debug.h"
diff --git a/dlls/amstream/mediastream.c b/dlls/amstream/mediastream.c index f619cbd..b457d1f 100644 --- a/dlls/amstream/mediastream.c +++ b/dlls/amstream/mediastream.c @@ -26,7 +26,6 @@ #include "wingdi.h"
#include "amstream_private.h" -#include "amstream.h"
#include "ddstream.h"
@@ -428,7 +427,7 @@ static const struct IDirectDrawMediaStreamVtbl DirectDrawMediaStreamImpl_IDirect };
HRESULT ddrawmediastream_create(IMultiMediaStream *parent, const MSPID *purpose_id, - STREAM_TYPE stream_type, IMediaStream **media_stream) + STREAM_TYPE stream_type, IAMMediaStream **media_stream) { DirectDrawMediaStreamImpl *object;
@@ -446,7 +445,7 @@ HRESULT ddrawmediastream_create(IMultiMediaStream *parent, const MSPID *purpose_ object->purpose_id = *purpose_id; object->stream_type = stream_type;
- *media_stream = (IMediaStream*)&object->IAMMediaStream_iface; + *media_stream = &object->IAMMediaStream_iface;
return S_OK; } @@ -828,7 +827,7 @@ static const struct IAudioMediaStreamVtbl AudioMediaStreamImpl_IAudioMediaStream };
HRESULT audiomediastream_create(IMultiMediaStream *parent, const MSPID *purpose_id, - STREAM_TYPE stream_type, IMediaStream **media_stream) + STREAM_TYPE stream_type, IAMMediaStream **media_stream) { AudioMediaStreamImpl *object;
@@ -846,7 +845,7 @@ HRESULT audiomediastream_create(IMultiMediaStream *parent, const MSPID *purpose_ object->purpose_id = *purpose_id; object->stream_type = stream_type;
- *media_stream = (IMediaStream*)&object->IAMMediaStream_iface; + *media_stream = &object->IAMMediaStream_iface;
return S_OK; } diff --git a/dlls/amstream/mediastreamfilter.c b/dlls/amstream/mediastreamfilter.c index 8c26c8e..d428970 100644 --- a/dlls/amstream/mediastreamfilter.c +++ b/dlls/amstream/mediastreamfilter.c @@ -29,7 +29,6 @@ #include "wine/strmbase.h"
#include "amstream_private.h" -#include "amstream.h"
#include "ddstream.h"