SET(INC_DIR include)
INCLUDE_DIRECTORIES(${INC_DIR})
-SET(dependents "dlog mm-sound capi-base-common capi-media-sound-manager mm-common mm-session libpulse vconf dpm")
+SET(dependents "dlog mm-sound capi-base-common capi-media-sound-manager mm-common mm-session libpulse vconf dpm capi-system-info")
SET(pc_dependents "capi-base-common capi-media-sound-manager")
INCLUDE(FindPkgConfig)
Name: capi-media-audio-io
Summary: An Audio Input & Audio Output library in Tizen Native API
-Version: 0.3.39
+Version: 0.3.40
Release: 0
Group: Multimedia/API
License: Apache-2.0
BuildRequires: pkgconfig(capi-base-common)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(dpm)
+BuildRequires: pkgconfig(capi-system-info)
%description
An Audio Input & Audio Output library in Tizen Native API
#include "audio_io.h"
#include "CAudioIODef.h"
+#include <system_info.h>
+
+#define FEATURE_MICROPHONE "http://tizen.org/feature/microphone"
using namespace std;
using namespace tizen_media_audio;
*/
int cpp_audio_in_create(int sample_rate, audio_channel_e channel, audio_sample_type_e type, audio_in_h *input) {
audio_io_s* handle = NULL;
+ bool mic_enable = false;
+ int ret = 0;
try {
if (input == NULL) {
THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Parameters are NULL input:%p", input);
__check_audio_param(sample_rate, channel, type);
+ /* If MIC is not supported, return NOT_SUPPORTED error */
+ ret = system_info_get_platform_bool(FEATURE_MICROPHONE, &mic_enable);
+ AUDIO_IO_LOGD("system_info_platform [%s]=[%d], ret[%d]", FEATURE_MICROPHONE, mic_enable, ret);
+ if (ret != SYSTEM_INFO_ERROR_NONE || !mic_enable) {
+ THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_SUPPORTED, "System doesn't support microphone!");
+ }
+
handle = new audio_io_s;
if (handle == NULL) {
THROW_ERROR_MSG(CAudioError::EError::ERROR_OUT_OF_MEMORY, "Failed allocation handle");