#include <media_codec_rm.h>
#endif
+
+#define MEDIACODEC_FEATURE_NAME "http://tizen.org/feature/multimedia.media_codec"
+
+
static gboolean __mediacodec_empty_buffer_cb(media_packet_h pkt, void *user_data);
static gboolean __mediacodec_fill_buffer_cb(media_packet_h pkt, void *user_data);
static gboolean __mediacodec_eos_cb(void *user_data);
static gboolean __mediacodec_buffer_status_cb(mediacodec_status_e status, void *user_data);
+
/*
* Internal Implementation
*/
int mediacodec_create(mediacodec_h *mediacodec)
{
MEDIACODEC_INSTANCE_CHECK(mediacodec);
+
mediacodec_s *handle;
- int ret;
+ int ret = 0;
+ bool is_supported = false;
+
+ LOGI("check feature[%s]", MEDIACODEC_FEATURE_NAME);
+
+ ret = system_info_get_platform_bool(MEDIACODEC_FEATURE_NAME, &is_supported);
+ if (ret != SYSTEM_INFO_ERROR_NONE) {
+ LOGE("get feature[%s] failed[0x%x]", MEDIACODEC_FEATURE_NAME, ret);
+ return MEDIACODEC_ERROR_NOT_SUPPORTED_ON_DEVICE;
+ }
+
+ if (!is_supported) {
+ LOGE("feature[%s] disabled", MEDIACODEC_FEATURE_NAME);
+ return MEDIACODEC_ERROR_NOT_SUPPORTED_ON_DEVICE;
+ }
LOGD("mediacodec_create..");