IStreamSample::GetSampleTimes

 
Microsoft DirectShow 9.0

IStreamSample::GetSampleTimes

  • Note   This interface is deprecated. New applications should not use it.

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 Values

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.

IMediaStream *pMediaStream = 0;
hr = pSample->GetMediaStream(&pMediaStream);
if (SUCCEEDED(hr))
{
  IMultiMediaStream *pMultiMediaStream = 0;
  hr = pMediaStream->GetMultiMediaStream(&pMultiMediaStream);
  pMediaStream->Release();
  if (SUCCEEDED(hr))
  {
    STREAM_TIME CurrentTime = 0;
    hr = pMultiMediaStream->GetTime(&CurrentTime);
    pMultiMediaStream->Release();
  }
}

See Also