upload tizen1.0 source
authorKim Kibum <kb0929.kim@samsung.com>
Sun, 29 Apr 2012 07:58:30 +0000 (16:58 +0900)
committerKim Kibum <kb0929.kim@samsung.com>
Sun, 29 Apr 2012 07:58:30 +0000 (16:58 +0900)
.gitignore [deleted file]
CMakeLists.txt
capi-media-recorder.pc.in
debian/changelog
debian/control
include/recorder.h
include/recorder_private.h
packaging/capi-media-recorder.spec
src/recorder.c

diff --git a/.gitignore b/.gitignore
deleted file mode 100755 (executable)
index f884ceb..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-CMakeCache.txt
-*/CMakeFiles/*
-*.cmake
-CMakeFiles*
-*.a
-*.so
-Testing
-cmake.depends
-cmake.check_depends
-cmake.check_cache
-core
-core.*
-gmon.out
-install_manifest.txt
-*~
-.kdev_include_paths
-src.kdev4
-.cproject
-.project
-tet_captured
-tet_lock
-*.pc
-*-test
-*-test_*
-*tester.c
-TC/config
index 19f4344..11ae346 100755 (executable)
@@ -24,9 +24,7 @@ SET(submodule "recorder")
 
 # for package file
 SET(dependents "dlog mm-camcorder capi-media-camera")
-
-# for deb
-SET(deb_dependents "libdlog-0 libmm-camcorder capi-media-camera")
+SET(pc_dependents "capi-base-common capi-media-camera")
 
 SET(fw_name "${project_prefix}-${service}-${submodule}")
 
@@ -78,9 +76,8 @@ INSTALL(
         )
 
 SET(PC_NAME ${fw_name})
-SET(PC_REQUIRED ${dependents})
+SET(PC_REQUIRED ${pc_dependents})
 SET(PC_LDFLAGS -l${fw_name})
-SET(PC_CFLAGS -I\${includedir}/${service})
 
 CONFIGURE_FILE(
     ${fw_name}.pc.in
index 773d667..5d02f8d 100755 (executable)
@@ -11,5 +11,5 @@ Description: @PACKAGE_DESCRIPTION@
 Version: @VERSION@
 Requires: @PC_REQUIRED@ 
 Libs: -L${libdir} @PC_LDFLAGS@
-Cflags: -I${includedir} @PC_CFLAGS@
+Cflags: -I${includedir}
 
index 2c8d9ed..9c2af03 100755 (executable)
@@ -1,3 +1,27 @@
+capi-media-recorder (0.1.0-8) unstable; urgency=low
+
+  * update dependency
+  * Git: slp-source.sec.samsung.net:slp/api/recorder
+  * Tag: capi-media-recorder_0.1.0-8
+
+ -- Seungkeun Lee <sngn.lee@samsung.com>  Wed, 14 Mar 2012 12:06:14 +0900
+
+capi-media-recorder (0.1.0-7) unstable; urgency=low
+
+  * new API added : mute , audio_level
+  * Git: slp-source.sec.samsung.net:slp/api/recorder
+  * Tag: capi-media-recorder_0.1.0-7
+
+ -- Seungkeun Lee <sngn.lee@samsung.com>  Thu, 08 Mar 2012 17:43:04 +0900
+
+capi-media-recorder (0.1.0-6) unstable; urgency=low
+
+  * add static , change internal function name
+  * Git: slp-source.sec.samsung.net:slp/api/recorder
+  * Tag: capi-media-recorder_0.1.0-6
+
+ -- Seungkeun Lee <sngn.lee@samsung.com>  Mon, 20 Feb 2012 15:52:26 +0900
+
 capi-media-recorder (0.1.0-5) unstable; urgency=low
 
   * add so version
index 2cb8739..7e8b397 100755 (executable)
@@ -3,16 +3,16 @@ Source: capi-media-recorder
 Section: libs
 Priority: extra
 Maintainer: Seungkeun Lee <sngn.lee@samsung.com>, Kangho Hur<kagho.hur@samsung.com>
-Build-Depends: debhelper (>= 5), libmm-camcorder-dev, libmm-common-dev, capi-media-camera-dev
+Build-Depends: debhelper (>= 5), libmm-camcorder-dev, libmm-common-dev, capi-media-camera-dev, dlog-dev
 
 Package: capi-media-recorder
 Architecture: any
-Depends: ${shilbs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: A Camera library in Tizen Native API
 
 Package: capi-media-recorder-dev
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, capi-media-recorder (= ${Source-Version}), dlog-dev, capi-base-common-dev, capi-media-camera-dev, libmm-camcorder-dev
+Depends: ${shlibs:Depends}, ${misc:Depends}, capi-media-recorder (= ${Source-Version}), capi-base-common-dev, capi-media-camera-dev
 Description: A Camera library in Tizen Native API (DEV)
 
 Package: capi-media-recorder-dbg
index fbb02dc..ddfc345 100755 (executable)
@@ -407,6 +407,18 @@ int recorder_cancel(recorder_h recorder);
  */
 int recorder_get_state(recorder_h recorder, recorder_state_e *state);
 
