=======
GossCam
=======

To work around a serious threading issue (and gain some performance
in the bargain) a few API calls are accomplished via referenced
type libraries instead of VB6's Declare syntax.

To get away from WIA and use GDI+ instead we also need Edanmo's
OLE typelib or equivalent in order to get a usuable IStream
interface.


THE VDIR FOLDER

This is where static resources are located, in this case the
index.htm file.  One could also rework Gossamer to take this
from a program resource but this way is more flexible.


SPECIAL BUILD INSTRUCTIONS

To build this project do the following:

    Open GossCam.vbp in VB6, then clear and replace any missing/
    broken references to RCCopyMemory.tlb and Edanmo's olelib.tlb
    (or another source of the necessary IStream interface).

    NOTE: As of version 3.1 of GossCam, RCSendMessage.tlb is no
          longer used (or supplied in the download archive).

    To do this you'll probably need to Browse to these files in the
    Project|References dialog.  By selecting them there you'll
    automatically take care of registring them.

    Then you can save and make (or run in the IDE) just fine.

    See the comments within GossCamStatic.Yuy2ToRgb regarding VB6
    optimization settings!  The YUV decoder is CPU-intensive so
    running in the IDE will have limitations regarding speed and
    sustainable frame rate.

Note that there are no related libraries to distribute and the TLBs
are not need at runtime and do not need to be distributed either.
They are only used by the IDE/compiler.

Once you have done this future compiles should be fine.  However if
you move these TLBs around you may have to re-register them.


A nice tool for manually unregistering typelibs (no, you can't use
REGSVR32.EXE for this) is VBRegTLB6.exe which you can probably get
from:

http://www.vbaccelerator.com/home/VB/Utilities/Type_Library_Registration_Utility/VB6_Register_TypeLib_Utility.asp
