IMFSequencerSource::AppendTopology method (mfidl.h)

Adds a topology to the end of the queue.

Syntax

HRESULT AppendTopology(
  [in]  IMFTopology          *pTopology,
  [in]  DWORD                dwFlags,
  [out] MFSequencerElementId *pdwId
);

Parameters

[in] pTopology

Pointer to the IMFTopology interface of the topology. This pointer cannot be NULL. If an application passes NULL, the call fails with an E_INVALIDARG error code.

[in] dwFlags

A combination of flags from the MFSequencerTopologyFlags enumeration.

[out] pdwId

Receives the sequencer element identifier for this topology.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.
MF_E_ATTRIBUTENOTFOUND
The source topology node is missing one of the following attributes:

Remarks

The sequencer plays topologies in the order they are queued. You can queue as many topologies as you want to preroll.

The application must indicate to the sequencer when it has queued the last topology on the Media Session. To specify the last topology, set the SequencerTopologyFlags_Last flag in the dwFlags parameter when you append the topology. The sequencer uses this information to end playback with the pipeline. Otherwise, the sequencer waits indefinitely for a new topology to be queued.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header mfidl.h
Library Mfuuid.lib

See also

About the Sequencer Source

IMFSequencerSource

MFCreateTopologyNode