README.TXT

#---------------------------------------------------------------------------- 
#
# ActiveMovie readme.txt
#
# THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
# KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
# PURPOSE.
#
# Copyright (c) 1992 - 1997 Microsoft Corporation. All Rights Reserved.
#
#----------------------------------------------------------------------------

The async sample code comprises 3 directories:


INCLUDE
-------

Defines some helper classes to create filters which conform to the
IAsyncReader interface.


Four classes are defined:

CAsyncReader
------------
To create a filter. Defines the filter and pin.

CAsyncOutputPin
---------------
The filter's output pin

CAsyncIo
--------
Methods to manage a set of async requests

CAsyncStream
------------
An abstract class that represents the source of the data


BASE
----

Impelments

-- CAsyncReader

-- CAsyncOutputPin

-- CAsyncIo

CAsyncReader is passed a CAsyncStream object which the filter uses
as its data source


MEMFILE
-------

Consists of

1. A definition of

-- CMemStream - a non-abstract class derived from CAsyncStream that
wraps a memory segment as the IAsyncReader source data

-- CMemReader - a source filter derived from CAsyncReader. It
just overrides the constructor of CAsyncReader to set the
output pin's media type dependent on the file type

1. A main() routine that

Opens a file

Guesses the file's media type dependent on the file extension. Note
that RenderFile actually looks at the check bytes in the

HKEY_CLASSES_ROOT\Media Type

key of the registation data base to try to determine the media type
and media subtype of the file.

Creates a filter graph

Creates a source filter of type CMemReader and adds it to the filter
graph

Renders the output pin of this filter

Plays the graph through once