amstream: Some fixes.
This commit is contained in:
parent
039c15a60a
commit
c4a8ab069f
|
@ -57,6 +57,11 @@ HRESULT AM_create(IUnknown *pUnkOuter, LPVOID *ppObj)
|
||||||
return CLASS_E_NOAGGREGATION;
|
return CLASS_E_NOAGGREGATION;
|
||||||
|
|
||||||
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IAMMultiMediaStreamImpl));
|
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IAMMultiMediaStreamImpl));
|
||||||
|
if (!object)
|
||||||
|
{
|
||||||
|
ERR("Out of memory\n");
|
||||||
|
return E_OUTOFMEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
object->lpVtbl.lpVtbl = &AM_Vtbl;
|
object->lpVtbl.lpVtbl = &AM_Vtbl;
|
||||||
object->ref = 1;
|
object->ref = 1;
|
||||||
|
@ -71,7 +76,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_QueryInterface(IAMMultiMediaStream
|
||||||
{
|
{
|
||||||
IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)iface;
|
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) ||
|
if (IsEqualGUID(riid, &IID_IUnknown) ||
|
||||||
IsEqualGUID(riid, &IID_IAMMultiMediaStream))
|
IsEqualGUID(riid, &IID_IAMMultiMediaStream))
|
||||||
|
@ -343,7 +348,8 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_OpenFile(IAMMultiMediaStream* ifac
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = IGraphBuilder_AddSourceFilter(This->GraphBuilder, pszFileName, pszFileName, &BaseFilter);
|
ret = IGraphBuilder_AddSourceFilter(This->GraphBuilder, pszFileName, pszFileName, &BaseFilter);
|
||||||
end:
|
|
||||||
|
end:
|
||||||
IBaseFilter_Release(BaseFilter);
|
IBaseFilter_Release(BaseFilter);
|
||||||
IFileSourceFilter_Release(SourceFilter);
|
IFileSourceFilter_Release(SourceFilter);
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -362,7 +368,7 @@ static HRESULT WINAPI IAMMultiMediaStreamImpl_Render(IAMMultiMediaStream* iface,
|
||||||
{
|
{
|
||||||
IAMMultiMediaStreamImpl *This = (IAMMultiMediaStreamImpl *)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)
|
if(dwFlags != AMMSF_NOCLOCK)
|
||||||
return E_INVALIDARG;
|
return E_INVALIDARG;
|
||||||
|
|
|
@ -61,6 +61,11 @@ HRESULT MediaStream_create(IMultiMediaStream* Parent, const MSPID* pPurposeId, S
|
||||||
TRACE("(%p,%p,%p)\n", Parent, pPurposeId, ppMediaStream);
|
TRACE("(%p,%p,%p)\n", Parent, pPurposeId, ppMediaStream);
|
||||||
|
|
||||||
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IMediaStreamImpl));
|
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IMediaStreamImpl));
|
||||||
|
if (!object)
|
||||||
|
{
|
||||||
|
ERR("Out of memory\n");
|
||||||
|
return E_OUTOFMEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
object->lpVtbl.lpVtbl = &MediaStream_Vtbl;
|
object->lpVtbl.lpVtbl = &MediaStream_Vtbl;
|
||||||
object->ref = 1;
|
object->ref = 1;
|
||||||
|
@ -82,7 +87,7 @@ static HRESULT WINAPI IMediaStreamImpl_QueryInterface(IMediaStream* iface, REFII
|
||||||
TRACE("(%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) ||
|
if (IsEqualGUID(riid, &IID_IUnknown) ||
|
||||||
IsEqualGUID(riid, &IID_IAMMultiMediaStream))
|
IsEqualGUID(riid, &IID_IMediaStream))
|
||||||
{
|
{
|
||||||
IClassFactory_AddRef(iface);
|
IClassFactory_AddRef(iface);
|
||||||
*ppvObject = This;
|
*ppvObject = This;
|
||||||
|
@ -196,6 +201,11 @@ HRESULT DirectDrawMediaStream_create(IMultiMediaStream* Parent, const MSPID* pPu
|
||||||
TRACE("(%p,%p,%p)\n", Parent, pPurposeId, ppMediaStream);
|
TRACE("(%p,%p,%p)\n", Parent, pPurposeId, ppMediaStream);
|
||||||
|
|
||||||
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IMediaStreamImpl));
|
object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(IMediaStreamImpl));
|
||||||
|
if (!object)
|
||||||
|
{
|
||||||
|
ERR("Out of memory\n");
|
||||||
|
return E_OUTOFMEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
object->lpVtbl.lpVtbl = &DirectDrawMediaStream_Vtbl;
|
object->lpVtbl.lpVtbl = &DirectDrawMediaStream_Vtbl;
|
||||||
object->ref = 1;
|
object->ref = 1;
|
||||||
|
|
Loading…
Reference in New Issue