From: jinhyung.jo Date: Thu, 2 Apr 2015 06:01:04 +0000 (+0900) Subject: maru-camera: minor modification for Windows module X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ff4987e79a2bb21e5c83b2158e465b2c688bb426;p=sdk%2Femulator%2Fqemu.git maru-camera: minor modification for Windows module check & apply coding conventions, change function call names Change-Id: I6d1837798d2cd3cf9805a98a1b4a75a5a738a195 Signed-off-by: Jinhyung Jo --- diff --git a/tizen/src/hw/pci/maru_camera_convert.c b/tizen/src/hw/pci/maru_camera_convert.c index f99a4f6b40..ff0d4e42d9 100644 --- a/tizen/src/hw/pci/maru_camera_convert.c +++ b/tizen/src/hw/pci/maru_camera_convert.c @@ -123,7 +123,6 @@ uint8_t convert_frame(uint32_t src_format, uint32_t dst_format, case V4L2_PIX_FMT_YUYV: switch (dst_format) { case V4L2_PIX_FMT_YUV420: - //YUYVToYUV420(src_buf, dst_buf, width, height); yuyv_to_yuv420(src_buf, dst_buf, width, height, 0); break; case V4L2_PIX_FMT_YVU420: @@ -149,7 +148,7 @@ uint8_t convert_frame(uint32_t src_format, uint32_t dst_format, return 1; } break; - case V4L2_PIX_FMT_RGB24: + case V4L2_PIX_FMT_RGB24: switch (dst_format) { case V4L2_PIX_FMT_YUV420: rgb24_to_yuv420(src_buf, dst_buf, width, height, 0); @@ -459,7 +458,7 @@ static void rgb24_to_yuv420(const unsigned char *src, unsigned char *dest, vline = vplane + ((y >> 1) * halfWidth); rgbIndex = src + (width * (height - 1 - y) * 3); - for (x = 0; x < (int)width; x+=2) { + for (x = 0; x < (int)width; x += 2) { RGB2Y(rgbIndex[2], rgbIndex[1], rgbIndex[0], *yline++); rgbIndex += 3; RGB2Y(rgbIndex[2], rgbIndex[1], rgbIndex[0], *yline++); diff --git a/tizen/src/hw/pci/maru_camera_win32.c b/tizen/src/hw/pci/maru_camera_win32.c index 3e2e0b39ff..e5088b0a8b 100644 --- a/tizen/src/hw/pci/maru_camera_win32.c +++ b/tizen/src/hw/pci/maru_camera_win32.c @@ -36,6 +36,7 @@ #define CINTERFACE #define COBJMACROS #include "ocidl.h" +#include "objidl.h" #include "errors.h" /* for VFW_E_XXXX */ #include "mmsystem.h" /* for MAKEFOURCC macro */ #include "maru_camera_win32.h" @@ -69,8 +70,6 @@ typedef struct HWCGrabCallback { long m_cRef; MaruCamState *m_pState; CallbackFn m_pCallback; - STDMETHODIMP (*SetCallback)(IGrabCallback *iface, CallbackFn pCallbackFn); - STDMETHODIMP (*SetState)(IGrabCallback *iface, MaruCamState *pState); } HWCGrabCallback; static inline HWCGrabCallback *impl_from_IGrabCallback(IGrabCallback *iface) @@ -133,24 +132,6 @@ static STDMETHODIMP HWCGrabCallback_Grab(IGrabCallback *iface, return E_FAIL; } -static STDMETHODIMP HWCGrabCallback_SetCallback(IGrabCallback *iface, - CallbackFn pCallbackFn) -{ - HWCGrabCallback *This = impl_from_IGrabCallback(iface); - - This->m_pCallback = pCallbackFn; - return S_OK; -} - -static STDMETHODIMP HWCGrabCallback_SetState(IGrabCallback *iface, - MaruCamState *pState) -{ - HWCGrabCallback *This = impl_from_IGrabCallback(iface); - - This->m_pState = pState; - return S_OK; -} - static IGrabCallbackVtbl HWCGrabCallback_Vtbl = { HWCGrabCallback_QueryInterface, HWCGrabCallback_AddRef, @@ -171,12 +152,29 @@ static STDMETHODIMP HWCGrabCallback_Construct(IGrabCallback **ppv) This->IGrabCallback_iface.lpVtbl = &HWCGrabCallback_Vtbl; This->m_cRef = 1; This->m_pCallback = NULL; - This->SetCallback = HWCGrabCallback_SetCallback; - This->SetState = HWCGrabCallback_SetState; + This->m_pState = NULL; *ppv = &This->IGrabCallback_iface; return S_OK; } +static STDMETHODIMP HWCGrabCallback_SetCallback(IGrabCallback *iface, + CallbackFn pCallbackFn) +{ + HWCGrabCallback *This = impl_from_IGrabCallback(iface); + + This->m_pCallback = pCallbackFn; + return S_OK; +} + +static STDMETHODIMP HWCGrabCallback_SetState(IGrabCallback *iface, + MaruCamState *pState) +{ + HWCGrabCallback *This = impl_from_IGrabCallback(iface); + + This->m_pState = pState; + return S_OK; +} + /* * HWCPin */ @@ -190,7 +188,6 @@ typedef struct HWCInPin { IMemAllocator *m_pAllocator; BOOL m_bReadOnly; long m_cRef; - STDMETHODIMP (*SetGrabCb)(IPin *iface, IGrabCallback *pCaptureCB); } HWCInPin; static inline HWCInPin *impl_from_IPin(IPin *iface) @@ -666,7 +663,6 @@ static STDMETHODIMP HWCInPin_Construct(IBaseFilter *pFilter, IPin **ppv) This->m_pCallback = NULL; This->m_pAllocator = NULL; This->m_cRef = 1; - This->SetGrabCb = HWCPin_SetCallback; *ppv = &This->IPin_iface; return S_OK; @@ -1154,24 +1150,24 @@ static long value_convert_to_guest(long min, long max, long value) /* * Callback function for grab frames */ -static STDMETHODIMP marucam_device_callbackfn(MaruCamState *state, +static STDMETHODIMP GrabFrameCallback(MaruCamState *state, ULONG dwSize, BYTE *pBuffer) { void *tmp_buf; - uint32_t width, height, fmt, imgsize; + uint32_t imgsize; MCBackendWin *backend = (MCBackendWin *)(state->backend); - width = backend->dst_width; - height = backend->dst_height; - fmt = backend->dst_fmt; - imgsize = get_sizeimage(fmt, width, height); + imgsize = get_sizeimage(backend->dst_fmt, + backend->dst_width, + backend->dst_height); if (imgsize > (uint32_t)dwSize) { ERR("Image size is mismatched\n"); return E_FAIL; } - if (convert_frame(backend->src_fmt, backend->dst_fmt, width, height, + if (convert_frame(backend->src_fmt, backend->dst_fmt, + backend->dst_width, backend->dst_height, (size_t)dwSize, pBuffer, backend->buf) > 0) { return E_FAIL; } @@ -1207,11 +1203,11 @@ static STDMETHODIMP marucam_device_callbackfn(MaruCamState *state, static STDMETHODIMP_(void) CloseInterfaces(MCBackendWin *backend) { if (backend->pMC) { - backend->pMC->lpVtbl->Stop(backend->pMC); + IMediaControl_Stop(backend->pMC); } if (backend->pOutPin) { - backend->pOutPin->lpVtbl->Disconnect(backend->pOutPin); + IPin_Disconnect(backend->pOutPin); } SAFE_RELEASE(backend->pGB); @@ -1254,14 +1250,14 @@ static STDMETHODIMP GetPin(IBaseFilter *pFilter, return E_POINTER; } - hr = pFilter->lpVtbl->EnumPins(pFilter, &pEnum); + hr = IBaseFilter_EnumPins(pFilter, &pEnum); if (FAILED(hr)) { return hr; } - while (pEnum->lpVtbl->Next(pEnum, 1, &pPin, 0) == S_OK) { + while (IEnumPins_Next(pEnum, 1, &pPin, 0) == S_OK) { PIN_DIRECTION PinDirThis; - hr = pPin->lpVtbl->QueryDirection(pPin, &PinDirThis); + hr = IPin_QueryDirection(pPin, &PinDirThis); if (FAILED(hr)) { SAFE_RELEASE(pPin); SAFE_RELEASE(pEnum); @@ -1298,14 +1294,14 @@ static STDMETHODIMP GraphBuilder_Init(MCBackendWin *backend) return hr; } - hr = backend->pCGB->lpVtbl->SetFiltergraph(backend->pCGB, backend->pGB); + hr = ICaptureGraphBuilder2_SetFiltergraph(backend->pCGB, backend->pGB); if (FAILED(hr)) { ERR("Failed to SetFiltergraph, 0x%x\n", hr); return hr; } - hr = backend->pGB->lpVtbl->QueryInterface(backend->pGB, &IID_IMediaControl, - (void **)&backend->pMC); + hr = IGraphBuilder_QueryInterface(backend->pGB, &IID_IMediaControl, + (void **)&backend->pMC); if (FAILED(hr)) { ERR("Failed to QueryInterface for IMediaControl, 0x%x\n", hr); return hr; @@ -1314,12 +1310,11 @@ static STDMETHODIMP GraphBuilder_Init(MCBackendWin *backend) hr = HWCGrabCallback_Construct(&backend->pCallback); if (backend->pCallback == NULL) { hr = E_OUTOFMEMORY; + return hr; } - hr = ((HWCGrabCallback *)(backend->pCallback))->SetCallback( - backend->pCallback, (CallbackFn)marucam_device_callbackfn); - hr = ((HWCGrabCallback *)(backend->pCallback))->SetState( - backend->pCallback, backend->base.state); + hr = HWCGrabCallback_SetCallback(backend->pCallback, GrabFrameCallback); + hr = HWCGrabCallback_SetState(backend->pCallback, backend->base.state); return hr; } @@ -1329,7 +1324,7 @@ static STDMETHODIMP BindSourceFilter(MCBackendWin *backend) HRESULT hr; ICreateDevEnum *pCreateDevEnum = NULL; IEnumMoniker *pEnumMK = NULL; - IMoniker *pMoniKer; + IMoniker *pMoniker; hr = CoCreateInstance(&CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC, &IID_ICreateDevEnum, @@ -1339,9 +1334,9 @@ static STDMETHODIMP BindSourceFilter(MCBackendWin *backend) return hr; } - hr = pCreateDevEnum->lpVtbl->CreateClassEnumerator(pCreateDevEnum, - &CLSID_VideoInputDeviceCategory, - &pEnumMK, 0); + hr = ICreateDevEnum_CreateClassEnumerator(pCreateDevEnum, + &CLSID_VideoInputDeviceCategory, + &pEnumMK, 0); if (FAILED(hr)) { ERR("Failed to get VideoInputDeviceCategory, 0x%x\n", hr); SAFE_RELEASE(pCreateDevEnum); @@ -1353,41 +1348,41 @@ static STDMETHODIMP BindSourceFilter(MCBackendWin *backend) SAFE_RELEASE(pCreateDevEnum); return E_FAIL; } - pEnumMK->lpVtbl->Reset(pEnumMK); + IEnumMoniker_Reset(pEnumMK); - hr = pEnumMK->lpVtbl->Next(pEnumMK, 1, &pMoniKer, NULL); + hr = IEnumMoniker_Next(pEnumMK, 1, &pMoniker, NULL); if (hr == S_FALSE) { hr = E_FAIL; } if (SUCCEEDED(hr)) { IPropertyBag *pBag = NULL; - hr = pMoniKer->lpVtbl->BindToStorage(pMoniKer, 0, 0, - &IID_IPropertyBag, - (void **)&pBag); + hr = IMoniker_BindToStorage(pMoniker, 0, 0, + &IID_IPropertyBag, + (void **)&pBag); if (SUCCEEDED(hr)) { VARIANT var; var.vt = VT_BSTR; - hr = pBag->lpVtbl->Read(pBag, L"FriendlyName", &var, NULL); + hr = IPropertyBag_Read(pBag, L"FriendlyName", &var, NULL); if (hr == NOERROR) { - hr = pMoniKer->lpVtbl->BindToObject(pMoniKer, NULL, NULL, - &IID_IBaseFilter, - (void **)&backend->pSrcFilter); + hr = IMoniker_BindToObject(pMoniker, NULL, NULL, + &IID_IBaseFilter, + (void **)&backend->pSrcFilter); if (FAILED(hr)) { ERR("Counldn't bind moniker to filter object!!\n"); } else { - backend->pSrcFilter->lpVtbl->AddRef(backend->pSrcFilter); + IBaseFilter_AddRef(backend->pSrcFilter); } SysFreeString(var.bstrVal); } SAFE_RELEASE(pBag); } - SAFE_RELEASE(pMoniKer); + SAFE_RELEASE(pMoniker); } if (SUCCEEDED(hr)) { - hr = backend->pGB->lpVtbl->AddFilter(backend->pGB, - backend->pSrcFilter, - L"Video Capture"); + hr = IGraphBuilder_AddFilter(backend->pGB, + backend->pSrcFilter, + L"Video Capture"); if (hr != S_OK && hr != S_FALSE) { ERR("Counldn't add Video Capture filter to our graph!\n"); SAFE_RELEASE(backend->pSrcFilter); @@ -1405,9 +1400,9 @@ static STDMETHODIMP BindTargetFilter(MCBackendWin *backend) hr = HWCFilter_Construct(&backend->pDstFilter); if (SUCCEEDED(hr) && backend->pDstFilter) { - hr = backend->pGB->lpVtbl->AddFilter(backend->pGB, - backend->pDstFilter, - L"HWCFilter"); + hr = IGraphBuilder_AddFilter(backend->pGB, + backend->pDstFilter, + L"HWCFilter"); if (FAILED(hr)) { ERR("Counldn't add HWCFilterr to our graph!\n"); SAFE_RELEASE(backend->pDstFilter); @@ -1437,7 +1432,7 @@ static STDMETHODIMP ConnectFilters(MCBackendWin *backend) return hr; } - hr = pGB->lpVtbl->Connect(pGB, pOut, pIn); + hr = IGraphBuilder_Connect(pGB, pOut, pIn); if (FAILED(hr)) { ERR("Failed to connect pins. 0x%x\n", hr); } @@ -1451,13 +1446,13 @@ static STDMETHODIMP DisconnectPins(MCBackendWin *backend) IPin *pIn = backend->pInPin; HRESULT hr; - hr = pGB->lpVtbl->Disconnect(pGB, pOut); + hr = IGraphBuilder_Disconnect(pGB, pOut); if (FAILED(hr)) { ERR("Failed to disconnect output pin. 0x%x\n", hr); return hr; } - hr = pGB->lpVtbl->Disconnect(pGB, pIn); + hr = IGraphBuilder_Disconnect(pGB, pIn); if (FAILED(hr)) { ERR("Failed to disconnect input pin. 0x%x\n", hr); } @@ -1472,13 +1467,13 @@ static STDMETHODIMP RemoveFilters(MCBackendWin *backend) IBaseFilter *pDst = backend->pDstFilter; HRESULT hr; - hr = pGB->lpVtbl->RemoveFilter(pGB, pSrc); + hr = IGraphBuilder_RemoveFilter(pGB, pSrc); if (FAILED(hr)) { ERR("Failed to remove source filer. 0x%x\n", hr); return hr; } - hr = pGB->lpVtbl->RemoveFilter(pGB, pDst); + hr = IGraphBuilder_RemoveFilter(pGB, pDst); if (FAILED(hr)) { ERR("Failed to remove destination filer. 0x%x\n", hr); } @@ -1498,17 +1493,17 @@ static STDMETHODIMP SetFormat(MCBackendWin *backend, uint32_t dwWidth, DWORD dwYUY2 = MAKEFOURCC('Y', 'U', 'Y', '2'); DWORD dwI420 = MAKEFOURCC('I', '4', '2', '0'); - hr = backend->pCGB->lpVtbl->FindInterface(backend->pCGB, - &PIN_CATEGORY_CAPTURE, 0, - backend->pSrcFilter, - &IID_IAMStreamConfig, - (void **)&pSConfig); + hr = ICaptureGraphBuilder2_FindInterface(backend->pCGB, + &PIN_CATEGORY_CAPTURE, 0, + backend->pSrcFilter, + &IID_IAMStreamConfig, + (void **)&pSConfig); if (FAILED(hr)) { ERR("failed to FindInterface method\n"); return hr; } - hr = pSConfig->lpVtbl->GetNumberOfCapabilities(pSConfig, &iCount, &iSize); + hr = IAMStreamConfig_GetNumberOfCapabilities(pSConfig, &iCount, &iSize); if (FAILED(hr)) { ERR("failed to GetNumberOfCapabilities method\n"); SAFE_RELEASE(pSConfig); @@ -1521,8 +1516,8 @@ static STDMETHODIMP SetFormat(MCBackendWin *backend, uint32_t dwWidth, VIDEO_STREAM_CONFIG_CAPS scc; AM_MEDIA_TYPE *pmtConfig; - hr = pSConfig->lpVtbl->GetStreamCaps(pSConfig, iFormat, - &pmtConfig, (BYTE *)&scc); + hr = IAMStreamConfig_GetStreamCaps(pSConfig, iFormat, + &pmtConfig, (BYTE *)&scc); if (hr == S_OK) { if (IsEqualIID(&pmtConfig->formattype, &FORMAT_VideoInfo)) { VIDEOINFOHEADER *pvi = @@ -1554,7 +1549,7 @@ static STDMETHODIMP SetFormat(MCBackendWin *backend, uint32_t dwWidth, pvi->AvgTimePerFrame = (REFERENCE_TIME)scc.MaxFrameInterval; #endif - hr = pSConfig->lpVtbl->SetFormat(pSConfig, pmtConfig); + hr = IAMStreamConfig_SetFormat(pSConfig, pmtConfig); DeleteMediaType(pmtConfig); break; } @@ -1582,14 +1577,14 @@ static STDMETHODIMP QueryVideoProcAmp(MCBackendWin *backend, long nProperty, long Flags; IAMVideoProcAmp *pProcAmp = NULL; - hr = backend->pSrcFilter->lpVtbl->QueryInterface(backend->pSrcFilter, - &IID_IAMVideoProcAmp, - (void **)&pProcAmp); + hr = IBaseFilter_QueryInterface(backend->pSrcFilter, + &IID_IAMVideoProcAmp, + (void **)&pProcAmp); if (FAILED(hr)) { return hr; } - hr = pProcAmp->lpVtbl->GetRange(pProcAmp, nProperty, pMin, pMax, + hr = IAMVideoProcAmp_GetRange(pProcAmp, nProperty, pMin, pMax, pStep, pDefault, &Flags); SAFE_RELEASE(pProcAmp); @@ -1603,14 +1598,14 @@ static STDMETHODIMP GetVideoProcAmp(MCBackendWin *backend, long Flags; IAMVideoProcAmp *pProcAmp = NULL; - hr = backend->pSrcFilter->lpVtbl->QueryInterface(backend->pSrcFilter, - &IID_IAMVideoProcAmp, - (void **)&pProcAmp); + hr = IBaseFilter_QueryInterface(backend->pSrcFilter, + &IID_IAMVideoProcAmp, + (void **)&pProcAmp); if (FAILED(hr)) { return hr; } - hr = pProcAmp->lpVtbl->Get(pProcAmp, nProperty, pValue, &Flags); + hr = IAMVideoProcAmp_Get(pProcAmp, nProperty, pValue, &Flags); if (FAILED(hr)) { ERR("Failed to get property for video\n"); } @@ -1625,14 +1620,14 @@ static STDMETHODIMP SetVideoProcAmp(MCBackendWin *backend, HRESULT hr; IAMVideoProcAmp *pProcAmp = NULL; - hr = backend->pSrcFilter->lpVtbl->QueryInterface(backend->pSrcFilter, - &IID_IAMVideoProcAmp, - (void **)&pProcAmp); + hr = IBaseFilter_QueryInterface(backend->pSrcFilter, + &IID_IAMVideoProcAmp, + (void **)&pProcAmp); if (FAILED(hr)) { return hr; } - hr = pProcAmp->lpVtbl->Set(pProcAmp, nProperty, value, + hr = IAMVideoProcAmp_Set(pProcAmp, nProperty, value, VideoProcAmp_Flags_Manual); if (FAILED(hr)) { ERR("Failed to set property for video\n"); @@ -1664,7 +1659,7 @@ int marucam_device_check(void) ICaptureGraphBuilder2 *pCGB = NULL; IBaseFilter *pSrcFilter = NULL; IEnumMoniker *pEnumMK = NULL; - IMoniker *pMoniKer = NULL; + IMoniker *pMoniker = NULL; IAMStreamConfig *pSConfig = NULL; int iCount = 0, iSize = 0; @@ -1732,7 +1727,7 @@ int marucam_device_check(void) return ret; } - hr = pCreateDevEnum->lpVtbl->CreateClassEnumerator(pCreateDevEnum, + hr = ICreateDevEnum_CreateClassEnumerator(pCreateDevEnum, &CLSID_VideoInputDeviceCategory, &pEnumMK, 0); if (FAILED(hr)) { ERR("Failed to create class enumerator\n"); @@ -1757,9 +1752,9 @@ int marucam_device_check(void) t2.tv_sec-t1.tv_sec, t2.tv_usec-t1.tv_usec); return ret; } - pEnumMK->lpVtbl->Reset(pEnumMK); + IEnumMoniker_Reset(pEnumMK); - hr = pEnumMK->lpVtbl->Next(pEnumMK, 1, &pMoniKer, NULL); + hr = IEnumMoniker_Next(pEnumMK, 1, &pMoniker, NULL); if (FAILED(hr) || (hr == S_FALSE)) { ERR("Enum moniker returns a invalid value.\n"); SAFE_RELEASE(pEnumMK); @@ -1774,9 +1769,9 @@ int marucam_device_check(void) } IPropertyBag *pBag = NULL; - hr = pMoniKer->lpVtbl->BindToStorage(pMoniKer, 0, 0, - &IID_IPropertyBag, - (void **)&pBag); + hr = IMoniker_BindToStorage(pMoniker, 0, 0, + &IID_IPropertyBag, + (void **)&pBag); if (FAILED(hr)) { ERR("Failed to bind to storage.\n"); SAFE_RELEASE(pEnumMK); @@ -1791,20 +1786,20 @@ int marucam_device_check(void) } else { VARIANT var; var.vt = VT_BSTR; - hr = pBag->lpVtbl->Read(pBag, L"FriendlyName", &var, NULL); + hr = IPropertyBag_Read(pBag, L"FriendlyName", &var, NULL); if (hr == S_OK) { ret = 1; device_name = __wchar_to_char(var.bstrVal); INFO("Device name : %s\n", device_name); g_free(device_name); - hr = pMoniKer->lpVtbl->BindToObject(pMoniKer, NULL, NULL, - &IID_IBaseFilter, - (void **)&pSrcFilter); + hr = IMoniker_BindToObject(pMoniker, NULL, NULL, + &IID_IBaseFilter, + (void **)&pSrcFilter); if (FAILED(hr)) { ERR("Counldn't bind moniker to filter object!!\n"); SysFreeString(var.bstrVal); SAFE_RELEASE(pBag); - SAFE_RELEASE(pMoniKer); + SAFE_RELEASE(pMoniker); SAFE_RELEASE(pEnumMK); SAFE_RELEASE(pCreateDevEnum); SAFE_RELEASE(pCGB); @@ -1815,15 +1810,15 @@ int marucam_device_check(void) t2.tv_sec-t1.tv_sec, t2.tv_usec-t1.tv_usec); return ret; } else { - pSrcFilter->lpVtbl->AddRef(pSrcFilter); + IBaseFilter_AddRef(pSrcFilter); } SysFreeString(var.bstrVal); } SAFE_RELEASE(pBag); } - SAFE_RELEASE(pMoniKer); + SAFE_RELEASE(pMoniker); - hr = pGB->lpVtbl->AddFilter(pGB, pSrcFilter, L"Video Capture"); + hr = IGraphBuilder_AddFilter(pGB, pSrcFilter, L"Video Capture"); if (hr != S_OK && hr != S_FALSE) { ERR("Counldn't add Video Capture filter to our graph!\n"); SAFE_RELEASE(pSrcFilter); @@ -1838,9 +1833,9 @@ int marucam_device_check(void) return ret; } - hr = pCGB->lpVtbl->FindInterface(pCGB, &PIN_CATEGORY_CAPTURE, 0, - pSrcFilter, &IID_IAMStreamConfig, - (void **)&pSConfig); + hr = ICaptureGraphBuilder2_FindInterface(pCGB, &PIN_CATEGORY_CAPTURE, 0, + pSrcFilter, &IID_IAMStreamConfig, + (void **)&pSConfig); if (FAILED(hr)) { ERR("Failed to FindInterface method\n"); SAFE_RELEASE(pSrcFilter); @@ -1855,7 +1850,7 @@ int marucam_device_check(void) return ret; } - hr = pSConfig->lpVtbl->GetNumberOfCapabilities(pSConfig, &iCount, &iSize); + hr = IAMStreamConfig_GetNumberOfCapabilities(pSConfig, &iCount, &iSize); if (FAILED(hr)) { ERR("Failed to GetNumberOfCapabilities method\n"); SAFE_RELEASE(pSConfig); @@ -1877,8 +1872,8 @@ int marucam_device_check(void) VIDEO_STREAM_CONFIG_CAPS scc; AM_MEDIA_TYPE *pmtConfig; - hr = pSConfig->lpVtbl->GetStreamCaps(pSConfig, iFormat, &pmtConfig, - (BYTE *)&scc); + hr = IAMStreamConfig_GetStreamCaps(pSConfig, iFormat, &pmtConfig, + (BYTE *)&scc); if (hr == S_OK) { if (IsEqualIID(&pmtConfig->formattype, &FORMAT_VideoInfo)) { VIDEOINFOHEADER *pvi = @@ -1903,7 +1898,7 @@ int marucam_device_check(void) } } - hr = pGB->lpVtbl->RemoveFilter(pGB, pSrcFilter); + hr = IGraphBuilder_RemoveFilter(pGB, pSrcFilter); if (FAILED(hr)) { ERR("Failed to remove source filer. 0x%x\n", hr); } @@ -2062,8 +2057,7 @@ static void backend_win_stream_on(MaruCamState *state) INFO("Starting preview\n"); assert(backend->pCallback != NULL); - hr = ((HWCInPin *)backend->pInPin)->SetGrabCb(backend->pInPin, - backend->pCallback); + hr = HWCPin_SetCallback(backend->pInPin, backend->pCallback); if (FAILED(hr)) { ERR("Failed to set IGrabCallback interface.\n"); state->io_ptr->err_code = EINVAL; @@ -2107,7 +2101,7 @@ static void backend_win_stream_off(MaruCamState *state) state->streamon = 0; qemu_mutex_unlock(&state->thread_mutex); - hr = ((HWCInPin *)backend->pInPin)->SetGrabCb(backend->pInPin, NULL); + hr = HWCPin_SetCallback(backend->pInPin, NULL); if (FAILED(hr)) { ERR("Failed to set IGrabCallback interface.\n"); state->io_ptr->err_code = EINVAL; @@ -2139,7 +2133,8 @@ static void backend_win_s_parm(MaruCamState *state) static void backend_win_g_parm(MaruCamState *state) { - struct v4l2_captureparm *cp = (struct v4l2_captureparm *)state->io_ptr->data; + struct v4l2_captureparm *cp = + (struct v4l2_captureparm *)state->io_ptr->data; /* We use default FPS of the webcam * return a fixed value on guest ini file (1/30). */ @@ -2420,7 +2415,7 @@ static void backend_win_s_ctrl(MaruCamState *state) break; default: ERR("Our emulator does not support this control: 0x%x\n", ctrl->id); - state->io_ptr->err_code= EINVAL; + state->io_ptr->err_code = EINVAL; state->io_ptr->ret_val = -1; return; } @@ -2486,7 +2481,8 @@ static void backend_win_g_ctrl(MaruCamState *state) static void backend_win_enum_fsizes(MaruCamState *state) { - struct v4l2_frmsizeenum *fsize = (struct v4l2_frmsizeenum *)state->io_ptr->data; + struct v4l2_frmsizeenum *fsize = + (struct v4l2_frmsizeenum *)state->io_ptr->data; uint32_t i; if (fsize->index >= ARRAY_SIZE(support_frames)) { @@ -2513,7 +2509,8 @@ static void backend_win_enum_fsizes(MaruCamState *state) static void backend_win_enum_fintv(MaruCamState *state) { - struct v4l2_frmivalenum *fival = (struct v4l2_frmivalenum *)state->io_ptr->data; + struct v4l2_frmivalenum *fival = + (struct v4l2_frmivalenum *)state->io_ptr->data; /* switch by index) */ switch (fival->index) {