summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@osg.samsung.com>2015-02-20 10:57:01 -0300
committerThiago Santos <thiagoss@osg.samsung.com>2016-04-11 23:14:05 -0300
commit6e28952b6d880c4470ae79e772bf5a4c6ec02586 (patch)
tree4fce45f05cab9b7eb0fb50d56182dec1ef9c809d
parent3bbb6d1a280c886069efb064d56ff18b953aa341 (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.c6
-rw-r--r--gst-libs/gst/baseadaptive/gststreamsmanager.c24
-rw-r--r--gst-libs/gst/baseadaptive/gststreamsmanager.h8
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);