From 9e90ac38e82732e9eb1d79db0bfb0ccbec27dc46 Mon Sep 17 00:00:00 2001 From: Jaechul Lee Date: Wed, 11 Dec 2024 16:15:55 +0900 Subject: [PATCH] Add AUDIO_SAMPLE_TYPE_FLOAT32_LE [Version] 0.6.0 [Issue Type] ACR-1871 Change-Id: I4c20339cf9c7f1c9e718851a1b99fb271ce1eb14 Signed-off-by: Jaechul Lee --- include/CAudioInfo.h | 1 + include/audio_io.h | 1 + packaging/capi-media-audio-io.spec | 2 +- src/cpp/CPulseStreamSpec.cpp | 4 ++++ src/cpp/cpp_audio_io.cpp | 4 ++-- 5 files changed, 9 insertions(+), 3 deletions(-) diff --git a/include/CAudioInfo.h b/include/CAudioInfo.h index 3a86f07..c49c306 100644 --- a/include/CAudioInfo.h +++ b/include/CAudioInfo.h @@ -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 }; diff --git a/include/audio_io.h b/include/audio_io.h index d971b3c..8ff3a1b 100644 --- a/include/audio_io.h +++ b/include/audio_io.h @@ -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; /** diff --git a/packaging/capi-media-audio-io.spec b/packaging/capi-media-audio-io.spec index 580771b..560bd18 100644 --- a/packaging/capi-media-audio-io.spec +++ b/packaging/capi-media-audio-io.spec @@ -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 diff --git a/src/cpp/CPulseStreamSpec.cpp b/src/cpp/CPulseStreamSpec.cpp index 9dcf29f..65a4af3 100644 --- a/src/cpp/CPulseStreamSpec.cpp +++ b/src/cpp/CPulseStreamSpec.cpp @@ -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; diff --git a/src/cpp/cpp_audio_io.cpp b/src/cpp/cpp_audio_io.cpp index 6cdd1e1..6bf357a 100644 --- a/src/cpp/cpp_audio_io.cpp +++ b/src/cpp/cpp_audio_io.cpp @@ -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(static_cast(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); } -- 2.34.1