diff options
author | Luis de Arquer <ldearquer@gmail.com> | 2015-02-21 13:04:19 +0000 |
---|---|---|
committer | Luis de Arquer <ldearquer@gmail.com> | 2015-02-21 13:04:19 +0000 |
commit | 883c0839a9810033fb88e390dc07491970e67977 (patch) | |
tree | ac33b822440e365f79b96d60107d2cb28dbf0a78 | |
parent | ae5102cc4583fe0da11b4d9dc89d5eda60e14842 (diff) |
Content-type boundary tag is now taken from the multipartmux "boundary" property
-rw-r--r-- | http-launch/src/http-launch.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/http-launch/src/http-launch.c b/http-launch/src/http-launch.c index 23519f1..c2eea6c 100644 --- a/http-launch/src/http-launch.c +++ b/http-launch/src/http-launch.c @@ -41,7 +41,7 @@ static GList *clients = NULL; static GstElement *pipeline = NULL; static GstElement *multisocketsink = NULL; static gboolean started = FALSE; -static gchar content_type[256]; +static gchar *content_type; static void remove_client (Client * client) @@ -384,13 +384,22 @@ main (gint argc, gchar ** argv) * Make the HTTP header 'Content-type' if we are trying to create a * MJPEG (or any other multipart) stream. */ + content_type = g_strdup (""); + if ( strcmp ("GstMultipartMux", g_type_name(G_OBJECT_TYPE(stream)) ) == 0 ) { - strcpy (content_type, "Content-Type: " - "multipart/x-mixed-replace;boundary=--ThisRandomString\r\n"); - } else { - strcpy (content_type, ""); + gchar *boundary = NULL; + g_object_get (stream, "boundary", &boundary, NULL); + if (boundary == NULL) { + g_print ("Warning: \"boundary\" property not found in mutipartmux\n"); + } else { + /* Free default empty string "" created above, and create new string */ + g_free(content_type); + content_type = g_strdup_printf ("Content-Type: " + "multipart/x-mixed-replace;boundary=--%s\r\n", boundary); + } } + srcpad = gst_element_get_static_pad (stream, "src"); if (!srcpad) { g_print ("no \"src\" pad in element \"stream\" found\n"); |