IltmmSampleSource Interface
The ltmmSampleSource Object is accessed through the IltmmSampleSource Interface and the IltmmObjectWrapper Interface. For more information about the IltmmObjectWrapper Interface, refer to IltmmObjectWrapper. The IltmmSampleSource Interface lets the user set and get information about an ltmmSampleSource object. Since the IltmmSampleSource Interface is derived from the IDispatch Interface, the IltmmSampleSource Interface accesses the IDispatch functions, etc. In addition to these functions, the IltmmSampleSource Interface accesses the following functions:
Functions
IltmmSampleSource::DeliverEndOfStream
IltmmSampleSource::DeliverSample
IltmmSampleSource::GetMediaType
IltmmSampleSource::GetSampleBuffer
IltmmSampleSource::SetMediaType
A sample source will provide samples having a specific media type. This media type is set in the ltmmMediaType object, accessed through the IltmmMediaTypeDisp Interface. Once the media type is set using the IltmmMediaTypeDisp Interface, the media type for the source sample is set by calling the IltmmSampleSource function SetMediaType. (To determine the media type of a sample, use the GetMediaType function.) The Sample Source object must be set for either a Convert Object or a Play Object and then start either the play or the conversion process. Once that is done, the sample source can begin sending samples downstream.
Using the GetSampleBuffer function, obtain a free sample buffer. Set the appropriate sample information using the IltmmMediaSampleDisp Interface. Deliver the sample by calling the DeliverSample and release the buffer. Continue sending samples until the end of the stream is reached. At that point, call the DeliverEndOfStream function and stop the play or conversion process. For more information on this whole process, refer to Implementing an ltmmSampleSource Object.