forked from Mirrors/wine-wine
qedit: Implement IMediaDet::get_StreamType().
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com> Signed-off-by: Zebediah Figura <z.figura12@gmail.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>feature/deterministic
parent
59987bc9ec
commit
9650f5a7db
|
@ -28,6 +28,7 @@
|
|||
#include "ole2.h"
|
||||
|
||||
#include "qedit_private.h"
|
||||
#include "wine/strmbase.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(qedit);
|
||||
|
@ -280,11 +281,24 @@ static HRESULT WINAPI MediaDet_put_CurrentStream(IMediaDet* iface, LONG newVal)
|
|||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI MediaDet_get_StreamType(IMediaDet* iface, GUID *pVal)
|
||||
static HRESULT WINAPI MediaDet_get_StreamType(IMediaDet *iface, GUID *majortype)
|
||||
{
|
||||
MediaDetImpl *This = impl_from_IMediaDet(iface);
|
||||
FIXME("(%p)->(%s): not implemented!\n", This, debugstr_guid(pVal));
|
||||
return E_NOTIMPL;
|
||||
MediaDetImpl *detector = impl_from_IMediaDet(iface);
|
||||
AM_MEDIA_TYPE mt;
|
||||
HRESULT hr;
|
||||
|
||||
TRACE("detector %p, majortype %p.\n", detector, majortype);
|
||||
|
||||
if (!majortype)
|
||||
return E_POINTER;
|
||||
|
||||
if (SUCCEEDED(hr = IMediaDet_get_StreamMediaType(iface, &mt)))
|
||||
{
|
||||
*majortype = mt.majortype;
|
||||
FreeMediaType(&mt);
|
||||
}
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI MediaDet_get_StreamTypeB(IMediaDet* iface, BSTR *pVal)
|
||||
|
|
|
@ -192,6 +192,7 @@ static void test_mediadet(void)
|
|||
BSTR filename = NULL;
|
||||
LONG nstrms = 0;
|
||||
LONG strm;
|
||||
GUID guid;
|
||||
AM_MEDIA_TYPE mt;
|
||||
double fps;
|
||||
int flags;
|
||||
|
@ -242,6 +243,12 @@ static void test_mediadet(void)
|
|||
hr = IMediaDet_get_StreamMediaType(pM, NULL);
|
||||
ok(hr == E_POINTER, "IMediaDet_get_StreamMediaType failed: %08x\n", hr);
|
||||
|
||||
hr = IMediaDet_get_StreamType(pM, &guid);
|
||||
ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr);
|
||||
|
||||
hr = IMediaDet_get_StreamType(pM, NULL);
|
||||
ok(hr == E_POINTER, "Got hr %#x.\n", hr);
|
||||
|
||||
filename = SysAllocString(test_avi_filename);
|
||||
hr = IMediaDet_put_Filename(pM, filename);
|
||||
ok(hr == S_OK, "IMediaDet_put_Filename failed: %08x\n", hr);
|
||||
|
@ -258,6 +265,10 @@ static void test_mediadet(void)
|
|||
ok(hr == S_OK, "IMediaDet_get_StreamMediaType failed: %08x\n", hr);
|
||||
CoTaskMemFree(mt.pbFormat);
|
||||
|
||||
hr = IMediaDet_get_StreamType(pM, &guid);
|
||||
ok(hr == S_OK, "Got hr %#x.\n", hr);
|
||||
ok(IsEqualGUID(&guid, &MEDIATYPE_Video), "Got major type %s.\n", debugstr_guid(&guid));
|
||||
|
||||
/* Even before get_OutputStreams. */
|
||||
hr = IMediaDet_put_CurrentStream(pM, 1);
|
||||
ok(hr == E_INVALIDARG, "IMediaDet_put_CurrentStream failed: %08x\n", hr);
|
||||
|
@ -311,6 +322,10 @@ static void test_mediadet(void)
|
|||
"IMediaDet_get_StreamMediaType\n");
|
||||
CoTaskMemFree(mt.pbFormat);
|
||||
|
||||
hr = IMediaDet_get_StreamType(pM, &guid);
|
||||
ok(hr == S_OK, "Got hr %#x.\n", hr);
|
||||
ok(IsEqualGUID(&guid, &MEDIATYPE_Video), "Got major type %s.\n", debugstr_guid(&guid));
|
||||
|
||||
hr = IMediaDet_get_FrameRate(pM, NULL);
|
||||
ok(hr == E_POINTER, "IMediaDet_get_FrameRate failed: %08x\n", hr);
|
||||
|
||||
|
@ -370,6 +385,10 @@ static void test_mediadet(void)
|
|||
|
||||
if (IsEqualGUID(&mt.majortype, &MEDIATYPE_Audio))
|
||||
{
|
||||
hr = IMediaDet_get_StreamType(pM, &guid);
|
||||
ok(hr == S_OK, "Got hr %#x.\n", hr);
|
||||
ok(IsEqualGUID(&guid, &MEDIATYPE_Audio), "Got major type %s.\n", debugstr_guid(&guid));
|
||||
|
||||
hr = IMediaDet_get_FrameRate(pM, &fps);
|
||||
ok(hr == VFW_E_INVALIDMEDIATYPE, "IMediaDet_get_FrameRate failed: %08x\n", hr);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue