IWMSyncReader2::SetRangeByFrameEx method

The SetRangeByFrameEx method configures the synchronous reader to read a portion of the file specified by a starting video frame number and a number of frames to read. This method also retrieves the presentation time of the requested frame number.

Syntax


HRESULT SetRangeByFrameEx(
  [in]  WORD     wStreamNum,
  [in]  QWORD    qwFrameNumber,
  [in]  LONGLONG cFramesToRead,
  [out] QWORD    *pcnsStartTime
);

Parameters

wStreamNum [in]

Stream number.

qwFrameNumber [in]

Frame number at which to begin playback. The first frame in a file is number 1.

cFramesToRead [in]

Count of frames to read. Pass 0 to continue playback to the end of the file.

pcnsStartTime [out]

Start time in 100-nanosecond units.

Return value

If the method succeeds, it returns S_OK. If it fails, it returns an HRESULT error code.

Remarks

By getting the presentation time of the requested frame number, you can avoid problems caused by seeking to a delta frame. The synchronous reader begins delivering samples at key frame boundaries. You can ignore frames until you reach the presentation time of your target frame.

The file must be frame-indexed. If the call is successful, all streams are synchronized to the same position based on time.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Version

Windows Media Format 9 Series SDK, or later versions of the SDK

Header

Wmsdkidl.h (include Wmsdk.h)

Library

Wmvcore.lib;
WMStubDRM.lib (if you use DRM)

See also

IWMSyncReader2 Interface
IWMSyncReader::SetRangeByFrame

 

 

Show: