ir50_32: Implement open and close.

This commit is contained in:
Shaun Ren 2023-02-03 02:16:34 -05:00 committed by Alexandre Julliard
parent 70e9383367
commit 3dd09ed8f9
3 changed files with 20 additions and 4 deletions

View file

@ -1,5 +1,6 @@
MODULE = ir50_32.dll
IMPORTS = user32
IMPORTS = user32 mfplat mfuuid
DELAYIMPORTS = winegstreamer
C_SRCS = \
ir50.c

View file

@ -35,13 +35,23 @@ WINE_DEFAULT_DEBUG_CHANNEL(ir50_32);
static HINSTANCE IR50_32_hModule;
#define IV50_MAGIC mmioFOURCC('I','V','5','0')
#define compare_fourcc(fcc1, fcc2) (((fcc1)^(fcc2))&~0x20202020)
static LRESULT
IV50_Open( const ICINFO *icinfo )
{
FIXME("DRV_OPEN %p\n", icinfo);
return 0;
IMFTransform *decoder = NULL;
TRACE("DRV_OPEN %p\n", icinfo);
if ( icinfo && compare_fourcc( icinfo->fccType, ICTYPE_VIDEO ) )
return 0;
if ( FAILED(winegstreamer_create_video_decoder( &decoder )) )
return 0;
return (LRESULT)decoder;
}
static LRESULT
@ -177,7 +187,10 @@ LRESULT WINAPI IV50_DriverProc( DWORD_PTR dwDriverId, HDRVR hdrvr, UINT msg,
break;
case DRV_CLOSE:
FIXME("DRV_CLOSE\n");
TRACE("DRV_CLOSE\n");
if ( decoder )
IMFTransform_Release( decoder );
r = 1;
break;
case DRV_ENABLE:

View file

@ -31,4 +31,6 @@
#define IDS_NAME 100
#define IDS_DESCRIPTION 101
HRESULT WINAPI winegstreamer_create_video_decoder(IMFTransform **out);
#endif /* __IR50_PRIVATE_H */