(jmarshall @ july 20 2005,11:40 Wrote:volume is max without clipping. not sure if i can boost over clipping or not - have to examine the code.
also, not sure if recording is possible. it will depend on whether the callbacks we use contain the mic info as well as the music. i suspect they don't.
furthermore, it'd be possibly quite tricky to get it right.
jonathan,
did you enable voice over multiple channels? it seems to increase the voice volume even for non 5.1 users.
can you test the change?
thanks,
================================================
in file cdgvoicemanager.cpp
code sample
// set up the voice stream
dsmixbinvolumepair dsmbvp = { dsmixbin_front_center, dsbvolume_max };
dsmixbins dsmb = { 1, &dsmbvp};
dsstreamdesc dssd = {0};
dssd.dwmaxattachedpackets = m_pvoicemanager->m_dwnumpackets;
dssd.lpwfxformat = &m_wfx;
dssd.lpmixbins = &dsmb;
dssd.dwflags = dsstreamcaps_accuratenotify;
dssd.lpfncallback = cdgstreamcallback;
dssd.lpvcontext = (void*) this;
changed to the following to output to all channels.
code sample
dsmixbinvolumepair dsmbvp[8] = {
{dsmixbin_front_left, dsbvolume_max},
{dsmixbin_front_right, dsbvolume_max},
{dsmixbin_front_center, dsbvolume_max},
{dsmixbin_front_center, dsbvolume_max},
{dsmixbin_back_left, dsbvolume_max},
{dsmixbin_back_right, dsbvolume_max},
{dsmixbin_low_frequency, dsbvolume_max},
{dsmixbin_low_frequency, dsbvolume_max}};
dsmixbins dsmb;
dsmb.dwmixbincount = 8;
dsmb.lpmixbinvolumepairs = dsmbvp;
dsstreamdesc dssd = {0};
dssd.dwmaxattachedpackets = m_pvoicemanager->m_dwnumpackets;
dssd.lpwfxformat = &m_wfx;
dssd.lpmixbins = &dsmb;
dssd.dwflags = dsstreamcaps_accuratenotify;
dssd.lpfncallback = cdgstreamcallback;
dssd.lpvcontext = (void*) this;
i did some experiment with the change to output to all channels. it sounds much better now when output to all spreakers is enabled. i am using a dolby digital receiver. the two channel analog output to the tv also have larger volume now. can a developer test the change and submit it to the cvs?
thanks,