AVIMakeCompressedStream

The AVIMakeCompressedStream function creates a compressed stream from an uncompressed stream and a compression filter, and returns the address of a pointer to the compressed stream. This function supports audio and video compression.

STDAPI AVIMakeCompressedStream(
  PAVISTREAM * ppsCompressed,  
  PAVISTREAM psSource,         
  AVICOMPRESSOPTIONS * lpOptions,  
  CLSID * pclsidHandler        
);
 

Parameters

ppsCompressed
Address to contain the compressed stream pointer.
psSource
Address of the stream to be compressed.
lpOptions
Address of a structure that identifies the type of compression to use and the options to apply. You can specify video compression by identifying an appropriate handler in the AVICOMPRESSOPTIONS structure. For audio compression, specify the compressed data format.
pclsidHandler
Address of a class identifier used to create the stream.

Return Values

Returns AVIERR_OK if successful or an error otherwise. Possible error values include the following:

Value Description
AVIERR_NOCOMPRESSOR A suitable compressor cannot be found.
AVIERR_MEMORY There is not enough memory to complete the operation.
AVIERR_UNSUPPORTED Compression is not supported for this type of data. This error might be returned if you try to compress data that is not audio or video.

Remarks

Applications can read from or write to the compressed stream.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in vfw.h.
  Import Library: Use vfw32.lib.

See Also

AVIFile Functions and Macros Overview, AVIFile Functions, AVICOMPRESSOPTIONS