Add AUDIO_SAMPLE_TYPE_FLOAT32_LE 70/316270/1 accepted/tizen/unified/20241218.085929 accepted/tizen/unified/x/20241218.212025
authorJaechul Lee <jcsing.lee@samsung.com>
Wed, 11 Dec 2024 07:15:55 +0000 (16:15 +0900)
committerJaechul Lee <jcsing.lee@samsung.com>
Thu, 12 Dec 2024 07:50:24 +0000 (16:50 +0900)
[Version] 0.6.0
[Issue Type] ACR-1871

Change-Id: I4c20339cf9c7f1c9e718851a1b99fb271ce1eb14
Signed-off-by: Jaechul Lee <jcsing.lee@samsung.com>
include/CAudioInfo.h
include/audio_io.h
packaging/capi-media-audio-io.spec
src/cpp/CPulseStreamSpec.cpp
src/cpp/cpp_audio_io.cpp

index 3a86f07083be95fbf924f5e2a081ecff40d51d8f..c49c306d9ce3d4cb674b03ee3d6a14195ba7c1fe 100644 (file)
@@ -66,6 +66,7 @@ namespace tizen_media_audio {
             SAMPLE_TYPE_S24_LE,             /**< Signed 24-bit audio samples */
             SAMPLE_TYPE_S24_32_LE,          /**< Signed 24-bit packed in 32-bit audio samples */
             SAMPLE_TYPE_S32_LE,             /**< Signed 32-bit audio samples */
+            SAMPLE_TYPE_F32_LE,             /**< Float 32-bit audio samples */
             SAMPLE_TYPE_MAX
         };
 
index d971b3ca1aa277ee12319e854a285dc7614ef8cd..8ff3a1be7995acfaf90f7f9347a6c73866330e34 100644 (file)
@@ -75,6 +75,7 @@ typedef enum {
        AUDIO_SAMPLE_TYPE_S24_LE,       /**< Signed 24-bit audio samples (Since 5.0) */
        AUDIO_SAMPLE_TYPE_S24_32_LE,    /**< Signed 24-bit (packed in 32-bit) audio samples (Since 5.0) */
        AUDIO_SAMPLE_TYPE_S32_LE,       /**< Signed 32-bit audio samples (Since 5.5) */
+       AUDIO_SAMPLE_TYPE_FLOAT32_LE,   /**< Float 32-bit audio samples (Since 9.0) */
 } audio_sample_type_e;
 
 /**
index 580771bb200062e3615150af12dab452f3960b34..560bd18cd6be443994e9f2d53b047719269b506e 100644 (file)
@@ -1,6 +1,6 @@
 Name:           capi-media-audio-io
 Summary:        An Audio Input & Audio Output library in Tizen Native API
-Version:        0.5.70
+Version:        0.6.0
 Release:        0
 Group:          Multimedia/API
 License:        Apache-2.0
index 9dcf29f778379e29b6133c2a1b3050e88a010bdd..65a4af3c0764bea5dc0ddfe95cddf53eef085888 100644 (file)
@@ -80,6 +80,10 @@ void CPulseStreamSpec::__adjustSpec() noexcept {
         __mSampleSpec.format = PA_SAMPLE_S32LE;
         break;
 
+    case CAudioInfo::ESampleType::SAMPLE_TYPE_F32_LE:
+        __mSampleSpec.format = PA_SAMPLE_FLOAT32LE;
+        break;
+
     default:
         __mSampleSpec.format = PA_SAMPLE_S16LE;
         break;
index 6cdd1e1405a982654147de1371463213c9212d01..6bf357a10e7e6012bb2982bb5c71e2c5432484f2 100644 (file)
@@ -154,7 +154,7 @@ static audio_channel_e __convert_audio_info_channel_to_channel(const CAudioInfo:
 
 static CAudioInfo::ESampleType __convert_sample_type_to_audio_info_sample_type(const audio_sample_type_e& src_type) {
     if (src_type < AUDIO_SAMPLE_TYPE_U8 ||
-        src_type > AUDIO_SAMPLE_TYPE_S32_LE)
+        src_type > AUDIO_SAMPLE_TYPE_FLOAT32_LE)
         THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Invalid src_type:%d", src_type);
 
     return static_cast<CAudioInfo::ESampleType>(static_cast<int>(src_type) - AUDIO_SAMPLE_TYPE_U8 + 1);
@@ -238,7 +238,7 @@ static void __check_audio_param(int sample_rate, audio_channel_e channel, audio_
         THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Invalid channel :%d", channel);
 
     if (type < AUDIO_SAMPLE_TYPE_U8 ||
-        type > AUDIO_SAMPLE_TYPE_S32_LE)
+        type > AUDIO_SAMPLE_TYPE_FLOAT32_LE)
         THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Invalid sample type :0x%x", type);
 }