#define MAKE_MEDIA_PATH(pFileName) (TEXT("C:\\LEADTOOLS 17.5\\Media\\")TEXT(pFileName)) // This function would be called before start the conversion process void BeforeConversion(IltmmConvert *pConvert) { long lWnd = 0; ltmmSizeMode lSizeMode; long lLimit, lVideoH, lVideoW, lWndLeft, lWndTop, lWndW, lWndH; VARIANT_BOOL vb; BSTR bstrLog; pConvert->get_VideoWindowHandle(&lWnd); if (lWnd) { // get video dimensions pConvert->get_VideoWidth(&lVideoW); pConvert->get_VideoHeight(&lVideoH); // get window size and pos pConvert->get_VideoWindowWidth(&lWndW); pConvert->get_VideoWindowHeight(&lWndH); pConvert->get_VideoWindowLeft(&lWndLeft); pConvert->get_VideoWindowTop(&lWndTop); // set the desired video window size mode pConvert->get_VideoWindowSizeMode(&lSizeMode); if (lSizeMode != ltmmFit && lVideoW > lWndW && lVideoH > lWndH) pConvert->put_VideoWindowSizeMode(ltmmFit); else if (lVideoW < lWndW && lVideoH < lWndH) pConvert->put_VideoWindowSizeMode(ltmmStretch); // we could change the window size and position here pConvert->SetVideoWindowPos(lWndLeft, lWndTop, lWndW, lWndH); } // enable still capture pConvert->put_EnableStillCapture(VARIANT_TRUE); pConvert->get_StillCaptureLimit(&lLimit); // set the limit if less than 1 sec if (lLimit <= 1000) pConvert->put_StillCaptureLimit(1000); // get full screen mode pConvert->get_FullScreenMode(&vb); if (vb == VARIANT_TRUE) { // Just to show how to use put_FullScreenMode pConvert->ToggleFullScreenMode(); // Use put_FullScreenMode(VARIANT_FALSE) to turn off the full screen mode pConvert->put_FullScreenMode(VARIANT_FALSE); } // start logging bstrLog = SysAllocString(MAKE_MEDIA_PATH("convert.log")); pConvert->OpenLogFile(bstrLog, ltmmLogFile_GeneralInfo); SysFreeString(bstrLog); } // This function would be called to save a snapshot from the running conversion to a file void TakeSnapShots(IltmmConvert *pConvert) { static int i = 0; VARIANT_BOOL vb; pConvert->get_EnableStillCapture(&vb); if (vb == VARIANT_TRUE) { WCHAR szFileName[100]; wsprintf(szFileName, MAKE_MEDIA_PATH("SnapShot%d.cmp"), i++); USES_CONVERSION; BSTR bstFileName = SysAllocString(szFileName); pConvert->SaveStillBitmap(bstFileName, ltmmConvert_StillFormat_CMP, 2, 0, -1); } } // This function would be called after the conversion process is finished. void EndConversion(IltmmConvert *pConvert) { pConvert->CloseLogFile(); }