sipxmedialib  Version 3.3
MpBridgeAlgSimple.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2008 SIPfoundry Inc.
3 // Licensed by SIPfoundry under the LGPL license.
4 //
5 // Copyright (C) 2008 SIPez LLC.
6 // Licensed to SIPfoundry under a Contributor Agreement.
7 //
8 // $$
10 
11 // Author: Alexander Chemeris <Alexander DOT Chemeris AT SIPez DOT com>
12 
13 #ifndef _MpBridgeAlgSimple_h_
14 #define _MpBridgeAlgSimple_h_
15 
16 // SYSTEM INCLUDES
17 // APPLICATION INCLUDES
18 #include "mp/MpBridgeAlgBase.h"
19 
20 // DEFINES
21 // MACROS
22 // EXTERNAL FUNCTIONS
23 // EXTERNAL VARIABLES
24 // STRUCTS
25 // TYPEDEFS
26 // FORWARD DECLARATIONS
27 
35 {
36 /* //////////////////////////////// PUBLIC //////////////////////////////// */
37 public:
38 
39 /* =============================== CREATORS =============================== */
41 
42 
44  MpBridgeAlgSimple(int maxInputs, int maxOutputs, UtlBoolean mixSilence,
45  int samplesPerFrame);
46 
49 
51 
52 /* ============================= MANIPULATORS ============================= */
54 
55 
57  UtlBoolean doMix(MpBufPtr inBufs[], int inBufsSize,
58  MpBufPtr outBufs[], int outBufsSize,
59  int samplesPerFrame);
60 
62  void setGainMatrixValue(int column, int row, MpBridgeGain val);
63 
65  void setGainMatrixRow(int row, int numValues, const MpBridgeGain val[]);
66 
68  void setGainMatrixColumn(int column, int numValues, const MpBridgeGain val[]);
69 
71 
72 /* ============================== ACCESSORS =============================== */
74 
75 
76 
78 
79 /* =============================== INQUIRY ================================ */
81 
82 
83 
85 
86 /* ////////////////////////////// PROTECTED /////////////////////////////// */
87 protected:
88 
92 
94 /* /////////////////////////////// PRIVATE //////////////////////////////// */
95 private:
96 
97 
98 };
99 
100 /* ============================ INLINE METHODS ============================ */
101 
102 #endif // _MpBridgeAlgSimple_h_
void setGainMatrixColumn(int column, int numValues, const MpBridgeGain val[])
Set selected gain column to the given value.
Definition: MpBridgeAlgSimple.cpp:274
UtlBoolean doMix(MpBufPtr inBufs[], int inBufsSize, MpBufPtr outBufs[], int outBufsSize, int samplesPerFrame)
Mix together inputs onto outputs according to mpGainMatrix matrix.
Definition: MpBridgeAlgSimple.cpp:70
int samplesPerFrame
void setGainMatrixRow(int row, int numValues, const MpBridgeGain val[])
Set selected gain row to the given value.
Definition: MpBridgeAlgSimple.cpp:260
MpBridgeAccum * mpMixAccumulator
have size of mSamplesPerFrame. Used in doMix() only.
Definition: MpBridgeAlgSimple.h:91
int maxOutputs() const
Get maximum number of outputs.
Definition: MpBridgeAlgBase.h:159
float MpBridgeAccum
Definition: MpBridgeAlgBase.h:48
MpBridgeGain * mpGainMatrix
of inputs to outputs gains.
Definition: MpBridgeAlgSimple.h:89
void setGainMatrixValue(int column, int row, MpBridgeGain val)
Set selected gain to the given value.
Definition: MpBridgeAlgSimple.cpp:255
Brief description.
Definition: MpBridgeAlgSimple.h:34
int maxInputs() const
Get maximum number of inputs.
Definition: MpBridgeAlgBase.h:154
~MpBridgeAlgSimple()
Destructor.
Definition: MpBridgeAlgSimple.cpp:62
Smart pointer to MpBuf.
Definition: MpBuf.h:160
float MpBridgeGain
Definition: MpBridgeAlgBase.h:54
Base class for the Bridge mixing algorithms.
Definition: MpBridgeAlgBase.h:62
MpBridgeAlgSimple(int maxInputs, int maxOutputs, UtlBoolean mixSilence, int samplesPerFrame)
Constructor.
Definition: MpBridgeAlgSimple.cpp:30