Quote:
Originally Posted by detule
As far as hacks go, this does wonders for my missing ringer.
Also there's stuff up on gitorious for the mic on incoming calls issue.
Though, I guess differences from gbx0b to omgb might render these ineffectual. Plus it sounds like you are on your way to figuring out more elegant solutions.
|
I havent actually solved the issue and havent commited the change either until i get enough feedback from the other guys. We are a few commits behind on AudioHardware.cpp since i'm not sure if we even need them. But its simple. here is what i added.
Code:
--- a/libaudio-wince/AudioHardware.cpp
+++ b/libaudio-wince/AudioHardware.cpp
@@ -1028,6 +1028,12 @@ status_t AudioHardware::doRouting()
audProcess = (ADRC_ENABLE | EQ_ENABLE | RX_IIR_ENABLE);
} else {
LOGI("Routing audio to Handset\n");
+ if ((mMode == AudioSystem::MODE_NORMAL) && (mCurSndDevice != -1)) {
+ LOGI("BUG: We are ignoring request to allow ring!!\n");
+ LOGI("Mode %d out devices %x currentdevice %d)\n", mMode, outputDevices, mCurSndDevice);
+ mCurSndDevice = sndDevice;
+ return NO_ERROR;
+ }
sndDevice = SND_DEVICE_HANDSET;
}
}
On the cdma rhod, this condition exists where the sound is routed to handset right before it swaps to the speaker. Simply bypassing this condition helps it ring.