Set channel mask when opening audio sink

Update the code to use the AudioSink::open() interface that
 takes a channel mask as an additional parameter. The code
 is only stereo, and returns an error when attempting to create
 a video editor audio sink with more than two channels.

Change-Id: Ib9bba067da0b286c08656976b89fba7c8b42f99f
diff --git a/libvideoeditor/lvpp/VideoEditorPlayer.cpp b/libvideoeditor/lvpp/VideoEditorPlayer.cpp
index fa2834a..cb2edde 100755
--- a/libvideoeditor/lvpp/VideoEditorPlayer.cpp
+++ b/libvideoeditor/lvpp/VideoEditorPlayer.cpp
@@ -383,7 +383,8 @@
 }
 
 status_t VideoEditorPlayer::VeAudioOutput::open(
-        uint32_t sampleRate, int channelCount, audio_format_t format, int bufferCount,
+        uint32_t sampleRate, int channelCount, audio_channel_mask_t channelMask,
+        audio_format_t format, int bufferCount,
         AudioCallback cb, void *cookie) {
 
     mCallback = cb;
@@ -413,14 +414,26 @@
 
     frameCount = (sampleRate*afFrameCount*bufferCount)/afSampleRate;
 
+    if (channelMask == CHANNEL_MASK_USE_CHANNEL_ORDER) {
+        switch(channelCount) {
+          case 1:
+            channelMask = AUDIO_CHANNEL_OUT_MONO;
+            break;
+          case 2:
+            channelMask = AUDIO_CHANNEL_OUT_STEREO;
+            break;
+          default:
+            return NO_INIT;
+        }
+    }
+
     AudioTrack *t;
     if (mCallback != NULL) {
         t = new AudioTrack(
                 mStreamType,
                 sampleRate,
                 format,
-                (channelCount == 2) ?
-                 AUDIO_CHANNEL_OUT_STEREO : AUDIO_CHANNEL_OUT_MONO,
+                channelMask,
                 frameCount,
                 0 /* flags */,
                 CallbackWrapper,
@@ -430,8 +443,7 @@
                 mStreamType,
                 sampleRate,
                 format,
-                (channelCount == 2) ?
-                 AUDIO_CHANNEL_OUT_STEREO : AUDIO_CHANNEL_OUT_MONO,
+                channelMask,
                 frameCount);
     }