diff options
author | Thiago Santos <thiagoss@osg.samsung.com> | 2015-02-20 10:57:01 -0300 |
---|---|---|
committer | Thiago Santos <thiagoss@osg.samsung.com> | 2016-04-11 23:14:05 -0300 |
commit | 6e28952b6d880c4470ae79e772bf5a4c6ec02586 (patch) | |
tree | 4fce45f05cab9b7eb0fb50d56182dec1ef9c809d | |
parent | 3bbb6d1a280c886069efb064d56ff18b953aa341 (diff) |
dashsink: fix string leaks
The streams manager already does a copy of the passed string, no need
to copy in dashsink.
Also update the set functions in streamsmanager to receive const gchar*
to accept static strings. In the same functions, also remove unneeded ifs
around g_free.
-rw-r--r-- | ext/dash/gstdashmanager.c | 6 | ||||
-rw-r--r-- | gst-libs/gst/baseadaptive/gststreamsmanager.c | 24 | ||||
-rw-r--r-- | gst-libs/gst/baseadaptive/gststreamsmanager.h | 8 |
3 files changed, 15 insertions, 23 deletions
diff --git a/ext/dash/gstdashmanager.c b/ext/dash/gstdashmanager.c index f2ce139c0..9bca34e2c 100644 --- a/ext/dash/gstdashmanager.c +++ b/ext/dash/gstdashmanager.c @@ -77,9 +77,9 @@ gst_dash_manager_init (GstDashManager * manager) GstStreamsManager *base_manager; base_manager = GST_STREAMS_MANAGER (manager); - gst_streams_manager_set_base_url (base_manager, g_strdup ("./")); - gst_streams_manager_set_title (base_manager, g_strdup ("dash")); - gst_streams_manager_set_fragment_prefix (base_manager, g_strdup ("segment")); + gst_streams_manager_set_base_url (base_manager, "./"); + gst_streams_manager_set_title (base_manager, "dash"); + gst_streams_manager_set_fragment_prefix (base_manager, "segment"); base_manager->chunked = TRUE; base_manager->is_live = FALSE; base_manager->finished = FALSE; diff --git a/gst-libs/gst/baseadaptive/gststreamsmanager.c b/gst-libs/gst/baseadaptive/gststreamsmanager.c index 920c66cce..d6348cc53 100644 --- a/gst-libs/gst/baseadaptive/gststreamsmanager.c +++ b/gst-libs/gst/baseadaptive/gststreamsmanager.c @@ -239,47 +239,39 @@ gst_streams_manager_add_fragment (GstStreamsManager * man, void gst_streams_manager_set_output_directory (GstStreamsManager * man, - gchar * output_dir) + const gchar * output_dir) { g_return_if_fail (GST_IS_STREAMS_MANAGER (man)); - if (man->output_directory != NULL) - g_free (man->output_directory); - + g_free (man->output_directory); man->output_directory = g_strdup (output_dir); } void -gst_streams_manager_set_base_url (GstStreamsManager * man, gchar * url) +gst_streams_manager_set_base_url (GstStreamsManager * man, const gchar * url) { g_return_if_fail (GST_IS_STREAMS_MANAGER (man)); - if (man->base_url != NULL) - g_free (man->base_url); - + g_free (man->base_url); man->base_url = g_strdup (url); } void -gst_streams_manager_set_title (GstStreamsManager * man, gchar * title) +gst_streams_manager_set_title (GstStreamsManager * man, const gchar * title) { g_return_if_fail (GST_IS_STREAMS_MANAGER (man)); - if (man->title != NULL) - g_free (man->title); - + g_free (man->title); man->title = g_strdup (title); } void gst_streams_manager_set_fragment_prefix (GstStreamsManager * man, - gchar * prefix) + const gchar * prefix) { g_return_if_fail (GST_IS_STREAMS_MANAGER (man)); - if (man->fragment_prefix != NULL) - g_free (man->fragment_prefix); - + g_free (man->fragment_prefix); man->fragment_prefix = g_strdup (prefix); } diff --git a/gst-libs/gst/baseadaptive/gststreamsmanager.h b/gst-libs/gst/baseadaptive/gststreamsmanager.h index efc227e51..f14d22cb2 100644 --- a/gst-libs/gst/baseadaptive/gststreamsmanager.h +++ b/gst-libs/gst/baseadaptive/gststreamsmanager.h @@ -169,19 +169,19 @@ gboolean gst_streams_manager_render (GstStreamsManager * m GstMediaRepFile ** file); void gst_streams_manager_set_base_url (GstStreamsManager * man, - gchar * base_url); + const gchar * base_url); void gst_streams_manager_set_title (GstStreamsManager * man, - gchar * title); + const gchar * title); void gst_streams_manager_clear (GstStreamsManager * man); void gst_streams_manager_set_output_directory (GstStreamsManager * man, - gchar * output_directory); + const gchar * output_directory); void gst_streams_manager_set_fragment_prefix (GstStreamsManager * man, - gchar * prefix); + const gchar * prefix); GstMediaRepFile * gst_media_rep_file_new (gchar *content, GFile * file); |