_MEDIACODEC_EVENT_TYPE_EOS,
_MEDIACODEC_EVENT_TYPE_BUFFER_STATUS,
_MEDIACODEC_EVENT_TYPE_INTERNAL_FILLBUFFER,
- _MEDIACODEC_EVENT_TYPE_SUPPORTED_CODEC,
_MEDIACODEC_EVENT_TYPE_NUM
} _mediacodec_event_e;
int mc_set_buffer_status_cb(MMHandleType mediacodec, mediacodec_buffer_status_cb callback, void* user_data);
int mc_unset_buffer_status_cb(MMHandleType mediacodec);
-int mc_set_supported_codec_cb(MMHandleType mediacodec, mediacodec_supported_codec_cb callback, void* user_data);
+
int _mediacodec_foreach_supported_codec(mediacodec_supported_codec_cb callback, void* user_data);
void _mc_create_codec_map_from_ini(mc_handle_t *mc_handle, mc_codec_spec_t *spec_emul);
gpointer mc_async_queue_pop_forced(async_queue_t *async_queue);
gpointer mc_async_queue_pop(async_queue_t *async_queue);
void mc_async_queue_disable(async_queue_t *async_queue);
-void mc_async_queue_enable(async_queue_t *async_queue);
void mc_async_queue_flush(async_queue_t *async_queue);
gboolean mc_async_queue_is_empty(async_queue_t *async_queue);
Name: capi-media-codec
Summary: A Media Codec library in Tizen Native API
-Version: 0.6.21
-Release: 1
+Version: 0.6.22
+Release: 0
Group: Multimedia/API
License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
static gboolean __mediacodec_fill_buffer_cb(media_packet_h pkt, void *user_data);
static gboolean __mediacodec_error_cb(mediacodec_error_e error, void *user_data);
static gboolean __mediacodec_eos_cb(void *user_data);
-static gboolean __mediacodec_supported_codec_cb(mediacodec_codec_type_e codec_type, void *user_data);
static gboolean __mediacodec_buffer_status_cb(mediacodec_status_e status, void *user_data);
#ifdef USE_MM_RESOURCE_MANAGER
static void __mediacodec_init_lib() __attribute__((constructor));
mc_set_error_cb(handle->mc_handle, (mediacodec_error_cb)__mediacodec_error_cb, handle);
mc_set_eos_cb(handle->mc_handle, (mediacodec_eos_cb)__mediacodec_eos_cb, handle);
mc_set_buffer_status_cb(handle->mc_handle, (mediacodec_buffer_status_cb)__mediacodec_buffer_status_cb, handle);
- mc_set_supported_codec_cb(handle->mc_handle, (mediacodec_supported_codec_cb)__mediacodec_supported_codec_cb, handle);
#ifdef USE_MM_RESOURCE_MANAGER
g_mutex_lock(&g_mediacodec_lock);
return 1;
}
-static gboolean __mediacodec_supported_codec_cb(mediacodec_codec_type_e codec_type, void *user_data)
-{
- if (user_data == NULL)
- return 0;
-
- mediacodec_s *handle = (mediacodec_s *)user_data;
-
- if (handle->supported_codec_cb)
- return ((mediacodec_supported_codec_cb)handle->supported_codec_cb)(codec_type, handle->supported_codec_cb_userdata);
-
- return false;
-}
-
static gboolean __mediacodec_buffer_status_cb(mediacodec_status_e status, void *user_data)
{
if (user_data == NULL)
return MC_ERROR_NONE;
}
-int mc_set_supported_codec_cb(MMHandleType mediacodec, mediacodec_supported_codec_cb callback, void *user_data)
-{
- int ret = MC_ERROR_NONE;
- mc_handle_t *mc_handle = (mc_handle_t *)mediacodec;
-
- if (!mc_handle) {
- LOGE("fail invaild param\n");
- return MC_INVALID_ARG;
- }
-
- if (mc_handle->user_cb[_MEDIACODEC_EVENT_TYPE_SUPPORTED_CODEC]) {
- LOGE("Already set mediacodec_supported_codec_cb\n");
- return MC_PARAM_ERROR;
- } else {
- if (!callback)
- return MC_INVALID_ARG;
-
- LOGD("Set event handler callback(cb = %p, data = %p)", callback, user_data);
-
- mc_handle->user_cb[_MEDIACODEC_EVENT_TYPE_SUPPORTED_CODEC] = (mc_supported_codec_cb) callback;
- mc_handle->user_data[_MEDIACODEC_EVENT_TYPE_SUPPORTED_CODEC] = user_data;
- return MC_ERROR_NONE;
- }
-
- return ret;
-}
-
int _mediacodec_foreach_supported_codec(mediacodec_supported_codec_cb callback, void *user_data)
{
int i;
g_mutex_unlock(&async_queue->mutex);
}
-void mc_async_queue_enable(async_queue_t *async_queue)
-{
- g_mutex_lock(&async_queue->mutex);
- async_queue->enabled = TRUE;
- g_mutex_unlock(&async_queue->mutex);
-}
-
void mc_async_queue_flush(async_queue_t *async_queue)
{
g_mutex_lock(&async_queue->mutex);