From bede11dbc36b7ae176e5ca776a0791d575ce60f7 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 10 Jul 2009 20:24:14 +0100 Subject: [PATCH] uridecodebin: Fix template construction Fix the construction of the temporary filename construction as the application name can be NULL and we don't want a separator between the prgname and the template. --- gst/playback/gsturidecodebin.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/gst/playback/gsturidecodebin.c b/gst/playback/gsturidecodebin.c index 47251bc98a..f375155973 100644 --- a/gst/playback/gsturidecodebin.c +++ b/gst/playback/gsturidecodebin.c @@ -1247,16 +1247,26 @@ type_found (GstElement * typefind, guint probability, decoder->download); if (IS_DOWNLOAD_MEDIA (media_type) && decoder->download) { - gchar *temp_template; + gchar *temp_template, *filename; + const gchar *tmp_dir, *prgname; + + tmp_dir = g_get_tmp_dir (); + prgname = g_get_prgname (); + if (prgname == NULL) + prgname = "GStreamer"; + + filename = g_strdup_printf ("%s-XXXXXX", prgname); /* build our filename */ - temp_template = - g_build_filename (g_get_tmp_dir (), g_get_prgname (), "-XXXXXX", NULL); + temp_template = g_build_filename (tmp_dir, filename, NULL); + + GST_DEBUG_OBJECT (decoder, "enable download buffering in %s (%s, %s, %s)", + temp_template, tmp_dir, prgname, filename); - GST_DEBUG_OBJECT (decoder, "enable download buffering in %s", - temp_template); /* configure progressive download for selected media types */ g_object_set (G_OBJECT (queue), "temp-template", temp_template, NULL); + + g_free (filename); g_free (temp_template); }