Commit 2a93c2f2 authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

ICCompressorChoose should initialize fccType and fccHandler fields

for the full frames case as well.
parent 4cfc3874
...@@ -23,10 +23,6 @@ ...@@ -23,10 +23,6 @@
#define MAX_AVISTREAMS 8 #define MAX_AVISTREAMS 8
#endif #endif
#ifndef comptypeDIB
#define comptypeDIB mmioFOURCC('D','I','B',' ')
#endif
#ifndef DIBWIDTHBYTES #ifndef DIBWIDTHBYTES
#define WIDTHBYTES(i) (((i+31)&(~31))/8) #define WIDTHBYTES(i) (((i+31)&(~31))/8)
#define DIBWIDTHBYTES(bi) WIDTHBYTES((bi).biWidth * (bi).biBitCount) #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 ...@@ -749,6 +749,7 @@ static INT_PTR CALLBACK icm_choose_compressor_dlgproc(HWND hdlg, UINT msg, WPARA
{ {
case WM_INITDIALOG: case WM_INITDIALOG:
{ {
ICINFO *ic;
WCHAR buf[128]; WCHAR buf[128];
struct choose_compressor *choose_comp = (struct choose_compressor *)lparam; 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 ...@@ -758,6 +759,11 @@ static INT_PTR CALLBACK icm_choose_compressor_dlgproc(HWND hdlg, UINT msg, WPARA
LoadStringW(MSVFW32_hModule, IDS_FULLFRAMES, buf, 128); LoadStringW(MSVFW32_hModule, IDS_FULLFRAMES, buf, 128);
SendDlgItemMessageW(hdlg, IDC_COMP_LIST, CB_ADDSTRING, 0, (LPARAM)buf); 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)); enum_compressors(GetDlgItem(hdlg, IDC_COMP_LIST));
SendDlgItemMessageW(hdlg, IDC_COMP_LIST, CB_SETCURSEL, 0, 0); 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 ...@@ -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); struct choose_compressor *choose_comp = (struct choose_compressor *)GetWindowLongPtrW(hdlg, DWLP_USER);
choose_comp->cv.hic = ICOpen(ic->fccType, ic->fccHandler, ICMODE_COMPRESS); if (ic->fccHandler != comptypeDIB)
if (choose_comp->cv.hic) 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.fccType = ic->fccType;
choose_comp->cv.fccHandler = ic->fccHandler; choose_comp->cv.fccHandler = ic->fccHandler;
......
...@@ -143,6 +143,10 @@ DECLARE_HANDLE(HIC); ...@@ -143,6 +143,10 @@ DECLARE_HANDLE(HIC);
#define ICM_COMPRESS_FRAMES_INFO (ICM_USER+70) #define ICM_COMPRESS_FRAMES_INFO (ICM_USER+70)
#define ICM_SET_STATUS_PROC (ICM_USER+72) #define ICM_SET_STATUS_PROC (ICM_USER+72)
#ifndef comptypeDIB
#define comptypeDIB mmioFOURCC('D','I','B',' ')
#endif
/* structs */ /* structs */
/* NOTE: Only the 16 bit structs are packed. Structs that are packed anyway /* NOTE: Only the 16 bit structs are packed. Structs that are packed anyway
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment