return;
}
-static void __audio_frame_cb_handler(callback_cb_info_s *cb_info, _player_recv_data *recv_data)
+static void __media_packet_audio_frame_cb_handler(callback_cb_info_s *cb_info, _player_recv_data *recv_data)
{
tbm_bo bo = NULL;
tbm_bo_handle thandle;
int key = INVALID_DEFAULT_VALUE;
- player_audio_raw_data_s audio;
+ player_audio_raw_data_s audio; /* DEPRECATED_PLAYER_INTERNAL_API */
if (!player_msg_get(key, recv_data->buffer)) {
LOGE("failed to get key value from msg.");
memcpy(&audio, thandle.ptr, sizeof(player_audio_raw_data_s));
audio.data = thandle.ptr + sizeof(player_audio_raw_data_s);
+ tbm_bo_unmap(bo);
/* LOGD("user callback data %p, size %d", audio.data, audio.size); */
- ((player_audio_pcm_extraction_cb)cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_AUDIO_FRAME])(&audio, cb_info->user_data[MUSE_PLAYER_EVENT_TYPE_AUDIO_FRAME]);
- tbm_bo_unmap(bo);
+ if (cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_AUDIO_FRAME]) { /* DEPRECATED_PLAYER_INTERNAL_API, will be removed */
+ ((player_audio_pcm_extraction_cb)cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_AUDIO_FRAME])
+ (&audio, cb_info->user_data[MUSE_PLAYER_EVENT_TYPE_AUDIO_FRAME]);
+ }
+/* FIXME: Will be implemented with public api
+ else if (cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_AUDIO_FRAME]) {
+ ((player_media_packet_audio_decoded_cb)cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_AUDIO_FRAME])
+ (pkt, cb_info->user_data[MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_AUDIO_FRAME]);
+ }
+*/
+ else {
+ LOGE("there is no registered cb");
+ goto EXIT;
+ }
EXIT:
if (recv_data->tfd[0] > INVALID_DEFAULT_VALUE)
close(recv_data->tfd[0]);
memset(recv_data->tfd, INVALID_DEFAULT_VALUE, sizeof(recv_data->tfd));
- if (bo)
- tbm_bo_unref(bo);
+ /* return buffer directly, DEPRECATED_PLAYER_INTERNAL_API */
+ if ((cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_AUDIO_FRAME] == NULL) &&
+ (key > INVALID_DEFAULT_VALUE)) {
+
+ if (bo) tbm_bo_unref(bo);
- /* return buffer */
- if (key > INVALID_DEFAULT_VALUE) {
/* LOGD("send msg to release buffer. key:%d", key); */
PLAYER_SEND_MSG_ASYNC_WITH_NO_RETURN(MUSE_PLAYER_API_RETURN_BUFFER, cb_info->fd, MUSE_TYPE_INT, "key", key);
}
__capture_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_CAPTURE */
__seek_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_SEEK */
__media_packet_video_frame_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_VIDEO_FRAME */
- __audio_frame_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_AUDIO_FRAME */
+ __media_packet_audio_frame_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_AUDIO_FRAME */
__video_frame_render_error_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_VIDEO_FRAME_RENDER_ERROR */
__supported_audio_effect_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_SUPPORTED_AUDIO_EFFECT */
__supported_audio_effect_preset_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_SUPPORTED_AUDIO_EFFECT_PRESET */
#ifdef TIZEN_FEATURE_EVAS_RENDERER
__retrieve_buffer_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_RETURN_BUFFER */
#endif
+ __media_packet_audio_frame_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_AUDIO_FRAME, DEPRECATED_PLAYER_INTERNAL_API */
__disconnected_error_cb_handler, /* MUSE_PLAYER_EVENT_TYPE_SERVICE_DISCONNECTED */
};
}
g_mutex_unlock(&data->cb_info->event_queue.idle_ev_mutex);
- if ((data->cb_info->user_cb[ev] || (ev == MUSE_PLAYER_EVENT_TYPE_SERVICE_DISCONNECTED)) &&
+ if ((data->cb_info->user_cb[ev] || ev == MUSE_PLAYER_EVENT_TYPE_SERVICE_DISCONNECTED ||
+ (data->cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_AUDIO_FRAME] && ev == MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_AUDIO_FRAME)) &&
(_user_callbacks[ev]))
_user_callbacks[ev](data->cb_info, data->recv_data);
else
/* LOGD("get event %d", event); */
if (event < MUSE_PLAYER_EVENT_TYPE_NUM) {
- if (cb_info->user_cb[event] && _user_callbacks[event]) {
+ if ((cb_info->user_cb[event] && _user_callbacks[event]) ||
+ (event == MUSE_PLAYER_EVENT_TYPE_MEDIA_PACKET_AUDIO_FRAME && /* DEPRECATED_PLAYER_INTERNAL_API */
+ cb_info->user_cb[MUSE_PLAYER_EVENT_TYPE_AUDIO_FRAME] && _user_callbacks[event])){
_player_cb_data *data = NULL;
data = g_new(_player_cb_data, 1);
if (!data) {