X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fmm_camcorder_sound.c;h=961670cfe59bd3e34792f03054bc450ea1b51ed3;hb=3fdff5cc8c26798af70c4c97f34d8cbbc080b0d2;hp=4615095f18c373ba8c0fd9f1204af23985d911dd;hpb=bc1aa0fd5892ccb5f4aeeaa5e92f849d12478e69;p=platform%2Fcore%2Fmultimedia%2Flibmm-camcorder.git diff --git a/src/mm_camcorder_sound.c b/src/mm_camcorder_sound.c index 4615095..961670c 100644 --- a/src/mm_camcorder_sound.c +++ b/src/mm_camcorder_sound.c @@ -102,8 +102,8 @@ gboolean _mmcamcorder_sound_play(MMHandleType handle, const char *sample_name, g /* 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"); @@ -120,11 +120,10 @@ gboolean _mmcamcorder_sound_play(MMHandleType handle, const char *sample_name, g 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); @@ -171,6 +170,7 @@ gboolean _mmcamcorder_sound_finalize(MMHandleType handle) 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); @@ -180,10 +180,16 @@ int _mmcamcorder_sound_solo_play(MMHandleType handle, const char *sample_name, g _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"); @@ -192,8 +198,14 @@ int _mmcamcorder_sound_solo_play(MMHandleType handle, const char *sample_name, g _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"); @@ -217,7 +229,7 @@ void _mmcamcorder_sound_solo_play_wait(MMHandleType handle) _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)) {