From 14a0f2771ed3213c825c8f057dad8bf0b8b4f038 Mon Sep 17 00:00:00 2001 From: Edgard Lima Date: Mon, 6 Feb 2006 20:51:49 +0000 Subject: [PATCH] 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. --- ChangeLog | 6 ++++++ configure.ac | 2 +- ext/neon/gstneonhttpsrc.c | 14 +++++++++----- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index cecd6e5e4f..ecd9841b06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-02-06 Edgard Lima + + * configure.ac: + * ext/neon/gstneonhttpsrc.c: + Now it uses libneon 0.25.5 that supports shoutcast. + 2006-02-06 Lutz Mueller Reviewed by: Edward Hervey diff --git a/configure.ac b/configure.ac index 610a54be41..b59f01c83f 100644 --- a/configure.ac +++ b/configure.ac @@ -487,7 +487,7 @@ GST_CHECK_FEATURE(MUSEPACK, [musepackdec], musepack, [ dnl *** neon *** translit(dnm, m, l) AM_CONDITIONAL(USE_NEON, true) GST_CHECK_FEATURE(NEON, [neon http client plugins], neonhttpsrc, [ - PKG_CHECK_MODULES(NEON, neon = 0.24.7, HAVE_NEON="yes", HAVE_NEON="no") + PKG_CHECK_MODULES(NEON, neon = 0.25.5, HAVE_NEON="yes", HAVE_NEON="no") AC_SUBST(NEON_CFLAGS) AC_SUBST(NEON_LIBS) ]) diff --git a/ext/neon/gstneonhttpsrc.c b/ext/neon/gstneonhttpsrc.c index 32c1b6d8e0..44c3594b9f 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: