Commit 533699ab authored by Max Kellermann's avatar Max Kellermann

playlist/soundcloud: drop support for libyajl1

Require the version 2 which has a more sane API.
parent 267ccc98
......@@ -770,14 +770,11 @@ dnl --------------------------------- Soundcloud ------------------------------
MPD_AUTO([soundcloud], [soundcloud.com support], [libyajl not found],
[PKG_CHECK_MODULES([YAJL], [yajl >= 2.0],
[found_soundcloud=yes],
AC_CHECK_LIB([yajl], [yajl_parse_complete],
[found_soundcloud=yes YAJL_CFLAGS=-DHAVE_YAJL1 YAJL_LIBS=-lyajl],
[found_soundcloud=no]))])
[found_soundcloud=no])])
if test x$enable_soundcloud = xyes; then
AC_DEFINE(ENABLE_SOUNDCLOUD, 1, [Define when soundcloud is enabled])
fi
AM_CONDITIONAL(ENABLE_SOUNDCLOUD, test x$enable_soundcloud = xyes)
AC_SUBST(YAJL_LIBS)
dnl ---------------------------------- cdio ---------------------------------
MPD_ENABLE_AUTO_PKG(cdio_paranoia, CDIO_PARANOIA, [libcdio_paranoia],
......
......@@ -112,12 +112,7 @@ struct parse_data {
};
static int
handle_integer(void *ctx,
long
#ifndef HAVE_YAJL1
long
#endif
intval)
handle_integer(void *ctx, long long intval)
{
struct parse_data *data = (struct parse_data *) ctx;
......@@ -133,13 +128,7 @@ handle_integer(void *ctx,
}
static int
handle_string(void *ctx, const unsigned char* stringval,
#ifdef HAVE_YAJL1
unsigned int
#else
size_t
#endif
stringlen)
handle_string(void *ctx, const unsigned char *stringval, size_t stringlen)
{
struct parse_data *data = (struct parse_data *) ctx;
const char *s = (const char *) stringval;
......@@ -162,13 +151,7 @@ handle_string(void *ctx, const unsigned char* stringval,
}
static int
handle_mapkey(void *ctx, const unsigned char* stringval,
#ifdef HAVE_YAJL1
unsigned int
#else
size_t
#endif
stringlen)
handle_mapkey(void *ctx, const unsigned char *stringval, size_t stringlen)
{
struct parse_data *data = (struct parse_data *) ctx;
......@@ -283,20 +266,11 @@ soundcloud_parse_json(const char *url, yajl_handle hand,
}
if (done) {
#ifdef HAVE_YAJL1
stat = yajl_parse_complete(hand);
#else
stat = yajl_complete_parse(hand);
#endif
} else
stat = yajl_parse(hand, ubuffer, nbytes);
if (stat != yajl_status_ok
#ifdef HAVE_YAJL1
&& stat != yajl_status_insufficient_data
#endif
)
{
if (stat != yajl_status_ok) {
unsigned char *str = yajl_get_error(hand, 1, ubuffer, nbytes);
LogError(soundcloud_domain, (const char *)str);
yajl_free_error(hand, str);
......@@ -360,12 +334,7 @@ soundcloud_open_uri(const char *uri, Mutex &mutex, Cond &cond)
data.got_url = 0;
data.title = nullptr;
data.stream_url = nullptr;
#ifdef HAVE_YAJL1
yajl_handle hand = yajl_alloc(&parse_callbacks, nullptr, nullptr,
&data);
#else
yajl_handle hand = yajl_alloc(&parse_callbacks, nullptr, &data);
#endif
int ret = soundcloud_parse_json(u, hand, mutex, cond);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment