Bug 3326605: AudioRecorder uses wrong channel mask

Change-Id: I2121211b0202bc39100d74232d63be94c7e8a8de
diff --git a/opensles/libopensles/android_AudioPlayer.cpp b/opensles/libopensles/android_AudioPlayer.cpp
index c52adaa..79d2313 100644
--- a/opensles/libopensles/android_AudioPlayer.cpp
+++ b/opensles/libopensles/android_AudioPlayer.cpp
@@ -1026,7 +1026,8 @@
                 pAudioPlayer->mStreamType,                           // streamType
                 sampleRate,                                          // sampleRate
                 sles_to_android_sampleFormat(df_pcm->bitsPerSample), // format
-                sles_to_android_channelMask(df_pcm->numChannels, df_pcm->channelMask),//channel mask
+                sles_to_android_channelMaskOut(df_pcm->numChannels, df_pcm->channelMask),
+                                                                     //channel mask
                 0,                                                   // frameCount (here min)
                 0,                                                   // flags
                 audioTrack_callBack_pullFromBuffQueue,               // callback
diff --git a/opensles/libopensles/android_AudioRecorder.cpp b/opensles/libopensles/android_AudioRecorder.cpp
index a5c6ceb..06897ab 100644
--- a/opensles/libopensles/android_AudioRecorder.cpp
+++ b/opensles/libopensles/android_AudioRecorder.cpp
@@ -388,7 +388,8 @@
     ar->mAudioRecord->set(ar->mRecordSource, // source
             sles_to_android_sampleRate(ar->mSampleRateMilliHz), // sample rate in Hertz
             android::AudioSystem::PCM_16_BIT,   //FIXME use format from buffer queue sink
-            sles_to_android_channelMask(ar->mNumChannels, 0 /*no channel mask*/), // channel config
+            sles_to_android_channelMaskIn(ar->mNumChannels, 0 /*no channel mask*/),
+                                   // channel config
             0,                     //frameCount min
             0,                     // flags
             audioRecorder_callback,// callback_t
diff --git a/opensles/libopensles/android_sles_conversions.h b/opensles/libopensles/android_sles_conversions.h
index 9bdf6ea..a224c96 100644
--- a/opensles/libopensles/android_sles_conversions.h
+++ b/opensles/libopensles/android_sles_conversions.h
@@ -60,7 +60,15 @@
 }
 
 
-static inline int sles_to_android_channelMask(SLuint32 nbChannels, SLuint32 channelMask) {
+static inline int sles_to_android_channelMaskIn(SLuint32 nbChannels, SLuint32 channelMask) {
+    // FIXME handle channel mask mapping between SL ES and Android
+    return (nbChannels == 1 ?
+            android::AudioSystem::CHANNEL_IN_MONO :
+            android::AudioSystem::CHANNEL_IN_STEREO);
+}
+
+
+static inline int sles_to_android_channelMaskOut(SLuint32 nbChannels, SLuint32 channelMask) {
     // FIXME handle channel mask mapping between SL ES and Android
     return (nbChannels == 1 ?
             android::AudioSystem::CHANNEL_OUT_MONO :