CMSPStream MSPI Methods Implemented

CMSPStream MSPI methods Description
get_MediaType Gets the stream's media type.
get_Direction Gets the stream's terminal direction.
SelectTerminal Selects an ITTerminal object onto the stream. Acquires the lock in the function. This base class method only knows about maintaining the list of terminals; it is expected that the derived class will override this method to provide additional functionality (such as stopping and restarting the stream if a terminal is selected while the stream is running). The base class implementation checks if the terminal pointer points to valid memory, gets the ITTerminalControl interface from the terminal, retrieves the address handle from the terminal and checks if it matches the MSP's address handle, checks if the terminal already exists in the stream's list, adds the terminal to the stream's list of terminals, and AddRefs it. If any of the tests fail, it returns TAPI_E_INVALIDTERMINAL.
UnselectTerminal Unselects the terminal from the stream. Acquires the lock in the function. Finds the terminal in the stream's list of terminals, removes it from the list, and releases it. If the terminal is not found, it returns TAPI_E_INVALIDTERMINAL.
EnumerateTerminals Enumerates terminals selected on the stream. It is a snapshot of the terminals at this point. Acquires the lock in the function.
get_Terminals Creates a collection of terminals associated with the current stream. Provided for Automation client applications, such as those written in Microsoft Visual Basic. It is a snapshot of the terminals at this point. Acquires the lock in the function.
StartStream Starts the stream. Calls IMediaControl::Run on the filter graph.
PauseStream Pauses the stream. Calls IMediaControl::Pause on the filter graph.
StopStream Stops the stream. Calls IMediaControl::Stop on the filter graph.

 

CMSPStream