I have:
The ringing sound for incoming WebRTC calls is using the (low volume, front facing) earpiece speaker instead of the loudspeaker. Reproducible on two different phones. Works on both phones when using Redphone calls. I had a glance at the code, and it seems to be using the same old redphone class?
Actual result: Ringing sound is very low volume, uses wrong speaker
Expected result: Should use loudspeaker, as in Redphone.
Device: Nexus 4
Android version: stock Android 5.1.1
Signal version: 3.19.1
Device: HTC Sensation XE
Android version: CyanogenMod 12.1 - Android 5.1.1
Signal version: 3.19.1
https://gist.github.com/anonymous/00a8a8029e8aaa8e3ff25875770adaca
By low volume speaker you mean the earpiece speaker?
@2-4601 Yes, I believe that is the correct name, thanks
Same with Nexus 5. Stock Rom. 6.0.1
Have two devices, also happens. Huawie P8lite (ALE-L02) on EMUI 4.0 (6.0 based) and SM-J510GN on stock 6.0.1.
I also have the same problem with three out of four devices. Samsung Galaxy ACE 2 (4.4.4 CM), OnePlus One (6.0.1 CM) & OnePlus 3 (6.0.1). Only on the Wileyfox Swift (6.0.1) does the speaker work properly. By activating the speaker button, the ringtone can be set "loud" on all three devices. Only on the Wileyfox does nothing happen (speaker is allways on - independent of the button).
Same here, ASUS Zenfone 2, Andorid 6.0, earpiece speaker is ringing instead of loudspeaker.
So, uh, git bisect again. Commit ea0945d406bae68df88b7351148b269e386fd9b2. Adding to @Shenkaa's remark on setting to speakerphone makes the phone actually ring, I noticed there's a degradation of sound quality on the ringtone. It sounds similar to what you'd hear in a call and higher frequencies are cut off.
Also have a 4.1.2 Samsung Galaxy Win (GT-i8552) which does not exhibit this problem but fails to activate the camera when in a video call and then crashes.
EDIT log from users reporting this:
User 1: https://gist.github.com/775655cd6dd3482cd00feea5504bf9af
Same on OnePlus3t and Coolpad e560
@moxie0 I tested cd28cd172f770eeae08f7adca8964284354ee479 on one of my devices (HTC Sensation XE, CyanogenMod 12.1) and it's now using the correct speaker, but not the correct Android volume setting. The volume of the incoming ringtone depends on the speaker volume level, not on the ringer volume level.
@cascheberg I think we might already be at peak-workaround. The webrtc folks, in their infinite wisdom, do not seem to think it's important to support "ringing." As soon as I build a PeerConnection, it tries to take over and play an AudioTrack w/ STREAM_VOICE_CALL whether the AudioTrack is enabled or not.
If I try to play sounds with MODE_RINGTONE, they'll just get hijacked by webrtc and end up in the earpiece. The only thing I can do is play the ringtone into the voice call stream, but turn the speaker on.
I tried getting the STREAM_RING volume from the AudioManager and setting the STREAM_VOICE_CALL audio to the same level for the ringtone, but that doesn't seem to work. Android's audio stuff is pretty messed up.