case MM_ERROR_CAMCORDER_DEVICE_TIMEOUT:
case MM_ERROR_CAMCORDER_DEVICE_WRONG_JPEG:
recorder_error = RECORDER_ERROR_DEVICE;
+ LOGE("ERROR_DEVICE : 0x%x", m->code);
break;
case MM_ERROR_CAMCORDER_GST_CORE:
case MM_ERROR_CAMCORDER_GST_LIBRARY:
case MM_ERROR_FILE_NOT_FOUND:
case MM_ERROR_FILE_READ:
recorder_error = RECORDER_ERROR_INVALID_OPERATION;
+ LOGE("INVALID_OPERATION : 0x%x", m->code);
break;
case MM_ERROR_CAMCORDER_LOW_MEMORY:
case MM_ERROR_CAMCORDER_MNOTE_MALLOC:
recorder_error = RECORDER_ERROR_OUT_OF_MEMORY;
+ LOGE("OUT_OF_MEMORY : 0x%x", m->code);
break;
case MM_ERROR_CAMCORDER_DEVICE_REG_TROUBLE:
recorder_error = RECORDER_ERROR_ESD;
+ LOGE("ESD : 0x%x", m->code);
break;
case MM_ERROR_OUT_OF_STORAGE:
recorder_error = RECORDER_ERROR_OUT_OF_STORAGE;
+ LOGE("OUT_OF_STORAGE : 0x%x", m->code);
break;
default:
recorder_error = RECORDER_ERROR_INVALID_OPERATION;
+ LOGE("INVALID_OPERATION : 0x%x", m->code);
break;
}
- if (recorder_error != 0 && handle->user_cb[_RECORDER_EVENT_TYPE_ERROR])
+ if (handle->user_cb[_RECORDER_EVENT_TYPE_ERROR])
((recorder_error_cb)handle->user_cb[_RECORDER_EVENT_TYPE_ERROR])(recorder_error, handle->state, handle->user_data[_RECORDER_EVENT_TYPE_ERROR]);
+ else
+ LOGW("ERROR cb was not set");
break;
case MM_MESSAGE_CAMCORDER_CURRENT_VOLUME:
if (handle->last_max_input_level < m->rec_volume_dB)
SET(service "muse")
SET(submodule "recorder")
-SET(dependents "dlog mused mm-common glib-2.0")
+SET(dependents "dlog mused mm-common glib-2.0 gstreamer-1.0")
SET(fw_name "${service}-${submodule}")
PROJECT(${fw_name})
ADD_DEFINITIONS("-DPREFIX=\"${CMAKE_INSTALL_PREFIX}\"")
ADD_DEFINITIONS("-DTIZEN_DEBUG")
+ADD_DEFINITIONS("-DLIBDIR=\"${LIBDIR}\"")
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -Wl,--rpath=${LIB_INSTALL_DIR}")
#include <muse_camera_internal.h>
#include <mm_types.h>
#include <dlog.h>
+#include <gst/gst.h>
#include "legacy_recorder_internal.h"
#ifdef LOG_TAG
/******************/
/* cmd dispatcher */
/******************/
+static int recorder_cmd_dispatcher_initialize(muse_module_h module)
+{
+ int item_count = 0;
+ int i = 0;
+ GstPlugin *plugin = NULL;
+
+ const char *load_list[] = {
+ LIBDIR"/gstreamer-1.0/libgstencodebin.so",
+ };
+
+ item_count = sizeof(load_list) / sizeof(load_list[0]);
+
+ LOGD("item count %d", item_count);
+
+ for (i = 0 ; i < item_count ; i++) {
+ plugin = gst_plugin_load_file(load_list[i], NULL);
+ if (plugin) {
+ LOGD("%s loaded", load_list[i]);
+ gst_object_unref(plugin);
+ plugin = NULL;
+ } else {
+ LOGW("failed to load %s", load_list[i]);
+ }
+ }
+
+ LOGD("done");
+
+ return MUSE_RECORDER_ERROR_NONE;
+}
+
+
static int recorder_cmd_dispatcher_shutdown(muse_module_h module)
{
recorder_state_e state = RECORDER_STATE_NONE;
}
int (*cmd_dispatcher[MUSE_MODULE_COMMAND_MAX])(muse_module_h module) = {
- NULL, /* MUSE_MODULE_COMMAND_INITIALIZE */
+ recorder_cmd_dispatcher_initialize, /* MUSE_MODULE_COMMAND_INITIALIZE */
recorder_cmd_dispatcher_shutdown, /* MUSE_MODULE_COMMAND_SHUTDOWN */
NULL, /* MUSE_MODULE_COMMAND_DEBUG_INFO_DUMP */
+ NULL, /* MUSE_MODULE_COMMAND_CREATE_SERVER_ACK */
+ NULL /* MUSE_MODULE_COMMAND_RESOURCE_NOT_AVAILABLE */
};
Name: mmsvc-recorder
Summary: A Recorder module for muse server
-Version: 0.2.22
+Version: 0.2.23
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(mm-camcorder)
BuildRequires: pkgconfig(capi-base-common)
%build
MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
-%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER} -DLIBDIR=%{_libdir}
make %{?jobs:-j%jobs}