+/**
+ * @brief Gets the peak audio input level that was sampled since the last call to this function.
+ * @remarks 0 dB indicates maximum input level, -300dB indicates minimum input level
+ * @param[in]  recorder The handle to the recorder.
+ * @param[out] level  The audio input level in dB
+ * @return  0 on success, otherwise a negative error value.
+ * @retval #RECORDER_ERROR_NONE Successful
+ * @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #RECORDER_ERROR_INVALID_STATE Invalid state
+ * @pre The recorder state must be #RECORDER_STATE_RECORDING or #RECORDER_STATE_PAUSED
+ */
+int recorder_get_audio_level(recorder_h recorder, double *dB);
 
 /**
  * @brief  Sets the file path to record
@@ -869,6 +881,31 @@ int recorder_attr_get_audio_encoder_bitrate(recorder_h recorder, int *bitrate);
  */
 int recorder_attr_get_video_encoder_bitrate(recorder_h recorder, int *bitrate);
 
+
+
+/**
+ * @brief  Sets the mute state of recorder
+ * @param[in] recorder The handle to media recorder
+ * @param[in] enable The mute state
+ * @return     0 on success, otherwise a negative error value.
+ * @retval #RECORDER_ERROR_NONE Successful
+ * @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see        recorder_attr_is_muted()
+ */
+int recorder_attr_set_mute(recorder_h recorder, bool enable);
+
+/**
+ * @brief  Gets the mute state of recorder
+ * @param[in] recorder The handle to media recorder
+ * @return     true if the recorder is not recording any sound,\nelse false
+ * @retval #RECORDER_ERROR_NONE Successful
+ * @retval #RECORDER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @see        recorder_attr_set_mute()
+ */
+bool recorder_attr_is_muted(recorder_h recorder);
+
+
+
 /**
  * @}
  */
index d66cce8..1f349b2 100755 (executable)
@@ -46,6 +46,7 @@ typedef struct _recorder_s{
        int state;
        _recorder_type_e  type;
        int origin_preview_format;
+       double last_max_input_level;
 
 } recorder_s;
 
index e51c401..34cd470 100755 (executable)
@@ -1,7 +1,7 @@
 Name:       capi-media-recorder
 Summary:    A Camera library in Tizen Native API
 Version:    0.1.0
-Release:    1
+Release:    8
 Group:      TO_BE/FILLED_IN
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
@@ -27,9 +27,8 @@ Requires: %{name} = %{version}-%{release}
 
 
 %build
-FULLVER=%{version}
-MAJORVER=`echo ${FULLVER} | cut -d '.' -f 1`
-cmake . -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=${FULLVER} -DMAJORVER=${MAJORVER}
+MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
+cmake . -DCMAKE_INSTALL_PREFIX=/usr -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
 
 
 make %{?jobs:-j%jobs}
@@ -44,10 +43,11 @@ rm -rf %{buildroot}
 
 
 %files
-%{_libdir}/libcapi-media-recorder.so*
+%{_libdir}/libcapi-media-recorder.so.*
 
 %files devel
 %{_includedir}/media/recorder.h
 %{_libdir}/pkgconfig/*.pc
+%{_libdir}/libcapi-media-recorder.so
 
 
index f79e502..f315072 100755 (executable)
@@ -11,7 +11,7 @@
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
-* limitations under the License. 
+* limitations under the License.
 */
 
 
@@ -33,6 +33,8 @@
 #endif
 #define LOG_TAG "TIZEN_N_RECORDER"
 
