Christian Costa : amstream: Some fixes.

Alexandre Julliard julliard at winehq.org
Mon Dec 15 08:27:17 CST 2008


Module: wine
Branch: master
Commit: c4a8ab069ff645598dfa020b89c4a19b2357d82b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c4a8ab069ff645598dfa020b89c4a19b2357d82b

Author: Christian Costa <titan.costa at wanadoo.fr>
Date:   Sun Dec 14 19:07:32 2008 +0100

amstream: Some fixes.

---

 dlls/amstream/amstream.c    |   30 ++++++++++++++++++------------
 dlls/amstream/mediastream.c |   18 ++++++++++++++----
 2 files changed, 32 insertions(+), 16 deletions(-)

diff --git a/dlls/amstream/amstream.c b/dlls/amstream/amstream.c
index 384b342..7c8a94b 100644
--- a/dlls/amstream/amstream.c
+++ b/dlls/amstream/amstream.c
@@ -57,6 +57,11 @@ HRESULT AM_create(IUnknown *pUnkOuter, LPVOID *ppObj)
         return CLASS_E_NOAGGREGATION;
 
     object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IAMMultiMediaStreamImpl));
+    if (!object)
+    {
+        ERR("Out of memory\n");
+        return E_OUTOFMEMORY;
+    }
 
     object->lpVtbl.lpVtbl = &AM_Vtbl;
     object->ref = 1;
