23 #include <os/OsIntTypes.h> 26 #define TEST_PRINT_CONTRIBUTORS 27 #undef TEST_PRINT_CONTRIBUTORS 30 #define PRINT_CLIPPING_FREQUENCY 100 39 #ifdef TEST_PRINT_CONTRIBUTORS // [ 40 class MpContributorVector;
41 #endif // TEST_PRINT_CONTRIBUTORS ] 76 UtlBoolean mixSilence=
TRUE,
117 int bridgeOutputPort,
166 #ifdef TEST_PRINT_CONTRIBUTORS // [ 167 MpContributorVector* mpMixContributors;
168 MpContributorVector** mpLastOutputContributors;
169 #endif // TEST_PRINT_CONTRIBUTORS ] 175 #ifdef PRINT_CLIPPING_STATS 176 int mClippedFramesCounted;
177 int* mpOutputClippingCount;
191 MpBufPtr outBufs[],
int outBufsSize,
237 #endif // _MprBridge_h_ Message object used to communicate with the media processing task.
Definition: MpFlowGraphMsg.h:33
Message object used to communicate with the media processing task.
Definition: MpResourceMsg.h:30
OsStatus setMixWeightsForInput(int bridgeInputPort, int numWeights, const MpBridgeGain gain[])
Send message to set mix weights for one input to given number of outputs.
Definition: MprBridge.cpp:274
Definition: MprBridge.h:163
virtual UtlBoolean handleMessage(MpFlowGraphMsg &rMsg)
Handle flowgraph messages for this resource.
Definition: MprBridge.cpp:350
virtual UtlBoolean handleSetMixWeightsForOutput(int bridgeOutputPort, int numWeights, const MpBridgeGain gain[])
Actually set mix weights for inputs to given output on bridge.
Definition: MprBridge.cpp:421
The conference bridge resource.
Definition: MprBridge.h:57
virtual ~MprBridge()
Destructor.
Definition: MprBridge.cpp:197
OsStatus setMixWeightsForOutput(int bridgeOutputPort, int numWeights, const MpBridgeGain gain[])
Send message to set mix weights for inputs to given output on bridge.
Definition: MprBridge.cpp:221
Flow graph for coordinating the execution of media processing resources.
Definition: MpFlowGraphBase.h:91
virtual UtlBoolean handleSetMixWeightsForInput(int bridgeInputPort, int numWeights, const MpBridgeGain gain[])
Actually set mix weights for one input to given number of outputs.
Definition: MprBridge.cpp:456
OsStatus setFlowGraph(MpFlowGraphBase *pFlowGraph)
Associates this resource with the indicated flow graph.
Definition: MprBridge.cpp:305
virtual UtlBoolean doProcessFrame(MpBufPtr inBufs[], MpBufPtr outBufs[], int inBufsSize, int outBufsSize, UtlBoolean isEnabled, int samplesPerFrame, int samplesPerSecond)
This method does the real work for the media processing resource and must be defined in each class de...
Definition: MprBridge.cpp:490
Linear O(n) algorithm (MpBridgeAlgLinear)
Definition: MprBridge.h:66
Simple O(n^2) algorithm (MpBridgeAlgSimple)
Definition: MprBridge.h:65
Abstract base class for all audio processing objects.
Definition: MpAudioResource.h:38
MpBridgeAlgBase * mpBridgeAlg
Instance of algorithm, used to mix data.
Definition: MprBridge.h:172
AddlMsgTypes
Definition: MprBridge.h:160
MprBridge & operator=(const MprBridge &rhs)
Assignment operator (not implemented for this class)
AlgType mAlgType
Type of the bridge algorithm to use.
Definition: MprBridge.h:171
UtlBoolean doMix(MpBufPtr inBufs[], int inBufsSize, MpBufPtr outBufs[], int outBufsSize, int samplesPerFrame)
Mix together inputs onto outputs according to mpGainMatrix matrix.
Definition: MprBridge.cpp:341
Smart pointer to MpBuf.
Definition: MpBuf.h:160
float MpBridgeGain
Definition: MpBridgeAlgBase.h:54
MprBridge(const UtlString &rName, int maxInOutputs, UtlBoolean mixSilence=TRUE, AlgType algorithm=ALG_LINEAR)
Default constructor.
Definition: MprBridge.cpp:149
Base class for the Bridge mixing algorithms.
Definition: MpBridgeAlgBase.h:62
#define TRUE
Definition: PlgDefsV1.h:41
AlgType
Type of the bridge mix algorithm to use.
Definition: MprBridge.h:63
UtlBoolean mMixSilence
Should Bridge ignore or mix frames marked as silence?
Definition: MprBridge.h:173
UtlBoolean isEnabled() const
Returns TRUE is this resource is currently enabled, FALSE otherwise.
Definition: MpResource.cpp:440
Definition: MprBridge.h:162
start of resource-specific messages
Definition: MpFlowGraphMsg.h:67