IWMSyncReader2::SetRangeByFrameEx method (wmsdkidl.h)
[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
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
[in] wStreamNum
Stream number.
[in] qwFrameNumber
Frame number at which to begin playback. The first frame in a file is number 1.
[in] cFramesToRead
Count of frames to read. Pass 0 to continue playback to the end of the file.
[out] pcnsStartTime
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
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only],Windows Media Format 9 Series SDK, or later versions of the SDK |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | wmsdkidl.h (include Wmsdk.h) |
Library | Wmvcore.lib; WMStubDRM.lib (if you use DRM) |