MantisBT - VTK
View Issue Details
0000635VTK(No Category)public2004-02-29 23:232016-08-12 09:54
Mathieu Malaterre 
David Partyka 
lowminoralways
closedmoved 
 
 
0000635: vtkWin32VideoSource does not compile on cygwin
I try compiling some very simple programs that were using the API of
video for windows (references such as CAPSTATUS, CAPDRIVERCAPS,
CONTROLCALLBACK_PREROLL ...). They should be defined in Vfw.h but I
can't find these definitions on my cygwin system.


Is there a problem with this particular library ? or is it just missing ?

    I attached to this email the log of make. You can find the source code
here:


http://www.vtk.org/cgi-bin/viewcvs.cgi/Hybrid/vtkWin32VideoSource.cxx [^]

Thanks,
Mathieu


Ref:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_capdlgvideoformat.asp [^]




Building object file vtkWin32VideoSource.o...
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:34: error: 'CAPSTATUS'
   is used as a type, but is not defined as a type.
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:35: error: '
   CAPDRIVERCAPS' is used as a type, but is not defined as a type.
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:36: error: '
   CAPTUREPARMS' is used as a type, but is not defined as a type.
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In function `LRESULT
   vtkWin32VideoSourceCapControlProc(HWND__*, int)':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:136: error: `
   capGetUserData' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:136: error: (Each
   undeclared identifier is reported only once for each function it appears
   in.)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:138: error: `
   CONTROLCALLBACK_PREROLL' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:143: error: `
   CONTROLCALLBACK_CAPTURING' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: At global scope:
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:152: error: type
   specifier omitted for parameter `LPVIDEOHDR'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:152: error: syntax
   error before `)' token
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In function `LRESULT
   vtkWin32VideoSourceCallbackProc(...)':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:154: error: `hwndC'
   undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:154: error: `
   capGetUserData' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:155: error: `lpVHdr'
   undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In function `LRESULT
   vtkWin32VideoSourceStatusCallbackProc(HWND__*, int, const CHAR*)':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:168: error: `
   IDS_CAP_BEGIN' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:173: error: `
   IDS_CAP_END' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   virtual void vtkWin32VideoSource::Initialize()':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:285: error: `
   capCreateCaptureWindow' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:296: error: `
   capDriverConnect' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:304: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CapDriverCaps'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:304: error: `
   CAPDRIVERCAPS' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:304: error: `
   capDriverGetCaps' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:310: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:310: error: `
   CAPTUREPARMS' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:310: error: `
   capCaptureGetSetup' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:314: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:319: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:322: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:323: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:324: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:325: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:326: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:327: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:328: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:329: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:330: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:331: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:332: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:332: error: `
   AVSTREAMMASTER_NONE' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:334: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:335: error: `
   capCaptureSetSetup' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:344: error: `
   capSetUserData' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:354: error: `
   capSetCallbackOnCapControl' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:364: error: `
   capSetCallbackOnFrame' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:373: error: `
   capSetCallbackOnVideoStream' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:382: error: `
   capSetCallbackOnStatus' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:391: error: `
   capSetCallbackOnError' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:399: error: `
   capOverlay' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   void vtkWin32VideoSource::OnParentWndDestroy()':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:455: error: `
   capDriverDisconnect' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   void vtkWin32VideoSource::InternalGrab(void*)':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:475: error: syntax
   error before `=' token
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   virtual void vtkWin32VideoSource::Grab()':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:573: error: `
   capGrabFrameNoStop' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   virtual void vtkWin32VideoSource::Record()':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:594: error: `
   capCaptureSequenceNoFile' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   virtual void vtkWin32VideoSource::Stop()':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:612: error: `
   capCaptureStop' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   void vtkWin32VideoSource::VideoFormatDialog()':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:874: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CapStatus'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:874: error: `CAPSTATUS
   ' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:874: error: `
   capGetStatus' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:875: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CapStatus'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:882: error: `
   capDlgVideoFormat' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   void vtkWin32VideoSource::VideoSourceDialog()':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:907: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CapStatus'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:907: error: `
   capGetStatus' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:908: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CapStatus'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:915: error: `
   capDlgVideoSource' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   virtual void vtkWin32VideoSource::SetFrameRate(float)':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:968: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:968: error: `
   capCaptureGetSetup' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:971: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:976: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:978: error: 'class
   vtkWin32VideoSourceInternal' has no member named 'CaptureParms'
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:978: error: `
   capCaptureSetSetup' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   void vtkWin32VideoSource::DoVFWFormatCheck()':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:1033: error: `
   capGetVideoFormatSize' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:1043: error: `
   capGetVideoFormat' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx: In member function `
   void vtkWin32VideoSource::DoVFWFormatSetup()':
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:1123: error: `
   capGetVideoFormatSize' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:1133: error: `
   capGetVideoFormat' undeclared (first use this function)
