[ACR-1434] Extend channel and format parameters
[platform/core/api/audio-io.git] / src / cpp / CPulseStreamSpec.cpp
index 2702130..def1833 100644 (file)
@@ -74,16 +74,7 @@ void CPulseStreamSpec::__adjustSpec() {
     __mSampleSpec.rate = __mAudioInfo.getSampleRate();
 
     // Convert channels for PA
-    switch (__mAudioInfo.getChannel()) {
-    case CAudioInfo::EChannel::CHANNEL_MONO:
-        __mSampleSpec.channels = 1;
-        break;
-
-    case CAudioInfo::EChannel::CHANNEL_STEREO:
-    default:
-        __mSampleSpec.channels = 2;
-        break;
-    }
+    __mSampleSpec.channels = static_cast<uint8_t>(__mAudioInfo.getChannel());
 
     // Convert format for PA
     switch (__mAudioInfo.getSampleType()) {
@@ -103,13 +94,17 @@ void CPulseStreamSpec::__adjustSpec() {
         __mSampleSpec.format = PA_SAMPLE_S24_32LE;
         break;
 
+    case CAudioInfo::ESampleType::SAMPLE_TYPE_S32_LE:
+        __mSampleSpec.format = PA_SAMPLE_S32LE;
+        break;
+
     default:
         __mSampleSpec.format = PA_SAMPLE_S16LE;
         break;
     }
 
     // Sets channelmap
-    pa_channel_map_init_auto(&__mChannelMap, __mSampleSpec.channels, PA_CHANNEL_MAP_ALSA);
+    pa_channel_map_init_extend(&__mChannelMap, __mSampleSpec.channels, PA_CHANNEL_MAP_ALSA);
 
     // Sets stream name
     switch (__mLatency) {