Microsoft DirectX 8.1 (C++) |
The AddMediaStream method adds the specified media stream to the current filter graph.
Syntax
HRESULT AddMediaStream(
IUnknown *pStreamObject,
const MSPID *pPurposeID,
DWORD dwFlags,
IMediaStream **ppNewStream
);
Parameters
pStreamObject
[in] Pointer to an IUnknown interface that points to either the media stream or underlying stream object you want to add to the current filter graph.
pPurposeID
[in] Pointer to the purpose ID for the newly added media stream.
dwFlags
[in] Value that modifies the media stream's behavior; it is a combination of one or more of the following values.
Value | Description |
AMMSF_ADDDEFAULTRENDERER | Add a default renderer. |
AMMSF_CREATEPEER | Create a peer stream based on the same object as a pStreamObject. |
AMMSF_NOSTALL | Run the stream even if Update is not called. |
AMMSF_STOPIFNOSAMPLES | Terminates the stream if no samples were created or if the last sample is deleted. |
ppNewStream
[out] Address of a pointer to an IMediaStream interface that will point to the newly added media stream. This parameter is optional.
Return Value
Returns an HRESULT value, which can include the following values.
Return code | Description |
E_POINTER | Null pointer argument. |
MS_E_PURPOSEID | Stream being added has a different purpose ID from the one specified or a stream with the specified purpose ID already exists. |
S_OK | Success. |
Remarks
If dwFlags specifies AMMSF_ADDDEFAULTRENDERER then the default renderer for the given purpose ID is created, if possible. Currently the only default renderer supported is for audio using DirectSound. In this case the pStreamObject parameter must be NULL and any calls to the IMultiMediaStream::GetMediaStream or IMultiMediaStream::EnumMediaStreams methods will not recognize the stream.
If dwFlags specifies AMMSF_CREATEPEER then a media stream is created using pStreamObject and added to the current multimedia stream. The pStreamObject parameter varies depending on the stream type. In general, pStreamObject can point to an IMediaStream object, in which case a stream with the sample purpose ID and format is created. For IDirectDraw streams, it can also be a pointer to an IDirectDraw object.
If dwFlags specifies AMMSF_STOPIFNOSAMPLES then the stream is terminated.
If no flags are set, then pStreamObject can be one of the following.
Value | Description |
An IAMMediaStream object | This stream is then added to the streams in the multimedia stream. |
NULL | In this case, a default IMediaStream object is added to the stream with a default underlying object if required. |
A pointer to an underlying object | This is used to construct default streams. For video streams, this can be an IDirectDraw pointer. |
See Also