Microsoft DirectX 8.1 (C++)

IStreamSample::GetSampleTimes

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

Syntax

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

Parameters

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_TIMEvalue that will contain the media stream's current media time.

Return Value

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

Remarks

For streams that have a clock, the start and end times will be relative to the stream's current time. If the stream doesn't 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 don't have to call IMultiMediaStream::GetTime. Unlike GetTime, however, this method returns S_OK if the stream doesn't have a clock; GetTime returns S_FALSE. The value assigned to pCurrentTime is the same as the value produced by the following code fragment.

pSample->GetMediaStream(&pMediaStream);
pMediaStream->GetMultiMediaStream(&pMultiMediaStream);
pMediaStream->Release();
pMultiMediaStream->GetTime(&pCurrentTime);
pMultiMediaStream->Release();

See Also