- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi
I am looking for a way to set the number of thread in an audio session .
Currently, I am running my software on a 16 cores machine and it looks like I have 16 (!) threads per audio session which is way too much for my audio input (AAC-LC, 2 channel, 48KHz). I believe that 1 thread (max 2 threads) should be enough for my scenario.
Is there any way to set the number of threads? I didn't find it in the "Reference Manual For Audio Processing".
Thank you
Koby
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Koby,
If you interested in managing threads on a multicore machine, I recommend taking a look Intel TBB: https://software.intel.com/en-us/intel-tbb. But, please note as Audio is a plugin to Media SDK foundation; using MediaSDK and TBB in parallel could impact overall performance.
Thanks,
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Harsh
Thank you for your response but I don't see how Intel TBB can help me to reduce the number of threads generated by the Server Studio SDK (and not by my software).
To be more clear, when I call:
mfxStatus sts = m_audioSession.Init(MFX_IMPL_AUDIO | MFX_IMPL_SOFTWARE, &version);
I see 16 new threads, and all of them are started from libmfxaudiosw64.dll.
I am looking for a way to limit the number of threads, same way (if possible) as it's done with video session (in sample_multi_transcode for example)
mfxStatus sts; mfxInitParam initParam; mfxExtThreadsParam threadsParam; mfxExtBuffer* extBufs[1]; bool needInitExtPar(false); initPar.Version.Major = 1; initPar.Version.Minor = 0; initPar.GPUCopy = 0; initPar.Implementation = pParams->libType; init_ext_buffer(threadsPar); if (pParams->nThreadsNum) { threadsPar.NumThread = pParams->nThreadsNum; needInitExtPar = true; } if (needInitExtPar) { extBufs[0] = (mfxExtBuffer*)&threadsPar; initPar.ExtParam = extBufs; initPar.NumExtParam = 1; } m_pmfxSession.reset(new MFXVideoSession); sts = m_pmfxSession->InitEx(initPar);
Thank you !

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page