Share via


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

Pointer to a buffer that receives the compressed stream pointer.

psSource

Pointer to the stream to be compressed.

lpOptions

Pointer to 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

Pointer to 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.

A PAVISTREAM is a pointer to an IAVIStream interface.

Requirements

**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.
**  Header:** Declared in Vfw.h.
**  Library:** Use Vfw32.lib.

See Also

AVIFile Functions and Macros, AVIFile Functions, AVICOMPRESSOPTIONS