The IAMovie sample (in the Samples\DS\PIDs directory) shows the implementation of the IAMovie interface for a plug-in distributor (PID). A PID is used to extend the filter graph manager. The filter graph manager distributes the actions of interface methods to the appropriate filters. This distribution allows applications to have a single point of control to perform the basic operations.
In the IAMovie sample, the PID exposes the IAMovie interface and implements it by calling the enumerator of the filter graph manager, finding which filters expose the interface (see EnumFiltersByInterface), and communicating directly with those filters. PIDs are supplied for the standard control interfaces. Independent software vendors (ISVs) can replace these supplied PIDs and also add others.
See Plug-in Distributors for information on plug-in distributors.
IOStream Helper Library
The IOStream helper library provides text output of the IBaseFilter interface and other DirectShow™ objects. This sample code is provided as a header file (SampIOS.h) and a source file (SampIOS.cpp) that can be built into a library (SampIOS.lib). The library functions can be used in your DirectShow filters and applications. They are designed to help retrieve information in text format about the objects in the filter graph. The text output is intended to aid in debugging.
SampIOS.h declares debug output functions that you can call from C. For example, DumpFilterInfo outputs information on the given filter interface. See the header file (SampIOS.h) for the syntax of each call. The DumpXxx functions require the cout output stream to be valid in the environment in which you are working, as they implicitly output to cout. The DumpXxx functions are included in the following list.
Extensions to the C++ IOStream library are included, so you can write code like the following to dump information to cout.
cout << piFilterGraph << endl;
The C++ callable functions declared by SampIOS.h include the following abilities to provide output to an ostream. See the header file (SampIOS.h) for the syntax of each call.
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.