diff --git a/Jamulus.pro b/Jamulus.pro index e1ab05fd..c16ddf04 100755 --- a/Jamulus.pro +++ b/Jamulus.pro @@ -6,6 +6,16 @@ contains(CONFIG, "noupcasename") { TARGET = jamulus } +# support multi-threading with OMP if requested +contains(CONFIG, "multithreading") { + unix { + message(The OpenMP multithreading is enabled.) + DEFINES += USE_OMP + QMAKE_CXXFLAGS += -fopenmp + QMAKE_LFLAGS += -fopenmp + } +} + CONFIG += qt \ thread \ release diff --git a/src/server.cpp b/src/server.cpp index 0f2aa184..27d8f04a 100755 --- a/src/server.cpp +++ b/src/server.cpp @@ -993,6 +993,9 @@ static CTimingMeas JitterMeas ( 1000, "test2.dat" ); JitterMeas.Measure(); // TE vecChannelLevels ); } +#ifdef USE_OMP +# pragma omp parallel for +#endif for ( int i = 0; i < iNumClients; i++ ) { int iClientFrameSizeSamples = 0; // initialize to avoid a compiler warning