summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--configure.ac2
-rw-r--r--ext/neon/gstneonhttpsrc.c14
3 files changed, 16 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index cecd6e5e..ecd9841b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-02-06 Edgard Lima <edgard.lima@indt.org.br>
+
+ * configure.ac:
+ * ext/neon/gstneonhttpsrc.c:
+ Now it uses libneon 0.25.5 that supports shoutcast.
+
2006-02-06 Lutz Mueller <lutz@topfrose.de>
Reviewed by: Edward Hervey <edward@fluendo.com>
diff --git a/configure.ac b/configure.ac
index 610a54be..b59f01c8 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 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: