On PowerPC workstations (for example), audio that is played through
"mediastreamer" is played in wrong byte order. Playing default
ringtone causes terrible grinding noise.
I do not understand the code too well, but I tried changing file
"linphone-0.12.2/mediastreamer/alsacard.c" line "64" to contain
"SND_PCM_FORMAT_S16_BE" instead of "SND_PCM_FORMAT_S16_LE". Listening
to ringtone at configuration dialog after the modification sounds
normal again. No doubt this breaks audio byte order in little-endian
systems, so it needs some conditional logic around.
And of course this only has effect on ALSA, OSS needs something else.
Audio input supposedly needs byte order fixes as well.
I think "#include <endian.h>" might be useful as part of solution.