240 |
/* Register the MFT decoder */ |
/* Register the MFT decoder */ |
241 |
MFTRegister(CLSID_XVID, // CLSID |
MFTRegister(CLSID_XVID, // CLSID |
242 |
MFT_CATEGORY_VIDEO_DECODER, // Category |
MFT_CATEGORY_VIDEO_DECODER, // Category |
243 |
const_cast<LPWSTR>(XVID_NAME_L), // Friendly name |
const_cast<LPWSTR>(XVID_NAME_MFT_L), // Friendly name |
244 |
0, // Flags |
0, // Flags |
245 |
inputs_num, // Number of input types |
inputs_num, // Number of input types |
246 |
mft_bs, // Input types |
mft_bs, // Input types |
331 |
LoadRegistryInfo(); |
LoadRegistryInfo(); |
332 |
|
|
333 |
*phr = OpenLib(); |
*phr = OpenLib(); |
334 |
|
|
335 |
|
{ |
336 |
|
TCHAR lpFilename[MAX_PATH]; |
337 |
|
int sLen = GetModuleFileName(NULL, lpFilename, MAX_PATH); |
338 |
|
#ifdef _UNICODE |
339 |
|
if ((sLen >= 11) && (_wcsnicmp(&(lpFilename[sLen - 11]), TEXT("dllhost.exe"), 11) == 0)) { |
340 |
|
#else |
341 |
|
if ((sLen >= 11) && (_strnicmp(&(lpFilename[sLen - 11]), TEXT("dllhost.exe"), 11) == 0)) { |
342 |
|
#endif |
343 |
|
if (Tray_Icon == 0) Tray_Icon = -1; // create no tray icon upon thumbnail generation |
344 |
|
} |
345 |
|
else |
346 |
|
if (Tray_Icon == -1) Tray_Icon = 0; // can show tray icon |
347 |
|
} |
348 |
|
|
349 |
} |
} |
350 |
|
|
351 |
HRESULT CXvidDecoder::OpenLib() |
HRESULT CXvidDecoder::OpenLib() |
507 |
{ |
{ |
508 |
DPRINTF("Destructor"); |
DPRINTF("Destructor"); |
509 |
|
|
510 |
if (Tray_Icon) { /* Destroy tray icon */ |
if (Tray_Icon > 0) { /* Destroy tray icon */ |
511 |
NOTIFYICONDATA nid; |
NOTIFYICONDATA nid; |
512 |
ZeroMemory(&nid,sizeof(NOTIFYICONDATA)); |
ZeroMemory(&nid,sizeof(NOTIFYICONDATA)); |
513 |
|
|