+#define LOWSET_DECIBEL -300.0
+
 
 /*
  *     camera_private
@@ -194,7 +196,7 @@ static int __mm_recorder_msg_cb(int message, void *param, void *user_data){
 
        recorder_s * handle = (recorder_s*)user_data;
        MMMessageParamType *m = (MMMessageParamType*)param;
-       recorder_state_e previous_state; 
+       recorder_state_e previous_state;
 
        switch(message){
                case MM_MESSAGE_CAMCORDER_STATE_CHANGED:
@@ -253,9 +255,10 @@ static int __mm_recorder_msg_cb(int message, void *param, void *user_data){
                        }
                        break;
                }
-
-
-                       
+               case MM_MESSAGE_CAMCORDER_CURRENT_VOLUME:
+                       if( handle->last_max_input_level < m->rec_volume_dB )
+                               handle->last_max_input_level = m->rec_volume_dB;
+                       break;
        }
 
        return 1;
@@ -284,7 +287,8 @@ int recorder_create_videorecorder( camera_h camera, recorder_h* recorder){
        }
 
        memset(handle, 0 , sizeof(recorder_s));         
-               
+       handle->last_max_input_level = LOWSET_DECIBEL;
+
        handle->mm_handle = ((camera_s*)camera)->mm_handle;
        handle->camera = camera;
        handle->state = RECORDER_STATE_CREATED;
@@ -302,8 +306,8 @@ int recorder_create_videorecorder( camera_h camera, recorder_h* recorder){
        preview_format = MM_PIXEL_FORMAT_NV12;  
        ret = mm_camcorder_get_attributes(handle->mm_handle, NULL, MMCAM_RECOMMEND_PREVIEW_FORMAT_FOR_RECORDING, &preview_format, NULL);
        
-       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, 
-                                                                                                                               MMCAM_MODE , MM_CAMCORDER_MODE_VIDEO, 
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                                                                                                               MMCAM_MODE , MM_CAMCORDER_MODE_VIDEO,
                                                                                                                                MMCAM_CAMERA_FORMAT, preview_format,
                                                                                                                                (void*)NULL);
        return __convert_recorder_error_code(__func__, ret);
@@ -326,6 +330,7 @@ int recorder_create_audiorecorder( recorder_h* recorder){
        }
        
        memset(handle, 0 , sizeof(recorder_s));
+       handle->last_max_input_level = LOWSET_DECIBEL;
        
        ret = mm_camcorder_create(&handle->mm_handle, &info);
        if( ret != MM_ERROR_NONE){
@@ -333,8 +338,8 @@ int recorder_create_audiorecorder( recorder_h* recorder){
                LOGE("[%s] mm_camcorder_create fail", __func__);
                return __convert_recorder_error_code(__func__, ret);
        }
-       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, 
-                                                                                                                               MMCAM_MODE , MM_CAMCORDER_MODE_AUDIO, 
+       ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                                                                                                               MMCAM_MODE , MM_CAMCORDER_MODE_AUDIO,
                                                                                                                                (void*)NULL);
 
        if( ret != MM_ERROR_NONE){
@@ -383,12 +388,12 @@ int recorder_destroy( recorder_h recorder){
        handle = (recorder_s *) recorder;
        if( handle->type == _RECORDER_TYPE_VIDEO ){
                //camera object mode change
-               ret = mm_camcorder_set_attributes(handle->mm_handle, NULL, 
-                                                                                                                               MMCAM_MODE , MM_CAMCORDER_MODE_IMAGE, 
+               ret = mm_camcorder_set_attributes(handle->mm_handle, NULL,
+                                                                                                                               MMCAM_MODE , MM_CAMCORDER_MODE_IMAGE,
                                                                                                                                MMCAM_CAMERA_FORMAT,  handle->origin_preview_format,
-                                                                                                                               MMCAM_IMAGE_ENCODER , MM_IMAGE_CODEC_JPEG, 
+                                                                                                                               MMCAM_IMAGE_ENCODER , MM_IMAGE_CODEC_JPEG,
                                                                                                                                MMCAM_CAPTURE_FORMAT, MM_PIXEL_FORMAT_ENCODED,
-                                                                                                                               MMCAM_CAPTURE_COUNT, 1, 
+                                                                                                                               MMCAM_CAPTURE_COUNT, 1,
                                                                                                                                (void*)NULL);
                
                mm_camcorder_set_message_callback(handle->mm_handle, __mm_camera_message_callback, (void*)handle->camera);
@@ -490,6 +495,18 @@ int recorder_cancel( recorder_h recorder){
        return __convert_recorder_error_code(__func__, ret);    
 }
 
+int recorder_get_audio_level(recorder_h recorder, double *level){
+       if( recorder == NULL || level == NULL ) return __convert_recorder_error_code(__func__, RECORDER_ERROR_INVALID_PARAMETER);
+       recorder_s *handle = (recorder_s*)recorder;
+
+       if( handle->state < RECORDER_STATE_RECORDING )
+               return RECORDER_ERROR_INVALID_STATE;
+
+       *level = handle->last_max_input_level ;
+       handle->last_max_input_level = LOWSET_DECIBEL;
+       return RECORDER_ERROR_NONE;
+}
+
 int recorder_set_filename(recorder_h recorder,  const char *filename){
        
        if( recorder == NULL) return __convert_recorder_error_code(__func__, RECORDER_ERROR_INVALID_PARAMETER);         
@@ -969,3 +986,24 @@ int recorder_foreach_supported_video_encoder(recorder_h recorder, recorder_suppo
        
 }
 
+
+int recorder_attr_set_mute(recorder_h recorder, bool enable){
+       if( recorder == NULL) return __convert_recorder_error_code(__func__, RECORDER_ERROR_INVALID_PARAMETER);
+       recorder_s * handle = (recorder_s*)recorder;
+       int ret = mm_camcorder_set_attributes(handle->mm_handle ,NULL, MMCAM_AUDIO_VOLUME , enable ? 0.0 : 1.0 , NULL);
+       return  __convert_recorder_error_code(__func__, ret);;
+}
+
+bool recorder_attr_is_muted(recorder_h recorder){
+       if( recorder == NULL){
+               __convert_recorder_error_code(__func__, RECORDER_ERROR_INVALID_PARAMETER);
+               return false;
+       }
+       recorder_s * handle = (recorder_s*)recorder;
+       double volume = 1.0;
+       mm_camcorder_get_attributes(handle->mm_handle ,NULL, MMCAM_AUDIO_VOLUME , &volume , NULL);
+       if( volume == 0.0 )
+               return true;
+       else
+               return false;
+}