ADTF
|
Default implementation for the IFilterGraph interface. More...
Public Member Functions | |
cFilterGraph () | |
CTOR. | |
~cFilterGraph () override | |
DTOR. | |
tResult | SetState (tFilterGraphState eFilterState) override |
The FilterGraph state is treaded as a level machine. More... | |
tFilterGraphState | GetState () const override |
Returns the current state of the filtergraph. More... | |
tResult | AddConnection (const char *strName, const char *strSourceName, const char *strSourceConnector, const char *strDestinationName, const char *strDestinationConnector, int32_t ui32OrderNumber, bool bSync) |
Adds a conection to the Filter Graph. More... | |
tResult | AddNamedGraphObject (const ucom::ant::iobject_ptr< INamedGraphObject > &pItem, int32_t ui32OrderNumber) override |
This is to intialize and build an FilterGraph. More... | |
tResult | RemoveNamedGraphObject (const ucom::ant::iobject_ptr< INamedGraphObject > &pItem) override |
tResult | SetParent (const ucom::ant::IObject *oParentObject) override |
void | SetConnectionCreationState (IFilterGraph::tFilterGraphState eState) |
Set the state before which the connections should be established. More... | |
void | SetLegacyConnectionOrder (bool bLegacyOrder) |
Set whether or not the old legacy connection establishment order should be used. More... | |
void | SetLegacyShutdownOrder (bool bLegacyOrder) |
Switch between 'old' legacy and 'new' shutdown order of all graph objects. More... | |
tResult | RemoveNamedGraphObject (const char *strName) |
Removes a named Object from the Filter Graph. More... | |
virtual tResult | RemoveNamedGraphObject (const ucom::ant::iobject_ptr< INamedGraphObject > &pGraphObject) |
Removes a Named Graph Object by instance. More... | |
Public Member Functions inherited from object< IFilter, graph< runtime_behaviour< interface_binding< data_binding< named_graph_object< IFilterGraph > > > > > > | |
tResult | GetInterface (const char *i_strIID, void *&o_pInterface) override |
Query interfaces on an object. More... | |
tResult | GetInterface (const char *i_strIID, const void *&o_pInterface) const override |
Provides const correct interface querying. More... | |
void | Destroy () const override |
Destruct and deallocate instantiations of type IObject . More... | |
Public Member Functions inherited from IObject | |
ADTF_IID (IObject, "object.ant.ucom.adtf.iid") | |
Marks the IObject to be castable with the ucom_cast() More... | |
Protected Member Functions | |
virtual tResult | SetGraphObjectState (INamedGraphObject *pObject, IFilterGraph::tFilterGraphState eState) const |
Protected Member Functions inherited from IObject | |
~IObject ()=default | |
Protected destructor --> Use implemented Destroy() instead of delete! | |
Private Member Functions | |
tResult | SetStateImpl (tFilterGraphState eOldState, tFilterGraphState eNewState, tFilterGraphState &eErrorNextState) |
void | DestructAllObjects () |
void | DestructObject (const ucom::ant::iobject_ptr< INamedGraphObject > &pObject) |
Private Attributes | |
tFilterGraphState | m_eState = tFilterGraphState::State_Constructed |
private dpointer More... | |
bool | m_bIsSubGraph = false |
Default implementation for the IFilterGraph interface.
Definition at line 28 of file filtergraph.h.
tResult AddConnection | ( | const char * | strName, |
const char * | strSourceName, | ||
const char * | strSourceConnector, | ||
const char * | strDestinationName, | ||
const char * | strDestinationConnector, | ||
int32_t | ui32OrderNumber, | ||
bool | bSync | ||
) |
Adds a conection to the Filter Graph.
See Connections within the Filter Graph for possible connstions.
[in] | strName | Name of the connection. Mind, that the connections are part of teh Filter Graph as named graph objects, too. |
[in] | strSourceName | Name of the source (filter, port, ...) |
[in] | strSourceConnector | Name of the source connector (pin, binding object, ...) |
[in] | strDestinationName | Name of the destination (filter, port, ...) |
[in] | strDestinationConnector | Name of the destination connector (pin, binding object, ...) |
[in] | ui32OrderNumber | Order number of connection for establishing the connection. |
[in] | bSync | Either the connection is synchronous or not. |
|
override |
This is to intialize and build an FilterGraph.
See the INamedGraphObject and all derived default implementations within the SDK.
Items with the same ui32OrderNumber
will initialized in order of AddNamedGraphObject call.
[in] | pItem | The item to add. |
[in] | ui32OrderNumber | The initialize order number of the item. |
ERR_INVALID_ARG | No name set for graph object. |
ERR_RESOURCE_IN_USE | There is already a graph object with the name. |
|
override |
Returns the current state of the filtergraph.
tResult RemoveNamedGraphObject |
Removes a named Object from the Filter Graph.
[in] | strName | Name of the item to remove. |
ERR_NOT_FOUND | No item with the name strName exists |
virtual tResult RemoveNamedGraphObject |
Removes a Named Graph Object by instance.
This virtual function must be overwritten by any derived class.
pGraphObject | the Graph Object to remove |
void SetConnectionCreationState | ( | IFilterGraph::tFilterGraphState | eState | ) |
Set the state before which the connections should be established.
The default is IFilterGraph::tFilterGraphState::State_Ready.
ADTF_CONNECTION_CREATION_STATE
environment variable to the desired value (i.e. 2). eState | The filter graph state before which the connections should be established. |
void SetLegacyConnectionOrder | ( | bool | bLegacyOrder | ) |
Set whether or not the old legacy connection establishment order should be used.
ADTF_LEGACY_CONNECTION_ESTABLISHMENT_ORDER
environment variable to a non-empty value. [in] | bLegacyOrder | If true the old order will be used. |
void SetLegacyShutdownOrder | ( | bool | bLegacyOrder | ) |
Switch between 'old' legacy and 'new' shutdown order of all graph objects.
ADTF_LEGACY_SHUTDOWN_ORDER
environment variable to a non-empty value. [in] | bLegacyOrder | If true the old legacy shutdown order will be used. |
|
override |
The FilterGraph state is treaded as a level machine.
|
private |