LOGD("adding created elements to bin");
if (!_mmplayer_gst_element_add_bucket_to_bin(GST_BIN(textbin[MMPLAYER_T_BIN].gst), element_bucket)) {
LOGE("failed to add elements");
- g_list_free(element_bucket);
goto ERROR;
}
LOGD("Linking elements in the bucket by added order.");
if (_mmplayer_gst_element_link_bucket(element_bucket) == -1) {
LOGE("failed to link elements");
- g_list_free(element_bucket);
goto ERROR;
}
- /* done. free allocated variables */
- g_list_free(element_bucket);
-
if (textbin[MMPLAYER_T_QUEUE].gst) {
GstPad *pad = NULL;
GstPad *ghostpad = NULL;
}
}
+ g_list_free(element_bucket);
+
return MM_ERROR_NONE;
ERROR:
+ g_list_free(element_bucket);
+
if (!player->play_subtitle && textbin[MMPLAYER_T_FAKE_SINK].gst) {
LOGE("remove textbin sink from sink list");
__mmplayer_del_sink(player, textbin[MMPLAYER_T_FAKE_SINK].gst);
__mmplayer_gst_create_text_sink_bin(mmplayer_t *player)
{
mmplayer_gst_element_t *textbin = NULL;
- GList *element_bucket = NULL;
int surface_type = 0;
gint i = 0;
LOGD("ERROR : releasing textbin");
- g_list_free(element_bucket);
-
/* release signal */
__mmplayer_release_signal_connection(player, MM_PLAYER_SIGNAL_TYPE_TEXTBIN);