@@ -71,7 +76,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_QueryInterface(IAMMultiMediaStream
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->(%s,%p)\n", iface, This, debugstr_guid(riid), ppvObject);
+    TRACE("(%p/%p)->(%s,%p)\n", iface, This, debugstr_guid(riid), ppvObject);
 
     if (IsEqualGUID(riid, &IID_IUnknown) ||
         IsEqualGUID(riid, &IID_IAMMultiMediaStream))
@@ -113,7 +118,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_GetInformation(IAMMultiMediaStream
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->(%p,%p) stub!\n", This, iface, pdwFlags, pStreamType); 
+    FIXME("(%p/%p)->(%p,%p) stub!\n", This, iface, pdwFlags, pStreamType);
 
     return E_NOTIMPL;
 }
@@ -144,7 +149,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_EnumMediaStreams(IAMMultiMediaStre
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->(%ld,%p) stub!\n", This, iface, Index, ppMediaStream); 
+    FIXME("(%p/%p)->(%ld,%p) stub!\n", This, iface, Index, ppMediaStream);
 
     return E_NOTIMPL;
 }
@@ -153,7 +158,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_GetState(IAMMultiMediaStream* ifac
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->(%p) stub!\n", This, iface, pCurrentState); 
+    FIXME("(%p/%p)->(%p) stub!\n", This, iface, pCurrentState);
 
     return E_NOTIMPL;
 }
@@ -162,7 +167,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_SetState(IAMMultiMediaStream* ifac
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->() stub!\n", This, iface); 
+    FIXME("(%p/%p)->() stub!\n", This, iface);
 
     return E_NOTIMPL;
 }
@@ -171,7 +176,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_GetTime(IAMMultiMediaStream* iface
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->(%p) stub!\n", This, iface, pCurrentTime); 
+    FIXME("(%p/%p)->(%p) stub!\n", This, iface, pCurrentTime);
 
     return E_NOTIMPL;
 }
@@ -180,7 +185,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_GetDuration(IAMMultiMediaStream* i
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->(%p) stub!\n", This, iface, pDuration); 
+    FIXME("(%p/%p)->(%p) stub!\n", This, iface, pDuration);
 
     return E_NOTIMPL;
 }
@@ -189,7 +194,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_Seek(IAMMultiMediaStream* iface, S
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->() stub!\n", This, iface); 
+    FIXME("(%p/%p)->() stub!\n", This, iface);
 
     return E_NOTIMPL;
 }
@@ -198,7 +203,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_GetEndOfStream(IAMMultiMediaStream
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->(%p) stub!\n", This, iface, phEOS); 
+    FIXME("(%p/%p)->(%p) stub!\n", This, iface, phEOS);
 
     return E_NOTIMPL;
 }
@@ -233,7 +238,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_GetFilterGraph(IAMMultiMediaStream
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->(%p) stub!\n", This, iface, ppGraphBuilder); 
+    FIXME("(%p/%p)->(%p) stub!\n", This, iface, ppGraphBuilder);
 
     return E_NOTIMPL;
 }
@@ -343,7 +348,8 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_OpenFile(IAMMultiMediaStream* ifac
     }
 
     ret = IGraphBuilder_AddSourceFilter(This->GraphBuilder, pszFileName, pszFileName, &BaseFilter);
-    end:
+
+end:
     IBaseFilter_Release(BaseFilter);
     IFileSourceFilter_Release(SourceFilter);
     return ret;
@@ -362,7 +368,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_Render(IAMMultiMediaStream* iface,
 {
     IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->(%x)\n", This, iface, dwFlags);
+    FIXME("(%p/%p)->(%x) partial stub!\n", This, iface, dwFlags);
 
     if(dwFlags != AMMSF_NOCLOCK)
         return E_INVALIDARG;
diff --git a/dlls/amstream/mediastream.c b/dlls/amstream/mediastream.c
index 01ee926..39e9a28 100644
--- a/dlls/amstream/mediastream.c
+++ b/dlls/amstream/mediastream.c
@@ -61,7 +61,12 @@ HRESULT MediaStream_create(IMultiMediaStream* Parent, const MSPID* pPurposeId, S
     TRACE("(%p,%p,%p)\n", Parent, pPurposeId, ppMediaStream);
 
     object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IMediaStreamImpl));
-    
+    if (!object)
+    {
+        ERR("Out of memory\n");
+        return E_OUTOFMEMORY;
+    }
+
     object->lpVtbl.lpVtbl = &MediaStream_Vtbl;
     object->ref = 1;
 
@@ -70,7 +75,7 @@ HRESULT MediaStream_create(IMultiMediaStream* Parent, const MSPID* pPurposeId, S
     object->StreamType = StreamType;
 
     *ppMediaStream = (IMediaStream*)object;
-    
+
     return S_OK;
 }
 
@@ -82,7 +87,7 @@ static HRESULT WINAPI IMediaStreamImpl_QueryInterface(IMediaStream* iface, REFII
     TRACE("(%p/%p)->(%s,%p)\n", iface, This, debugstr_guid(riid), ppvObject);
 
     if (IsEqualGUID(riid, &IID_IUnknown) ||
-        IsEqualGUID(riid, &IID_IAMMultiMediaStream))
+        IsEqualGUID(riid, &IID_IMediaStream))
     {
       IClassFactory_AddRef(iface);
       *ppvObject = This;
@@ -120,7 +125,7 @@ static HRESULT WINAPI IMediaStreamImpl_GetMultiMediaStream(IMediaStream* iface,
 {
     IMediaStreamImpl *This = (IMediaStreamImpl *)iface;
 
-    FIXME("(%p/%p)->(%p) stub!\n", This, iface, ppMultiMediaStream); 
+    FIXME("(%p/%p)->(%p) stub!\n", This, iface, ppMultiMediaStream);
 
     return S_FALSE;
 }
@@ -196,6 +201,11 @@ HRESULT DirectDrawMediaStream_create(IMultiMediaStream* Parent, const MSPID* pPu
     TRACE("(%p,%p,%p)\n", Parent, pPurposeId, ppMediaStream);
 
     object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IMediaStreamImpl));
+    if (!object)
+    {
+        ERR("Out of memory\n");
+        return E_OUTOFMEMORY;
+    }
 
     object->lpVtbl.lpVtbl = &DirectDrawMediaStream_Vtbl;
     object->ref = 1;




More information about the wine-cvs mailing list