network/http-launch: Content-type boundary tag is now taken from the multipartmux "boundary" property

This commit is contained in:
Luis de Arquer 2015-02-21 13:04:19 +00:00
parent 9da0c14273
commit bb90ddfad1

View file

@ -41,7 +41,7 @@ static GList *clients = NULL;
static GstElement *pipeline = NULL; static GstElement *pipeline = NULL;
static GstElement *multisocketsink = NULL; static GstElement *multisocketsink = NULL;
static gboolean started = FALSE; static gboolean started = FALSE;
static gchar content_type[256]; static gchar *content_type;
static void static void
remove_client (Client * client) 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 * Make the HTTP header 'Content-type' if we are trying to create a
* MJPEG (or any other multipart) stream. * MJPEG (or any other multipart) stream.
*/ */
content_type = g_strdup ("");
if ( strcmp ("GstMultipartMux", g_type_name(G_OBJECT_TYPE(stream)) ) == 0 ) { if ( strcmp ("GstMultipartMux", g_type_name(G_OBJECT_TYPE(stream)) ) == 0 ) {
strcpy (content_type, "Content-Type: " gchar *boundary = NULL;
"multipart/x-mixed-replace;boundary=--ThisRandomString\r\n"); g_object_get (stream, "boundary", &boundary, NULL);
} else { if (boundary == NULL) {
strcpy (content_type, ""); 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"); srcpad = gst_element_get_static_pad (stream, "src");
if (!srcpad) { if (!srcpad) {
g_print ("no \"src\" pad in element \"stream\" found\n"); g_print ("no \"src\" pad in element \"stream\" found\n");