/home/mathieu/Kitware/VTK/Hybrid/vtkWin32VideoSource.cxx:1157: error: `
   capSetVideoFormat' undeclared (first use this function)
make[1]: *** [vtkWin32VideoSource.o] Error 1
make: *** [default_target] Error 2
No tags attached.
patch vfw.patch (1,063) 2008-12-29 04:36
https://www.vtk.org/Bug/file/6949/vfw.patch
Issue History
2008-11-30 09:18Mathieu MalaterreAssigned ToMathieu Malaterre => David Cole
2008-12-29 04:21Mathieu MalaterreNote Added: 0014445
2008-12-29 04:36Mathieu MalaterreFile Added: vfw.patch
2008-12-29 04:37Mathieu MalaterreNote Added: 0014446
2011-01-19 10:21David ColeAssigned ToDavid Cole => David Partyka
2011-06-16 13:11Zack GalbreathCategory => (No Category)
2013-07-22 20:33Dave DeMarleStatusbacklog => expired
2013-07-22 20:33Dave DeMarleNote Added: 0031293
2016-08-12 09:54Kitware RobotNote Added: 0036719
2016-08-12 09:54Kitware RobotStatusexpired => closed
2016-08-12 09:54Kitware RobotResolutionopen => moved

Notes
(0000709)
Mathieu Malaterre   
2004-02-29 23:25   
The headers for Windows API functionality are provided by the w32api package. The header you want is /usr/include/w32api/vfw.h, but it, as well as the rest of the package, is by no means complete (e.g., the
definitions above aren't in it). Feel free to send a patch to either the cygwin-patches list, or the mingw-users list (be sure to include the above
MSDN reference).
http://www.cygwin.com/ml/cygwin/2004-03/msg00020.html [^]
(0014445)
Mathieu Malaterre   
2008-12-29 04:21   
--- vtkWin32VideoSourceORIGINAL.cxx 2006-12-20 09:39:38.000000000 -0500
+++ vtkWin32VideoSource.cxx 2008-12-29 00:14:17.975155200 -0500
@@ -34,6 +34,30 @@
 #pragma warning (pop)
 #endif

+
+// ------------------------------------------------------------------
+// CapControlCallback states - from
+// http://www.hjrx.cn/software/BCB6/INSTALL/program%20files/Borland/ [^]
+// CBuilder6/Include/avicap.h
+// ------------------------------------------------------------------
+#define CONTROLCALLBACK_PREROLL 1 /* Waiting to start capture */
+#define CONTROLCALLBACK_CAPTURING 2 /* Now capturing */
+
+// ------------------------------------------------------------------
+// String IDs from status and error callbacks - from
+// http://www.hjrx.cn/software/BCB6/INSTALL/program%20files/Borland/ [^]
+// CBuilder6/Include/avicap.h
+// ------------------------------------------------------------------
+
+#define IDS_CAP_BEGIN 300 /* "Capture Start" */
+#define IDS_CAP_END 301 /* "Capture End" */
+
+// ------------------------------------------------------------------
+// from http://ucanvcam.googlecode.com/svn-history/r4/trunk/modules/ [^]
+// vdub/cap_vfw.cpp
+// ------------------------------------------------------------------
+#define AVSTREAMMASTER_NONE 1
+

Ref:
http://public.kitware.com/pipermail/vtkusers/2008-December/098860.html [^]

[Andrey Sklyar skyarland at gmail.com ]
(0014446)
Mathieu Malaterre   
2008-12-29 04:37   
Adding vfw.patch. The only issue with this patch is if the header file use const value instead of #define, which might result in conflicts.

Patch was not applied.
(0031293)
Dave DeMarle   
2013-07-22 20:33   
Dave P no longer works on the project. If these old issues still exist in 6.0.0, reopen them and assign to Dave DeMarle
(0036719)
Kitware Robot   
2016-08-12 09:54   
Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current VTK Issues page linked in the banner at the top of this page.