98 lines
4.6 KiB
Plaintext
98 lines
4.6 KiB
Plaintext
|
this file provides a brief synopsis of the naming conventions, and purposes of other files in this directory.
|
||
|
|
||
|
dirs:
|
||
|
caman - conditional access manager
|
||
|
cagseg - conditional access graph segment. eventually caman, cagseg should be the same object/project/dir. ask
|
||
|
johnbrad for more details
|
||
|
atl - private versions of atl headers(see readme in that dir)
|
||
|
atlwin - copy of atlwin. this should eventually be replaced with public\sdk\inc\wtl
|
||
|
msvidctl - the actual core vidctl
|
||
|
auxcfg - utility objects to support configuration of analog auxiliary input devices for s-video or composite.
|
||
|
this is incomplete(as of 8/00) , but intended to be UI-less helper objects based on the win98
|
||
|
webtv for windows config page and aux-in filter.
|
||
|
|
||
|
files:
|
||
|
|
||
|
w32extend.h
|
||
|
|
||
|
this file provides a set of utility classes that make various win32 api's and structs easier to use from c++.
|
||
|
|
||
|
fwdseq.h
|
||
|
|
||
|
this file is a generic template for turning any sort of com object with a reasonably standard enumerator into
|
||
|
an stl style container with an forward(restartable input) iterator. its so complicated because its working
|
||
|
around a couple of compiler bugs and its flexible enough to handle most next method signatures and names.
|
||
|
|
||
|
ksextend.h
|
||
|
|
||
|
utility classes, templates for simplifying the use of ks from c++ client code. this supports easy access to
|
||
|
ks medium structures.
|
||
|
|
||
|
dsextend.h, .cpp
|
||
|
these files provide a set of extension classes for core dshow objects. many of these utilize the services in
|
||
|
the other *extend.h files. this includes a set of templates for making graphs look like an stl collection
|
||
|
of filters, filters a collection of pins, pins a collection of media types, pins a collection of mediums,
|
||
|
dshow device enumerators a collection of device monikers, and other utility functions.
|
||
|
|
||
|
XXXimpl.h
|
||
|
these files provide an atl style default implementation template for the interface IXXXX.
|
||
|
|
||
|
scalingrect.h
|
||
|
this files provides a utility class which auto scales rectangles via mapwindowpoints based on the associated
|
||
|
hwnd.
|
||
|
|
||
|
objreghelp.h
|
||
|
replacement helper macros for atl object registration. this is still based on the underlying atl registration
|
||
|
mechanics, but it shares a common __declspec(selectany) string copy of the common .rgs with many other
|
||
|
macro substitutions besides %module%. this simplifies object registration and reduces executable size.
|
||
|
|
||
|
odsstream.h
|
||
|
standard library iostream backed by outputdebugstring so that tracing can use standard c++ io(esp. manipulators).
|
||
|
|
||
|
filterenum.h
|
||
|
standard ole collection on stl vector based list of filters
|
||
|
|
||
|
stextend.h
|
||
|
utlity classes to provide additonal global operators for certain stl objects.
|
||
|
|
||
|
arity.h
|
||
|
generalize of stl unary and binary functor objects. this allows(more or less)arbitrary function signatures
|
||
|
to be use with stl function application templates such as std::for_each and std::find_if.
|
||
|
this was done as an experiment with a more functional style programming paradigm. i'm in the process of
|
||
|
pulling all this out as time allows. this seems to confuse people very badly and given the fact that the compiler
|
||
|
doesn't deduce arguments correctly much of the time, forcing explicitly typed instantiation, empirical evidence
|
||
|
suggests that this stuff negatively impacts readability. i'm in the process of converting all the std::find_if
|
||
|
and std::for_each to explicit loops and then this won't be needed any more.
|
||
|
|
||
|
devseq.h
|
||
|
typedef def'd instantations of fwdseq for various type safe device collections
|
||
|
|
||
|
mtype.*
|
||
|
private copy of standard dshow base class. we statically link with the crt to avoid a dependency on msvcp60.dll
|
||
|
strmbase.lib is built for use with msvcrt.dll instead of libc.lib. due to dllimport definition differences, this
|
||
|
causes different name mangling for many imports, and is incompatible enough to be unlinkable. therefore, since
|
||
|
we're a client and not a filter anway, we don't link with strmbase. we only link with strmiids.lib.
|
||
|
|
||
|
errsupp.h
|
||
|
inline helper for rich ISupportErrorInfo type error message from XXXXimpl files.
|
||
|
|
||
|
seg.h
|
||
|
standard type safe support for various kinds of collections of device segments.
|
||
|
|
||
|
todo.txt
|
||
|
notes about future ideas for improvements or bug fixes needed in the code. also, notes about commonly made
|
||
|
mistakes that need to be frequently re-reviewed.
|
||
|
|
||
|
throw.h
|
||
|
internal exception hierarchy
|
||
|
|
||
|
trace.h, trace.cpp
|
||
|
internal tracing mechanism
|
||
|
|
||
|
tstring.h
|
||
|
internal string typedefs for providing independent tracing support that can be compile time switched between
|
||
|
atlwin/wtl/mfc CString and c++ standard library std::basic_string. unfortunately, std::basic_string is broken
|
||
|
badly enough that this isn't tenable. this file and its dependencies should eventually get removed.
|
||
|
|
||
|
vidrect.h
|
||
|
automation compliant com wrapper for scalingrect.h
|