Implementing an ltmmSampleSource Object
To implement the ltmmSampleSource Object use the following steps:
1. |
Create an instance of the ltmmSampleSource Object, acquiring the IltmmSampleSource Interface. | |
2. |
Create an ltmmMediaType Object. | |
3. |
Set the media type attributes through the IltmmMediaTypeDisp Interface. | |
4. |
Assign the media type to the source by calling the SetMediaType function. | |
5. |
Assign the source to the ltmmConvert or ltmmPlay objects using the IltmmConvert::put_SourceObject or IltmmPlay::put_SourceObject function. | |
6. |
Run the object (IltmmConvert::StartConvert or IltmmPlay::Run). | |
7. |
Feed samples until "end of stream". | |
|
a. |
Get a free sample buffer by calling the GetSampleBuffer function. |
|
b. |
Set the sample attributes and data, through the IltmmMediaSampleDisp Interface. |
|
c. |
Deliver the sample to the stream by calling the DeliverSample function. |
|
d. |
Release the buffer Interface. |
8. |
Inform the object at the "end of stream" by calling DeliverEndOfStream. | |
9. |
Stop the object by calling IltmmConvert::StopConvert or IltmmPlay::Stop. |