GstElement *__ms_audio_encoder_element_create(node_plug_s *plug_info, media_streamer_node_type_e type)
{
GstCaps *enc_caps = plug_info->src_caps;
+ gchar *encoder_name = NULL;
if (!enc_caps) {
enc_caps = gst_caps_from_string(MEDIA_STREAMER_DEFAULT_AUDIO_FORMAT);
ms_debug("No Audio encoding format is set! Deafault will be: [%s]", MEDIA_STREAMER_DEFAULT_AUDIO_FORMAT);
if (!audio_encoder)
audio_encoder = __ms_element_create_by_registry(&plug_info_encoder, type);
- if (g_strrstr(gst_element_get_name(audio_encoder), "aac"))
+ encoder_name = gst_element_get_name(audio_encoder);
+ if (encoder_name && g_strrstr(encoder_name, "aac"))
g_object_set(audio_encoder, "compliance", -2, NULL);
+ MS_SAFE_GFREE(encoder_name);
/* Creating bin - Audio Encoder */
GstElement *audio_enc_bin = gst_bin_new("audio_encoder");
case MEDIA_STREAMER_NODE_SINK_TYPE_OVERLAY:
plugin_name = __ms_ini_get_string("node type 2:overlay", DEFAULT_VIDEO_SINK);
node->gst_element = __ms_element_create(plugin_name, NULL);
+ g_object_set(node->gst_element, "use-tbm", FALSE, NULL);
break;
case MEDIA_STREAMER_NODE_SINK_TYPE_FAKE:
plugin_name = __ms_ini_get_string("node type 2:fake", DEFAULT_FAKE_SINK);
then apprently this element doesn't require resources */
ms_info("Failed to found corresonding node [%s] inside streamer", GST_ELEMENT_NAME(element));
g_value_set_boolean(ret, TRUE);
+ g_object_unref(element);
return TRUE;
}
if (MEDIA_STREAMER_ERROR_NONE != _ms_node_resource_aquire(node)) {
ms_error("Failed to acquire resource for node [%s]", node->name);
+ g_object_unref(element);
return FALSE;
}
g_value_set_boolean(ret, TRUE);
+ g_object_unref(element);
+
return TRUE;
}
then apprently this element doesn't require resources. */
ms_debug("Failed to found corresonding node [%s] inside streamer", GST_ELEMENT_NAME(element));
g_value_set_boolean(ret, TRUE);
+ g_object_unref(element);
return TRUE;
}
if (MEDIA_STREAMER_ERROR_NONE != _ms_node_resource_release(node)) {
ms_error("Failed to release resource for node [%s]", node->name);
+ g_object_unref(element);
return FALSE;
}
g_value_set_boolean(ret, TRUE);
+ g_object_unref(element);
+
return TRUE;
}
then apprently this element doesn't require resources */
ms_info("Failed to found corresonding node [%s] inside streamer", GST_ELEMENT_NAME(element));
g_value_set_boolean(ret, TRUE);
+ g_object_unref(element);
return TRUE;
}
if (MEDIA_STREAMER_ERROR_NONE != _ms_node_policy_check(node)) {
ms_error("Failed to check policy for node [%s]", node->name);
+ g_object_unref(element);
return FALSE;
}
g_value_set_boolean(ret, TRUE);
+ g_object_unref(element);
+
return TRUE;
}
are platform dependent */
system_info_get_platform_string("http://tizen.org/system/model_name", &model_name);
system_info_get_platform_string("http://tizen.org/system/platform.processor", &platform_processor);
+ if (!model_name || ! platform_processor) {
+ ms_error("Failed to get information about platform check resources");
+ MS_SAFE_FREE(model_name);
+ MS_SAFE_FREE(platform_processor);
+ return TRUE;
+ }
ms_info("Check for resources for model_name %s, platform.processor %s", model_name, platform_processor);
switch (type) {
break;
}
+ MS_SAFE_FREE(model_name);
+ MS_SAFE_FREE(platform_processor);
+
return ret;
}