/* check sound play enable */
mm_camcorder_get_attributes((MMHandleType)hcamcorder, NULL,
- "capture-sound-enable", &sound_enable,
- NULL);
+ "capture-sound-enable", &sound_enable,
+ NULL);
_mmcam_dbg_log("Capture sound enable %d", sound_enable);
if (!sound_enable) {
_mmcam_dbg_warn("capture sound disabled");
return FALSE;
}
- if (!strcmp(sample_name, _MMCAMCORDER_SAMPLE_SOUND_NAME_CAPTURE02)) {
+ if (!strcmp(sample_name, _MMCAMCORDER_SAMPLE_SOUND_NAME_CAPTURE02))
volume_gain = "shutter2";
- } else if (!strcmp(sample_name, _MMCAMCORDER_SAMPLE_SOUND_NAME_REC_STOP)) {
+ else if (!strcmp(sample_name, _MMCAMCORDER_SAMPLE_SOUND_NAME_REC_STOP))
volume_gain = "camcording";
- }
_mmcam_dbg_log("Play start - sample name [%s]", sample_name);
int _mmcamcorder_sound_solo_play(MMHandleType handle, const char *sample_name, gboolean sync_play)
{
int sound_enable = TRUE;
+ int current_state = MM_CAMCORDER_STATE_NONE;
mmf_camcorder_t *hcamcorder = MMF_CAMCORDER(handle);
_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);
+ return FALSE;
+ }
+
/* check sound play enable */
mm_camcorder_get_attributes((MMHandleType)hcamcorder, NULL,
- "capture-sound-enable", &sound_enable,
- NULL);
+ "capture-sound-enable", &sound_enable,
+ NULL);
_mmcam_dbg_log("Capture sound enable %d", sound_enable);
if (!sound_enable) {
_mmcam_dbg_warn("capture sound disabled");
_mmcam_dbg_log("Play start - sample name [%s]", sample_name);
- _mmcamcorder_send_sound_play_message(hcamcorder->gdbus_conn,
- &hcamcorder->gdbus_info_solo_sound, sample_name, "system", "shutter1", sync_play);
+ 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);
+ } else {
+ _mmcam_dbg_warn("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_dbg_log("Wait for signal");
- end_time = g_get_monotonic_time() + (2 * G_TIME_SPAN_SECOND);
+ end_time = g_get_monotonic_time() + G_TIME_SPAN_SECOND;
if (g_cond_wait_until(&hcamcorder->gdbus_info_solo_sound.sync_cond,
&hcamcorder->gdbus_info_solo_sound.sync_mutex, end_time)) {