Set vconf key to check state of camera and recorder 37/233237/2 accepted/tizen/unified/20200601.051734 submit/tizen/20200529.080108
authorJeongmo Yang <jm80.yang@samsung.com>
Wed, 13 May 2020 07:02:33 +0000 (16:02 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Wed, 13 May 2020 07:52:36 +0000 (16:52 +0900)
- libfeedback uses vconf key to check camera and recorder state,
  but it was not set.

[Version] 0.3.18
[Profile] Common
[Issue Type] Update

Change-Id: I413c0b6dcda560175daa790bffbe0cd85cb16223
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
muse/CMakeLists.txt
muse/src/muse_recorder_dispatcher.c
packaging/mmsvc-recorder.spec

index d63cfec..614b26e 100644 (file)
@@ -2,7 +2,7 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 SET(service "muse")
 SET(submodule "recorder")
 
-SET(dependents "dlog muse-server mm-common glib-2.0 gstreamer-1.0")
+SET(dependents "dlog muse-server mm-common glib-2.0 gstreamer-1.0 vconf")
 SET(MUSE_MODULE "${service}-${submodule}")
 
 PROJECT(${MUSE_MODULE})
index 9e85ef2..bc4df5a 100644 (file)
@@ -27,6 +27,7 @@
 #include <muse_camera_internal.h>
 #include <mm_types.h>
 #include <dlog.h>
+#include <vconf.h>
 #include <gst/gst.h>
 #include "legacy_recorder_internal.h"
 
@@ -114,8 +115,13 @@ void _recorder_disp_state_changed_cb(recorder_state_e previous, recorder_state_e
        int device_recording = 0;
        int device_paused = 0;
        int device_status = -1;
-       int current_state = 0;
-       static int device_state[MUSE_RECORDER_TYPE_NUM] = {0, 0}; /* 0:MUSE_RECORDER_TYPE_AUDIO, 1:MUSE_RECORDER_TYPE_VIDEO */
+       int vconf_state_recorder = VCONFKEY_RECORDER_STATE_NULL;
+       int vconf_state_camera = VCONFKEY_CAMERA_STATE_PREVIEW;
+       recorder_device_state_e current_state = RECORDER_DEVICE_STATE_IDLE;
+       static recorder_device_state_e device_state[MUSE_RECORDER_TYPE_NUM] = {
+               RECORDER_DEVICE_STATE_IDLE, /* 0:MUSE_RECORDER_TYPE_AUDIO */
+               RECORDER_DEVICE_STATE_IDLE  /* 1:MUSE_RECORDER_TYPE_VIDEO */
+       };
 
        if (module == NULL) {
                LOGE("NULL module");
@@ -174,12 +180,15 @@ void _recorder_disp_state_changed_cb(recorder_state_e previous, recorder_state_e
        muse_server_module_set_value(module, value_key, device_status);
 
        /* check whether emit signal or not */
-       if (device_recording > 0)
+       if (device_recording > 0) {
                current_state = RECORDER_DEVICE_STATE_RECORDING;
-       else if (device_paused > 0)
+               vconf_state_recorder = VCONFKEY_RECORDER_STATE_RECORDING;
+               vconf_state_camera = VCONFKEY_CAMERA_STATE_RECORDING;
+       } else if (device_paused > 0) {
                current_state = RECORDER_DEVICE_STATE_PAUSED;
-       else
-               current_state = RECORDER_DEVICE_STATE_IDLE;
+               vconf_state_recorder = VCONFKEY_RECORDER_STATE_RECORDING_PAUSE;
+               vconf_state_camera = VCONFKEY_CAMERA_STATE_RECORDING_PAUSE;
+       }
 
        if (current_state != device_state[muse_recorder->type]) {
                LOGD("old %d -> new %d", device_state[muse_recorder->type], current_state);
@@ -189,13 +198,21 @@ void _recorder_disp_state_changed_cb(recorder_state_e previous, recorder_state_e
        }
 
        if (emit_value != -1) {
-               LOGD("recorder devce state change signal [0x%08x]", emit_value);
+               LOGD("recorder devce state change signal [0x%08x], vconf state : %d",
+                       emit_value, vconf_state_recorder);
 
                legacy_recorder_emit_signal(muse_recorder->recorder_handle,
                        MM_CAMCORDER_DBUS_OBJECT,
                        MM_CAMCORDER_DBUS_INTERFACE_RECORDER,
                        MM_CAMCORDER_DBUS_SIGNAL_STATE_CHANGED,
                        emit_value);
+
+               vconf_set_int(VCONFKEY_RECORDER_STATE, vconf_state_recorder);
+
+               if (muse_recorder->type == MUSE_RECORDER_TYPE_VIDEO) {
+                       LOGD("Update vconf camera device state also : %d", vconf_state_camera);
+                       vconf_set_int(VCONFKEY_CAMERA_STATE, vconf_state_camera);
+               }
        }
 
        g_mutex_unlock(&g_recorder_device_state_lock);
index 7c3017c..ff041c5 100644 (file)
@@ -1,13 +1,14 @@
 Name:       mmsvc-recorder
 Summary:    A Recorder module for muse server
-Version:    0.3.17
-Release:    1
+Version:    0.3.18
+Release:    0
 Group:      Multimedia/Libraries
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
 BuildRequires:  cmake
 BuildRequires:  pkgconfig(gstreamer-1.0)
 BuildRequires:  pkgconfig(dlog)
+BuildRequires:  pkgconfig(vconf)
 BuildRequires:  pkgconfig(mm-camcorder)
 BuildRequires:  pkgconfig(capi-base-common)
 BuildRequires:  pkgconfig(mmsvc-camera)