From 14a0f2771ed3213c825c8f057dad8bf0b8b4f038 Mon Sep 17 00:00:00 2001 From: Edgard Lima Date: Mon, 6 Feb 2006 20:51:49 +0000 Subject: Now it uses libneon 0.25.5 that supports shoutcast. Original commit message from CVS: Now it uses libneon 0.25.5 that supports shoutcast. --- ext/neon/gstneonhttpsrc.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'ext/neon') diff --git a/ext/neon/gstneonhttpsrc.c b/ext/neon/gstneonhttpsrc.c index 32c1b6d8..44c3594b 100644 --- a/ext/neon/gstneonhttpsrc.c +++ b/ext/neon/gstneonhttpsrc.c @@ -51,8 +51,6 @@ enum static void oom_callback (); -static void size_header_handler (void *userdata, const char *value); - static gboolean set_proxy (const char *uri, ne_uri * parsed, gboolean set_default); static gboolean set_uri (const char *uri, ne_uri * parsed, gboolean * ishttps, @@ -318,6 +316,7 @@ gst_neonhttp_src_start (GstBaseSrc * bsrc) { gboolean ret = TRUE; GstNeonhttpSrc *src = GST_NEONHTTP_SRC (bsrc); + const char *content_length; ne_oom_callback (oom_callback); @@ -339,14 +338,19 @@ gst_neonhttp_src_start (GstBaseSrc * bsrc) src->request = ne_request_create (src->session, "GET", src->uri.path); - ne_add_response_header_handler (src->request, "Content-Length", - size_header_handler, src); - if (NE_OK != ne_begin_request (src->request)) { ret = FALSE; goto done; } + content_length = ne_get_response_header (src->request, "Content-Length"); + + if (content_length) { + src->content_size = atoll (content_length); + } else { + src->content_size = -1; + } + GST_OBJECT_FLAG_SET (src, GST_NEONHTTP_SRC_OPEN); done: -- cgit v1.2.1