1. Remove "label" for mm_camcorder_testsuite 09/44009/1
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 16 Jul 2015 06:53:45 +0000 (15:53 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 16 Jul 2015 06:53:45 +0000 (15:53 +0900)
2. Enable shutter sound when encodebin is used for capture (ex:emulator)

Change-Id: Ia49979a2895741a13adeb13d2c5e45c588b48a02
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
libmm-camcorder.manifest
src/include/mm_camcorder_internal.h
src/mm_camcorder_gstcommon.c
src/mm_camcorder_stillshot.c
src/mm_camcorder_util.c

index 1852d086a9f02d39ebcaf381b3bf300a75f902c4..692624d874a36b067adaa391897f3cf69c177ddc 100644 (file)
@@ -3,6 +3,6 @@
                <domain name="_" />
        </request>
        <assign>
-               <filesystem path="/usr/bin/mm_camcorder_testsuite" label="_" exec_label="none" />
+               <filesystem path="/usr/bin/mm_camcorder_testsuite" exec_label="none" />
        </assign>
 </manifest>
index 671eb59b9168fcc41427de24fe69c2135eab55a1..41dcf9e82ce74469d8f2c8b4824568e0c39579e7 100644 (file)
@@ -510,6 +510,7 @@ typedef enum {
 typedef enum {
        _MMCAMCORDER_TASK_THREAD_STATE_NONE,
        _MMCAMCORDER_TASK_THREAD_STATE_SOUND_PLAY_START,
+       _MMCAMCORDER_TASK_THREAD_STATE_SOUND_SOLO_PLAY_START,
        _MMCAMCORDER_TASK_THREAD_STATE_ENCODE_PIPE_CREATE,
        _MMCAMCORDER_TASK_THREAD_STATE_EXIT,
 } _MMCamcorderTaskThreadState;
index 845e970469ec8ee8b1c906771a2dc034b2241fa7..b00f6a91465b3882240d468a8dc19a3012a54660 100644 (file)
@@ -1708,6 +1708,14 @@ static GstPadProbeReturn __mmcamcorder_video_dataprobe_push_buffer_to_record(Gst
                        }
                } else {
                        if(sc->info_video->is_firstframe) {
+                               /* for image capture with encodebin(ex:emulator) */
+                               if (sc->bencbin_capture && sc->info_image->capturing) {
+                                       pthread_mutex_lock(&(hcamcorder->task_thread_lock));
+                                       _mmcam_dbg_log("send signal for sound play");
+                                       hcamcorder->task_thread_state = _MMCAMCORDER_TASK_THREAD_STATE_SOUND_SOLO_PLAY_START;
+                                       pthread_cond_signal(&(hcamcorder->task_thread_cond));
+                                       pthread_mutex_unlock(&(hcamcorder->task_thread_lock));
+                               }
                                sc->info_video->is_firstframe = FALSE;
                                sc->info_video->base_video_ts = GST_BUFFER_PTS(buffer);
                        }
index 4f0e08195cbfd9986ada99d29c13fe8172aba35d..fb5fb8c8f7fa7360e24db71489516bc87db00161 100644 (file)
@@ -509,6 +509,9 @@ int _mmcamcorder_image_cmd_capture(MMHandleType handle)
                MMCAMCORDER_G_OBJECT_SET(sc->encode_element[_MMCAMCORDER_ENCSINK_SINK].gst,"signal-handoffs", TRUE);
                MMCAMCORDER_G_OBJECT_SET(sc->encode_element[_MMCAMCORDER_ENCSINK_ENCBIN].gst, "block", FALSE);
 
+               /* Prepare for the shutter sound when it's the bencbin mode capture */
+               sc->info_video->is_firstframe = TRUE;
+
                /* set push encoding buffer as TRUE */
                sc->info_video->push_encoding_buffer = PUSH_ENCODING_BUFFER_INIT;
 
index 2f1740edbf810cd3e6b82723ed8f45e130575c61..0bdd3de2df41b51197f033f583f35986ba5d9600 100644 (file)
@@ -1770,6 +1770,10 @@ void *_mmcamcorder_util_task_thread_func(void *data)
                        _mmcamcorder_sound_play((MMHandleType)hcamcorder, _MMCAMCORDER_SAMPLE_SOUND_NAME_CAPTURE, FALSE);
                        hcamcorder->task_thread_state = _MMCAMCORDER_TASK_THREAD_STATE_NONE;
                        break;
+               case _MMCAMCORDER_TASK_THREAD_STATE_SOUND_SOLO_PLAY_START:
+                       _mmcamcorder_sound_solo_play((MMHandleType)hcamcorder, _MMCAMCORDER_FILEPATH_CAPTURE_SND, FALSE);
+                       hcamcorder->task_thread_state = _MMCAMCORDER_TASK_THREAD_STATE_NONE;
+                       break;
                case _MMCAMCORDER_TASK_THREAD_STATE_ENCODE_PIPE_CREATE:
                        ret = _mmcamcorder_video_prepare_record((MMHandleType)hcamcorder);