#include <avcap/windows/Crossbar.h>
This class creates a single object which encapsulates all connected crossbars, enumerates all unique inputs which can be reached from a given starting downstream filter.
The class supports an arbitrarily complex graph of crossbars, which can be cascaded and disjoint, that is not all inputs need to traverse the same set of crossbars.
Given a starting filter (typically the capture filter), the class recursively traces upstream searching for all viable inputs. An input is considered viable if it is either:
Public Member Functions | |
CCrossbar (ICaptureGraphBuilder2 *CaptureGraphBuilder) | |
~CCrossbar (void) | |
int | FindAllCrossbarsAndConnectors (IBaseFilter *StartFilter) |
std::list< STConnector * > & | GetInputConnectorList () |
bool | GetCurrentVideoInput (STConnector *Connector) |
bool | GetCurrentAudioInput (STConnector *Connector) |
bool | SetInput (int PinIndex) |
avcap::CCrossbar::CCrossbar | ( | ICaptureGraphBuilder2 * | CaptureGraphBuilder | ) |
avcap::CCrossbar::~CCrossbar | ( | void | ) |
int avcap::CCrossbar::FindAllCrossbarsAndConnectors | ( | IBaseFilter * | StartFilter | ) |
Searches upstrean for all available crossbars in the filter graph, starting from a given filter.
StartFilter | Filter to start search from. |
std::list<STConnector*>& avcap::CCrossbar::GetInputConnectorList | ( | ) |
bool avcap::CCrossbar::GetCurrentVideoInput | ( | STConnector * | Connector | ) |
bool avcap::CCrossbar::GetCurrentAudioInput | ( | STConnector * | Connector | ) |
bool avcap::CCrossbar::SetInput | ( | int | PinIndex | ) |
Sets the input connector.
PinIndex | Pin index |