IMediaSample2 Interface

This interface derives from the IMediaSample interface. It enables you to set and to retrieve sample properties such as start and stop time that are defined in AM_SAMPLE2_PROPERTIES, and sample flags defined in the AM_SAMPLE_PROPERTY_FLAGS structure.

When to Implement

Implement this interface when you implement an allocator that creates media samples. The CMediaSample class in the DirectShow class library implements this interface.

When to Use

Use this interface when you want to retrieve properties from a media sample that are available through this interface and through the IMediaSample interface or if you want to retrieve multiple sample properties in one call.

Not all media samples will support IMediaSample2, so use the IUnknown::QueryInterface method to get a pointer to the sample's IMediaSample2 interface and check for failure.

If an allocator generates samples, then either all of the media samples must support IMediaSample2 or none of them will.

Methods in Vtable Order

The following tables show the methods that appear in the Vtable beneath the standard COM methods inherited from IUnknown.

IMediaSample method Description
GetPointer Retrieves a read/write pointer to this buffer's memory.
GetSize Returns the size, in bytes, of the buffer data area.
GetTime Retrieves the stream times at which this sample should begin and finish.
SetTime Sets the stream times at which this sample should begin and finish.
IsSyncPoint Determines if the beginning of a sample is a synchronization point.
SetSyncPoint Sets the synchronization point.
IsPreroll Indicates a preroll property. If TRUE, this sample is for preroll only and should not be displayed.
SetPreroll Sets the preroll property. If TRUE, this sample is for preroll only and should not be displayed.
GetActualDataLength Retrieves the data length of the sample.
SetActualDataLength Sets the data length of the sample.
GetMediaType Retrieves the media type of the sample.
SetMediaType Sets the media type of the sample.
IsDiscontinuity Indicates a discontinuity property. If S_OK is returned, sample is not contiguous with previous sample.
SetDiscontinuity Sets the discontinuity property. Set to TRUE if sample is new after a seek or dropped sample.
GetMediaTime Retrieves the media time stamps for the sample.
SetMediaTime Sets the media time stamps for the sample.
IMediaSample2 method Description
GetProperties Retrieves the properties of a media sample.
SetProperties Sets the properties of a media sample.

Requirements

DirectShow applications and DirectShow filters have different include file and link library requirements. See Setting Up the Build Environment for more information.

OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.

See Also

DirectShow Interfaces

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.