summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packaging/libmm-player.spec2
-rw-r--r--src/mm_player_priv.c40
2 files changed, 24 insertions, 18 deletions
diff --git a/packaging/libmm-player.spec b/packaging/libmm-player.spec
index 1db0997..5443f93 100644
--- a/packaging/libmm-player.spec
+++ b/packaging/libmm-player.spec
@@ -1,6 +1,6 @@
Name: libmm-player
Summary: Multimedia Framework Player Library
-Version: 0.5.86
+Version: 0.5.87
Release: 0
Group: Multimedia/Libraries
License: Apache-2.0
diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c
index bfbe1ec..c706ba2 100644
--- a/src/mm_player_priv.c
+++ b/src/mm_player_priv.c
@@ -5307,6 +5307,11 @@ __mmplayer_gst_create_audio_pipeline(mm_player_t* player)
/* get first element's sinkpad for creating ghostpad */
first_element = (MMPlayerGstElement *)element_bucket->data;
+ if (!first_element)
+ {
+ LOGE("failed to get first elem\n");
+ goto ERROR;
+ }
pad = gst_element_get_static_pad(GST_ELEMENT(first_element->gst), "sink");
if ( ! pad )
@@ -5351,7 +5356,8 @@ ERROR:
if ( ghostpad )
gst_object_unref(GST_OBJECT(ghostpad));
- g_list_free( element_bucket );
+ if (element_bucket)
+ g_list_free( element_bucket );
/* release element which are not added to bin */
for ( i = 1; i < MMPLAYER_A_NUM; i++ ) /* NOTE : skip bin */
@@ -6682,27 +6688,27 @@ _mmplayer_push_buffer(MMHandleType hplayer, unsigned char *buf, int size) // @
}
}
- LOGI("app-src: pushing data\n");
+ LOGI("app-src: pushing data\n");
- if ( buf == NULL )
- {
- LOGE("buf is null\n");
- return MM_ERROR_NONE;
- }
+ if ( buf == NULL )
+ {
+ LOGE("buf is null\n");
+ return MM_ERROR_NONE;
+ }
- buffer = gst_buffer_new ();
+ buffer = gst_buffer_new ();
- if (size <= 0)
- {
- LOGD("call eos appsrc\n");
- g_signal_emit_by_name (player->pipeline->mainbin[MMPLAYER_M_SRC].gst, "end-of-stream", &gst_ret);
- return MM_ERROR_NONE;
- }
+ if (size <= 0)
+ {
+ LOGD("call eos appsrc\n");
+ g_signal_emit_by_name (player->pipeline->mainbin[MMPLAYER_M_SRC].gst, "end-of-stream", &gst_ret);
+ return MM_ERROR_NONE;
+ }
//gst_buffer_insert_memory(buffer, -1, gst_memory_new_wrapped(0, (guint8 *)(buf->buf + buf->offset), len, 0, len, (guint8*)(buf->buf + buf->offset), g_free));
- LOGD("feed buffer %p, length %u\n", buf, size);
- g_signal_emit_by_name (player->pipeline->mainbin[MMPLAYER_M_SRC].gst, "push-buffer", buffer, &gst_ret);
+ LOGD("feed buffer %p, length %u\n", buf, size);
+ g_signal_emit_by_name (player->pipeline->mainbin[MMPLAYER_M_SRC].gst, "push-buffer", buffer, &gst_ret);
MMPLAYER_FLEAVE();
@@ -9098,7 +9104,7 @@ __mmplayer_can_do_interrupt(mm_player_t *player)
FAILED: /* with CMD UNLOCKED */
return FALSE;
-INTERRUPT: /* with CMD LOCKED */
+INTERRUPT: /* with CMD LOCKED, released at mrp_resource_release_cb() */
return TRUE;
}