This method retrieves the current sample's start and end times. If the sample is updating, this method returns the times after the update completes.

HRESULT GetSampleTimes(
  STREAM_TIME* pStartTime,
  STREAM_TIME* pEndTime,
  STREAM_TIME* pCurrentTime


  • pStartTime
    [out] Pointer to a STREAM_TIME value that will contain the sample's start time.
  • pEndTime
    [out] Pointer to a STREAM_TIME value that will contain the sample's end time.
  • pCurrentTime
    [out] Pointer to a STREAM_TIME value that will contain the media stream's current media time.

Return Values

Returns S_OK if successful or E_POINTER if one of the parameters is invalid.


For streams that have a clock, the start and end times will be relative to the stream's current time. If the stream does not have a clock, the times are media-relative and the current time will be zero.

The pCurrentTime parameter enables you to conveniently track the media stream's current time, so you do not have to call IMultiMediaStream::GetTime. Unlike GetTime, however, this method returns S_OK if the stream does not have a clock; GetTime returns S_FALSE. The value assigned to pCurrentTime is the same as the value produced by the following code fragment.



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

IStreamSample Interface

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.