/*=======================================================================================
| INCLUDE FILES |
=======================================================================================*/
-#include <mm_sound.h>
-#include <mm_sound_private.h>
#include "mm_camcorder_internal.h"
#include "mm_camcorder_sound.h"
/*---------------------------------------------------------------------------------------
-| GLOBAL VARIABLE DEFINITIONS for internal |
----------------------------------------------------------------------------------------*/
-
-/*---------------------------------------------------------------------------------------
| LOCAL VARIABLE DEFINITIONS for internal |
---------------------------------------------------------------------------------------*/
+#define _MMCAMCORDER_SOLO_PLAY_WAIT_TIMEOUT (G_TIME_SPAN_SECOND * 3)
/*---------------------------------------------------------------------------------------
/* check sound state */
if (info->state > _MMCAMCORDER_SOUND_STATE_NONE) {
- _mmcam_dbg_warn("already initialized [%d]", info->state);
+ MMCAM_LOG_WARNING("already initialized [%d]", info->state);
g_mutex_unlock(&info->open_mutex);
return TRUE;
}
/* check sound play enable */
mm_camcorder_get_attributes((MMHandleType)hcamcorder, NULL,
- "capture-sound-enable", &sound_enable,
+ MMCAM_CAPTURE_SOUND_ENABLE, &sound_enable,
NULL);
- _mmcam_dbg_log("Capture sound enable %d", sound_enable);
+ MMCAM_LOG_INFO("Capture sound enable %d", sound_enable);
if (!sound_enable) {
- _mmcam_dbg_warn("capture sound disabled");
+ MMCAM_LOG_WARNING("capture sound disabled");
g_mutex_unlock(&info->open_mutex);
return FALSE;
}
/* check shutter sound policy and status of system */
if (hcamcorder->shutter_sound_policy == VCONFKEY_CAMERA_SHUTTER_SOUND_POLICY_OFF &&
hcamcorder->sub_context->info_image->sound_status == FALSE) {
- _mmcam_dbg_warn("skip sound init : Sound Policy OFF and Silent status");
+ MMCAM_LOG_WARNING("skip sound init : Sound Policy OFF and Silent status");
g_mutex_unlock(&info->open_mutex);
return FALSE;
}
info->state = _MMCAMCORDER_SOUND_STATE_INIT;
- _mmcam_dbg_log("init DONE");
+ MMCAM_LOG_INFO("init DONE");
g_mutex_unlock(&info->open_mutex);
/* check sound play enable */
mm_camcorder_get_attributes((MMHandleType)hcamcorder, NULL,
- "capture-sound-enable", &sound_enable,
+ MMCAM_CAPTURE_SOUND_ENABLE, &sound_enable,
NULL);
- _mmcam_dbg_log("Capture sound enable %d", sound_enable);
+ MMCAM_LOG_INFO("Capture sound enable %d", sound_enable);
if (!sound_enable) {
- _mmcam_dbg_warn("capture sound disabled");
+ MMCAM_LOG_WARNING("capture sound disabled");
return FALSE;
}
g_mutex_lock(&info->open_mutex);
if (info->state < _MMCAMCORDER_SOUND_STATE_INIT) {
- _mmcam_dbg_log("not initialized state:[%d]", info->state);
+ MMCAM_LOG_INFO("not initialized state:[%d]", info->state);
g_mutex_unlock(&info->open_mutex);
return FALSE;
}
else if (!strcmp(sample_name, _MMCAMCORDER_SAMPLE_SOUND_NAME_REC_STOP))
volume_gain = "camcording";
- _mmcam_dbg_log("Play start - sample name [%s]", sample_name);
+ MMCAM_LOG_INFO("Play start - sample name [%s]", sample_name);
_mmcamcorder_send_sound_play_message(hcamcorder->gdbus_conn,
- &hcamcorder->gdbus_info_sound, sample_name, "system", volume_gain, sync_play);
+ hcamcorder->gdbus_info_sound, sample_name, "system", volume_gain, sync_play);
g_mutex_unlock(&info->open_mutex);
- _mmcam_dbg_log("Done");
+ MMCAM_LOG_INFO("Done");
return TRUE;
}
info = &(hcamcorder->snd_info);
- _mmcam_dbg_err("START");
+ MMCAM_LOG_ERROR("START");
g_mutex_lock(&info->open_mutex);
if (info->state < _MMCAMCORDER_SOUND_STATE_INIT) {
- _mmcam_dbg_warn("not initialized");
+ MMCAM_LOG_WARNING("not initialized");
g_mutex_unlock(&info->open_mutex);
return TRUE;
}
info->state = _MMCAMCORDER_SOUND_STATE_NONE;
- _mmcam_dbg_err("DONE");
+ MMCAM_LOG_ERROR("DONE");
g_mutex_unlock(&info->open_mutex);
mmf_return_val_if_fail(hcamcorder && sample_name, FALSE);
- _mmcam_dbg_log("START : [%s]", sample_name);
+ MMCAM_LOG_INFO("START : [%s]", sample_name);
_mmcamcorder_sound_solo_play_wait(handle);
current_state = _mmcamcorder_get_state(handle);
if (current_state < MM_CAMCORDER_STATE_PREPARE) {
- _mmcam_dbg_warn("invalid state %d", current_state);
+ MMCAM_LOG_WARNING("invalid state %d", current_state);
return FALSE;
}
/* check sound play enable */
mm_camcorder_get_attributes((MMHandleType)hcamcorder, NULL,
- "capture-sound-enable", &sound_enable,
+ MMCAM_CAPTURE_SOUND_ENABLE, &sound_enable,
NULL);
- _mmcam_dbg_log("Capture sound enable %d", sound_enable);
+ MMCAM_LOG_INFO("Capture sound enable %d", sound_enable);
if (!sound_enable) {
- _mmcam_dbg_warn("capture sound disabled");
+ MMCAM_LOG_WARNING("capture sound disabled");
return FALSE;
}
- _mmcam_dbg_log("Play start - sample name [%s]", sample_name);
+ MMCAM_LOG_INFO("Play start - sample name [%s]", sample_name);
if (hcamcorder->shutter_sound_policy == VCONFKEY_CAMERA_SHUTTER_SOUND_POLICY_ON ||
hcamcorder->sub_context->info_image->sound_status) {
_mmcamcorder_send_sound_play_message(hcamcorder->gdbus_conn,
- &hcamcorder->gdbus_info_solo_sound, sample_name, "system", "shutter1", sync_play);
+ hcamcorder->gdbus_info_solo_sound, sample_name, "system", "shutter1", sync_play);
} else {
- _mmcam_dbg_warn("skip shutter sound : sound policy %d, sound status %d",
+ MMCAM_LOG_WARNING("skip shutter sound : sound policy %d, sound status %d",
hcamcorder->shutter_sound_policy, hcamcorder->sub_context->info_image->sound_status);
}
- _mmcam_dbg_log("Done");
+ MMCAM_LOG_INFO("Done");
return TRUE;
}
void _mmcamcorder_sound_solo_play_wait(MMHandleType handle)
{
+ gint64 end_time = 0;
mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
+ _MMCamcorderGDbusCbInfo *info = NULL;
- mmf_return_if_fail(hcamcorder);
+ mmf_return_if_fail(hcamcorder && hcamcorder->gdbus_info_solo_sound);
- _mmcam_dbg_log("START");
+ info = hcamcorder->gdbus_info_solo_sound;
- /* check playing sound count */
- g_mutex_lock(&hcamcorder->gdbus_info_solo_sound.sync_mutex);
+ MMCAM_LOG_INFO("START - is_playing[%d]", info->is_playing);
- if (hcamcorder->gdbus_info_solo_sound.is_playing) {
- gint64 end_time = 0;
+ end_time = g_get_monotonic_time() + _MMCAMCORDER_SOLO_PLAY_WAIT_TIMEOUT;
- _mmcam_dbg_log("Wait for signal");
+ g_mutex_lock(&info->sync_mutex);
- end_time = g_get_monotonic_time() + G_TIME_SPAN_SECOND;
+ while (info->is_playing) {
+ MMCAM_LOG_INFO("Wait for signal");
- if (g_cond_wait_until(&hcamcorder->gdbus_info_solo_sound.sync_cond,
- &hcamcorder->gdbus_info_solo_sound.sync_mutex, end_time)) {
- _mmcam_dbg_log("signal received.");
- } else {
- _mmcam_dbg_warn("capture sound play timeout.");
+ if (!g_cond_wait_until(&info->sync_cond, &info->sync_mutex, end_time)) {
+ MMCAM_LOG_WARNING("sound play EOS timeout");
+ break;
}
- } else {
- _mmcam_dbg_warn("no playing sound");
+
+ MMCAM_LOG_INFO("signal received, check again[is_playing:%d]", info->is_playing);
}
- g_mutex_unlock(&hcamcorder->gdbus_info_solo_sound.sync_mutex);
+ g_mutex_unlock(&info->sync_mutex);
- _mmcam_dbg_log("DONE");
+ MMCAM_LOG_INFO("DONE");
return;
}