CSourcePosition Class (Compact 2013)
3/26/2014
CSourcePosition
This is an abstract class that assists source filters with the implementation of IMediaPosition methods.
Derive from this class and set the duration and default stop positions.
This class supports IMediaPosition, and calls the pure virtual member functions CSourcePosition::ChangeStart, CSourcePosition::ChangeStop, and CSourcePosition::ChangeRate when CSourcePosition::put_CurrentPosition, CSourcePosition::put_StopTime, or CSourcePosition::put_Rate is called, to allow a source filter to handle these commands and start sending new data.
Override the CSourcePosition::ChangeStart, CSourcePosition::ChangeStop, and CSourcePosition::ChangeRate member functions to do something when the properties change.
Protected Data Members
Member |
Description |
---|---|
m_Duration |
Duration of the stream. |
m_pLock |
Pointer to a CCritSec object for locking. |
m_Rate |
Sample rate. |
m_Start |
Start time. |
m_Stop |
Stop time. |
Member Functions
Member function |
Description |
---|---|
Constructs a CSourcePosition object. |
Overrideable Member Functions
Member function |
Description |
---|---|
Override this pure virtual to handle notification that the rate property has changed. |
|
Override this pure virtual to handle notification that the start position property has changed. |
|
Override this pure virtual to handle notification that the stop position property has changed. |
Implemented IMediaPosition Methods
Method |
Description |
---|---|
Not currently implemented. |
|
Retrieves the total duration of the media. |
|
Not currently implemented. |
|
Retrieves the playback rate, relative to normal playback of the media. |
|
Retrieves the position within the media at which playback should stop. |
|
Sets the position within the media at which playback should start. |
|
Not currently implemented. |
|
Sets the playback rate, relative to normal playback of the media. |
|
Sets the position within the media at which playback should stop. |
Requirements
Header |
dshow.h, |
Library |
ole32.lib, |