CDrawImage.DrawImage method

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The DrawImage method draws a video frame on the video window.

Syntax

BOOL DrawImage(
   IMediaSample *pMediaSample
);

Parameters

pMediaSample

Pointer to the IMediaSample interface of the sample that contains the image.

Return value

Returns TRUE if successful or FALSE otherwise.

Remarks

This method delegates to CDrawImage::FastRender or CDrawImage::SlowRender, depending on whether the filter owns the allocator that provided the sample. If the filter does own the allocator, the sample is guaranteed to be a CImageSample object. In that case, the sample uses shared memory allocated by GDI, and the image can be drawn using either BitBlt or StretchBlt. Otherwise, the images must be drawn using the slower SetDIBitsToDevice or StretchDIBits functions.

In debug builds, this method calls DisplaySampleTimes to draw the sample's time stamps over the video image.

Requirements

Requirement Value
Header
Winutil.h (include Streams.h)
Library
Strmbase.lib (retail builds);
Strmbasd.lib (debug builds)

See also

CDrawImage Class

CDrawImage::UsingImageAllocator