CSourceSeeking.ConvertTimeFormat 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 ConvertTimeFormat method converts from one time format to another. This method implements the IMediaSeeking::ConvertTimeFormat method.

Syntax

HRESULT ConvertTimeFormat(
         LONGLONG *pTarget,
   const GUID     *pTargetFormat,
         LONGLONG Source,
   const GUID     *pSourceFormat
);

Parameters

pTarget

Pointer to a variable that receives the converted time.

pTargetFormat

Pointer to the GUID of the target format. If NULL, the current format is used. See Time Format GUIDs.

Source

Time value to be converted.

pSourceFormat

Pointer to the time format GUID of the format to convert. If NULL, the current format is used.

Return value

Returns one of the HRESULT values listed in the following table.

Return code Description
S_OK
Success
E_INVALIDARG
Invalid argument
E_POINTER
NULL pointer argument

Remarks

The only time format supported by the base class is TIME_FORMAT_MEDIA_TIME (100-nanosecond units). This method returns E_INVALIDARG, except in the trivial case where pTargetFormat and pSourceFormat both specify TIME_FORMAT_MEDIA_TIME.

Requirements

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

See also

CSourceSeeking Class