ICCompressorChoose should initialize fccType and fccHandler fields
for the full frames case as well.
This commit is contained in:
parent
4cfc3874df
commit
2a93c2f23d
|
@ -23,10 +23,6 @@
|
|||
#define MAX_AVISTREAMS 8
|
||||
#endif
|
||||
|
||||
#ifndef comptypeDIB
|
||||
#define comptypeDIB mmioFOURCC('D','I','B',' ')
|
||||
#endif
|
||||
|
||||
#ifndef DIBWIDTHBYTES
|
||||
#define WIDTHBYTES(i) (((i+31)&(~31))/8)
|
||||
#define DIBWIDTHBYTES(bi) WIDTHBYTES((bi).biWidth * (bi).biBitCount)
|
||||
|
|
|
@ -749,6 +749,7 @@ static INT_PTR CALLBACK icm_choose_compressor_dlgproc(HWND hdlg, UINT msg, WPARA
|
|||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
ICINFO *ic;
|
||||
WCHAR buf[128];
|
||||
struct choose_compressor *choose_comp = (struct choose_compressor *)lparam;
|
||||
|
||||
|
@ -758,6 +759,11 @@ static INT_PTR CALLBACK icm_choose_compressor_dlgproc(HWND hdlg, UINT msg, WPARA
|
|||
LoadStringW(MSVFW32_hModule, IDS_FULLFRAMES, buf, 128);
|
||||
SendDlgItemMessageW(hdlg, IDC_COMP_LIST, CB_ADDSTRING, 0, (LPARAM)buf);
|
||||
|
||||
ic = HeapAlloc(GetProcessHeap(), 0, sizeof(ICINFO));
|
||||
ic->fccType = streamtypeVIDEO;
|
||||
ic->fccHandler = comptypeDIB;
|
||||
SendDlgItemMessageW(hdlg, IDC_COMP_LIST, CB_SETITEMDATA, 0, (LPARAM)ic);
|
||||
|
||||
enum_compressors(GetDlgItem(hdlg, IDC_COMP_LIST));
|
||||
|
||||
SendDlgItemMessageW(hdlg, IDC_COMP_LIST, CB_SETCURSEL, 0, 0);
|
||||
|
@ -782,8 +788,10 @@ static INT_PTR CALLBACK icm_choose_compressor_dlgproc(HWND hdlg, UINT msg, WPARA
|
|||
{
|
||||
struct choose_compressor *choose_comp = (struct choose_compressor *)GetWindowLongPtrW(hdlg, DWLP_USER);
|
||||
|
||||
choose_comp->cv.hic = ICOpen(ic->fccType, ic->fccHandler, ICMODE_COMPRESS);
|
||||
if (choose_comp->cv.hic)
|
||||
if (ic->fccHandler != comptypeDIB)
|
||||
choose_comp->cv.hic = ICOpen(ic->fccType, ic->fccHandler, ICMODE_COMPRESS);
|
||||
|
||||
if (ic->fccHandler == comptypeDIB || choose_comp->cv.hic)
|
||||
{
|
||||
choose_comp->cv.fccType = ic->fccType;
|
||||
choose_comp->cv.fccHandler = ic->fccHandler;
|
||||
|
|
|
@ -143,6 +143,10 @@ DECLARE_HANDLE(HIC);
|
|||
#define ICM_COMPRESS_FRAMES_INFO (ICM_USER+70)
|
||||
#define ICM_SET_STATUS_PROC (ICM_USER+72)
|
||||
|
||||
#ifndef comptypeDIB
|
||||
#define comptypeDIB mmioFOURCC('D','I','B',' ')
|
||||
#endif
|
||||
|
||||
/* structs */
|
||||
|
||||
/* NOTE: Only the 16 bit structs are packed. Structs that are packed anyway
|
||||
|
|
Loading…
Reference in New Issue