[libdmapsharing] Use pkg-config's uninstalled feature with vapigen



commit b89ac615be54a54a009dc11a7f8d96d11c5391d2
Author: W. Michael Petullo <mike flyn org>
Date:   Sun Mar 18 21:26:38 2012 -0500

    Use pkg-config's uninstalled feature with vapigen
    
    Signed-off-by: W. Michael Petullo <mike flyn org>

 Makefile.am                                        |    5 +-
 configure.ac                                       |    9 +-
 doc/Makefile.am                                    |    1 +
 libdmapsharing-3.0-uninstalled.pc.in               |   11 +
 tests/Makefile.am                                  |   12 +-
 tests/dacplisten.c                                 |  116 +++--
 tests/dmapcopy.c                                   |   86 ++-
 tests/dmapserve.c                                  |   38 +-
 tests/dpapview.c                                   |  254 ++++++---
 tests/vala-dmap-container-db.c                     |   60 ++-
 tests/vala-dmap-db.c                               |   99 +++--
 tests/vala-dpap-record.c                           |  181 ++++---
 vala/Makefile.am                                   |   56 ++-
 ...des => libdmapsharing-3.0-uninstalled.excludes} |    0
 .../libdmapsharing-3.0-uninstalled.files           |    2 +
 .../libdmapsharing-3.0-uninstalled.files.in        |    2 +
 ...ce => libdmapsharing-3.0-uninstalled.namespace} |    0
 .../libdmapsharing-3.0.files                       |    2 -
 .../libdmapsharing-3.0.metadata                    |    4 +
 ...des => libdmapsharing-3.0-uninstalled.excludes} |    0
 .../libdmapsharing-3.0-uninstalled.files           |    2 +
 .../libdmapsharing-3.0-uninstalled.files.in        |    2 +
 ...ce => libdmapsharing-3.0-uninstalled.namespace} |    0
 .../libdmapsharing-3.0.files                       |    2 -
 .../libdmapsharing-3.0.metadata                    |    2 +
 ...des => libdmapsharing-3.0-uninstalled.excludes} |    0
 .../libdmapsharing-3.0-uninstalled.files           |    2 +
 .../libdmapsharing-3.0-uninstalled.files.in        |    2 +
 ...ce => libdmapsharing-3.0-uninstalled.namespace} |    0
 .../libdmapsharing-3.0.files                       |    2 -
 .../libdmapsharing-3.0.metadata                    |    4 +
 ...des => libdmapsharing-3.0-uninstalled.excludes} |    0
 .../libdmapsharing-3.0-uninstalled.files           |    2 +
 .../libdmapsharing-3.0-uninstalled.files.in        |    2 +
 ...ce => libdmapsharing-3.0-uninstalled.namespace} |    0
 .../libdmapsharing-3.0.files                       |    2 -
 .../libdmapsharing-3.0.metadata                    |    4 +
 vala/libdmapsharing-3.0.vapi                       |  576 ++++++++++++++------
 38 files changed, 1059 insertions(+), 483 deletions(-)
---
diff --git a/Makefile.am b/Makefile.am
index 377d240..33fb779 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -7,6 +7,7 @@ pcfiles = libdmapsharing- API_VERSION@.pc
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = $(pcfiles)
 
-EXTRA_DIST =					\
-	autogen.sh				\
+EXTRA_DIST =                                        \
+	autogen.sh                                  \
+	libdmapsharing- API_VERSION@-uninstalled.pc \
 	README-Memory
diff --git a/configure.ac b/configure.ac
index ca2a011..8b2b339 100644
--- a/configure.ac
+++ b/configure.ac
@@ -368,8 +368,10 @@ fi
 AM_CONDITIONAL(HAVE_CHECK, false)
 if test "x$USE_MAINTAINER_MODE" = "xyes" ; then
 	PKG_CHECK_MODULES([CHECK], [check >= 0.9.4],have_check=yes,have_check=no)
-	AC_DEFINE(HAVE_CHECK, 1, [Define if check support is enabled])
 	AM_CONDITIONAL(HAVE_CHECK, test x"$have_check" = "xyes")
+	if test "x$have_check" = "xyes"; then
+		AC_DEFINE(HAVE_CHECK, 1, [Define if check support is enabled])
+	fi
 fi
 
 AC_CHECK_LIB(z, uncompress)
@@ -388,6 +390,7 @@ AC_SUBST(DMAP_HAVE_UNALIGNED_ACCESS_DEFINE)
 AC_OUTPUT([
 Makefile
 doc/Makefile
+libdmapsharing-${API_VERSION}-uninstalled.pc
 libdmapsharing-${API_VERSION}.pc
 libdmapsharing/Makefile
 libdmapsharing/dmap-config.h
@@ -395,4 +398,8 @@ tests/Makefile
 m4/Makefile
 media/Makefile
 vala/Makefile
+vala/libdmapsharing-${API_VERSION}-daap/libdmapsharing-${API_VERSION}-uninstalled.files
+vala/libdmapsharing-${API_VERSION}-dacp/libdmapsharing-${API_VERSION}-uninstalled.files
+vala/libdmapsharing-${API_VERSION}-dmap/libdmapsharing-${API_VERSION}-uninstalled.files
+vala/libdmapsharing-${API_VERSION}-dpap/libdmapsharing-${API_VERSION}-uninstalled.files
 ])
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 7cd2544..d241ae0 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -96,6 +96,7 @@ GTKDOC_CFLAGS= \
 
 GTKDOC_LIBS= \
 	$(top_builddir)/libdmapsharing/libdmapsharing-3.0.la \
+	$(CHECK_LIBS) \
 	$(GLIB_LIBS) \
 	$(GTHREAD_LIBS) \
 	$(GOBJECT_LIBS) \
diff --git a/libdmapsharing-3.0-uninstalled.pc.in b/libdmapsharing-3.0-uninstalled.pc.in
new file mode 100644
index 0000000..52ea1db
--- /dev/null
+++ b/libdmapsharing-3.0-uninstalled.pc.in
@@ -0,0 +1,11 @@
+prefix=
+exec_prefix=
+libdir=${pcfiledir}/libdmapsharing
+includedir=${pcfiledir}
+
+Name: libdmapsharing
+Description: libdmapsharing
+Version: @VERSION@
+Requires: glib-2.0 libsoup-2.4 @GSTLIB@
+Libs: -L${libdir} -ldmapsharing- API_VERSION@
+Cflags: -I${includedir}
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 1f0f5e7..420bd94 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -56,19 +56,19 @@ if MAINTAINER_MODE
 BUILT_SOURCES = dacplisten.stamp dpapview.stamp dmapcopy.stamp dmapserve.stamp
 
 dacplisten.stamp: $(dacplisten_VALASOURCES)
-	$(VALAC) --vapidir=../vala --pkg gee-1.0 --pkg gstreamer-0.10 --pkg libdmapsharing-3.0 --pkg libsoup-2.4 --pkg glib-2.0 $^ -C
+	$(VALAC) --vapidir=../vala --pkg gee-1.0 --pkg gstreamer-0.10 --pkg libdmapsharing-3.0 --pkg libsoup-2.4 --pkg glib-2.0 --pkg avahi-gobject  $^ -C
 	touch $@
 
 dpapview.stamp: $(dpapview_VALASOURCES)
-	$(VALAC) --vapidir=../vala --pkg gee-1.0 --pkg gtk+-2.0 --pkg gstreamer-0.10 --pkg libdmapsharing-3.0 --pkg libsoup-2.4 --pkg glib-2.0 $^ -C
+	$(VALAC) --vapidir=../vala --pkg gee-1.0 --pkg gtk+-2.0 --pkg gstreamer-0.10 --pkg libdmapsharing-3.0 --pkg libsoup-2.4 --pkg glib-2.0 --pkg avahi-gobject $^ -C
 	touch $@
 
 dmapcopy.stamp: $(dmapcopy_VALASOURCES)
-	$(VALAC) --vapidir=../vala --pkg gee-1.0 --pkg gstreamer-0.10 --pkg libdmapsharing-3.0 --pkg libsoup-2.4 --pkg glib-2.0 $^ -C
+	$(VALAC) --vapidir=../vala --pkg gee-1.0 --pkg gstreamer-0.10 --pkg libdmapsharing-3.0 --pkg libsoup-2.4 --pkg glib-2.0 --pkg avahi-gobject $^ -C
 	touch $@
 
 dmapserve.stamp: $(dmapserve_VALASOURCES)
-	$(VALAC) --vapidir=../vala --pkg gee-1.0 --pkg gstreamer-0.10 --pkg libdmapsharing-3.0 --pkg libsoup-2.4 --pkg glib-2.0 $^ -C
+	$(VALAC) --vapidir=../vala --pkg gee-1.0 --pkg gstreamer-0.10 --pkg libdmapsharing-3.0 --pkg libsoup-2.4 --pkg glib-2.0 --pkg avahi-gobject $^ -C
 	touch $@
 endif
 
@@ -129,6 +129,10 @@ dmapserve_LDADD = \
 unit_test_SOURCES = \
 	unit-test.c
 
+unit_test_LDADD = \
+	$(GLIB_LIBS) \
+	$(GOBJECT_LIBS)
+
 AM_CPPFLAGS = \
 	-I$(top_srcdir) \
 	$(GLIB_CFLAGS) \
diff --git a/tests/dacplisten.c b/tests/dacplisten.c
index e4901d1..c395fb9 100644
--- a/tests/dacplisten.c
+++ b/tests/dacplisten.c
@@ -1,4 +1,4 @@
-/* dacplisten.c generated by valac 0.12.0, the Vala compiler
+/* dacplisten.c generated by valac 0.14.2, the Vala compiler
  * generated from dacplisten.vala, do not modify */
 
 /*   FILE: dacplisten.vala -- Listen to DACP remotes
@@ -132,10 +132,10 @@ GType vala_dmap_db_get_type (void) G_GNUC_CONST;
 ValaDMAPContainerDb* vala_dmap_container_db_new (void);
 ValaDMAPContainerDb* vala_dmap_container_db_construct (GType object_type);
 GType vala_dmap_container_db_get_type (void) G_GNUC_CONST;
-static void _lambda0_ (const gchar* service_name, const gchar* display_name, DACPListener* self);
-static void __lambda0__dacp_share_remote_found (DACPShare* _sender, const gchar* service_name, const gchar* remote_name, gpointer self);
-static void _lambda1_ (const gchar* guid, DACPListener* self);
-static void __lambda1__dacp_share_add_guid (DACPShare* _sender, const gchar* guid, gpointer self);
+static void __lambda0_ (DACPListener* self, const gchar* service_name, const gchar* display_name);
+static void ___lambda0__dacp_share_remote_found (DACPShare* _sender, const gchar* service_name, const gchar* remote_name, gpointer self);
+static void __lambda1_ (DACPListener* self, const gchar* guid);
+static void ___lambda1__dacp_share_add_guid (DACPShare* _sender, const gchar* guid, gpointer self);
 static void dacp_listener_finalize (GObject* obj);
 gint _vala_main (gchar** args, int args_length1);
 
@@ -143,8 +143,10 @@ gint _vala_main (gchar** args, int args_length1);
 static DAAPRecord* vala_dacp_player_real_now_playing_record (DACPPlayer* base) {
 	ValaDACPPlayer * self;
 	DAAPRecord* result = NULL;
+	FILE* _tmp0_;
 	self = (ValaDACPPlayer*) base;
-	fprintf (stdout, "Now playing record request received\n");
+	_tmp0_ = stdout;
+	fprintf (_tmp0_, "Now playing record request received\n");
 	result = NULL;
 	return result;
 }
@@ -153,55 +155,73 @@ static DAAPRecord* vala_dacp_player_real_now_playing_record (DACPPlayer* base) {
 static guchar* vala_dacp_player_real_now_playing_artwork (DACPPlayer* base, guint width, guint heigth, int* result_length1) {
 	ValaDACPPlayer * self;
 	guchar* result = NULL;
-	gpointer _tmp0_;
+	FILE* _tmp0_;
+	guchar* _tmp1_;
+	gint _tmp1__length1;
 	self = (ValaDACPPlayer*) base;
-	fprintf (stdout, "Now playing artwork request received\n");
-	_tmp0_ = NULL;
-	*result_length1 = 0;
-	result = _tmp0_;
+	_tmp0_ = stdout;
+	fprintf (_tmp0_, "Now playing artwork request received\n");
+	_tmp1_ = NULL;
+	_tmp1__length1 = 0;
+	if (result_length1) {
+		*result_length1 = _tmp1__length1;
+	}
+	result = _tmp1_;
 	return result;
 }
 
 
 static void vala_dacp_player_real_play_pause (DACPPlayer* base) {
 	ValaDACPPlayer * self;
+	FILE* _tmp0_;
 	self = (ValaDACPPlayer*) base;
-	fprintf (stdout, "Play/pause request received\n");
+	_tmp0_ = stdout;
+	fprintf (_tmp0_, "Play/pause request received\n");
 }
 
 
 static void vala_dacp_player_real_pause (DACPPlayer* base) {
 	ValaDACPPlayer * self;
+	FILE* _tmp0_;
 	self = (ValaDACPPlayer*) base;
-	fprintf (stdout, "Pause request received\n");
+	_tmp0_ = stdout;
+	fprintf (_tmp0_, "Pause request received\n");
 }
 
 
 static void vala_dacp_player_real_next_item (DACPPlayer* base) {
 	ValaDACPPlayer * self;
+	FILE* _tmp0_;
 	self = (ValaDACPPlayer*) base;
-	fprintf (stdout, "Next item request received\n");
+	_tmp0_ = stdout;
+	fprintf (_tmp0_, "Next item request received\n");
 }
 
 
 static void vala_dacp_player_real_prev_item (DACPPlayer* base) {
 	ValaDACPPlayer * self;
+	FILE* _tmp0_;
 	self = (ValaDACPPlayer*) base;
-	fprintf (stdout, "Previous item request received\n");
+	_tmp0_ = stdout;
+	fprintf (_tmp0_, "Previous item request received\n");
 }
 
 
 static void vala_dacp_player_real_cue_clear (DACPPlayer* base) {
 	ValaDACPPlayer * self;
+	FILE* _tmp0_;
 	self = (ValaDACPPlayer*) base;
-	fprintf (stdout, "Cue clear request received\n");
+	_tmp0_ = stdout;
+	fprintf (_tmp0_, "Cue clear request received\n");
 }
 
 
 static void vala_dacp_player_real_cue_play (DACPPlayer* base, GList* records, guint index) {
 	ValaDACPPlayer * self;
+	FILE* _tmp0_;
 	self = (ValaDACPPlayer*) base;
-	fprintf (stdout, "Cue play request received\n");
+	_tmp0_ = stdout;
+	fprintf (_tmp0_, "Cue play request received\n");
 }
 
 
@@ -225,13 +245,13 @@ static void vala_dacp_player_class_init (ValaDACPPlayerClass * klass) {
 static void vala_dacp_player_dacp_player_interface_init (DACPPlayerIface * iface) {
 	vala_dacp_player_dacp_player_parent_iface = g_type_interface_peek_parent (iface);
 	iface->now_playing_record = (DAAPRecord* (*)(DACPPlayer*)) vala_dacp_player_real_now_playing_record;
-	iface->now_playing_artwork = (guchar* (*)(DACPPlayer* ,guint ,guint ,int*)) vala_dacp_player_real_now_playing_artwork;
+	iface->now_playing_artwork = (guchar* (*)(DACPPlayer*, guint, guint, int*)) vala_dacp_player_real_now_playing_artwork;
 	iface->play_pause = (void (*)(DACPPlayer*)) vala_dacp_player_real_play_pause;
 	iface->pause = (void (*)(DACPPlayer*)) vala_dacp_player_real_pause;
 	iface->next_item = (void (*)(DACPPlayer*)) vala_dacp_player_real_next_item;
 	iface->prev_item = (void (*)(DACPPlayer*)) vala_dacp_player_real_prev_item;
 	iface->cue_clear = (void (*)(DACPPlayer*)) vala_dacp_player_real_cue_clear;
-	iface->cue_play = (void (*)(DACPPlayer* ,GList* ,guint)) vala_dacp_player_real_cue_play;
+	iface->cue_play = (void (*)(DACPPlayer*, GList*, guint)) vala_dacp_player_real_cue_play;
 }
 
 
@@ -253,35 +273,49 @@ GType vala_dacp_player_get_type (void) {
 }
 
 
-static void _lambda0_ (const gchar* service_name, const gchar* display_name, DACPListener* self) {
+static void __lambda0_ (DACPListener* self, const gchar* service_name, const gchar* display_name) {
+	FILE* _tmp0_;
+	const gchar* _tmp1_;
+	const gchar* _tmp2_;
 	g_return_if_fail (service_name != NULL);
 	g_return_if_fail (display_name != NULL);
-	fprintf (stdout, "Found remote: %s, %s\n", service_name, display_name);
+	_tmp0_ = stdout;
+	_tmp1_ = service_name;
+	_tmp2_ = display_name;
+	fprintf (_tmp0_, "Found remote: %s, %s\n", _tmp1_, _tmp2_);
 }
 
 
-static void __lambda0__dacp_share_remote_found (DACPShare* _sender, const gchar* service_name, const gchar* remote_name, gpointer self) {
-	_lambda0_ (service_name, remote_name, self);
+static void ___lambda0__dacp_share_remote_found (DACPShare* _sender, const gchar* service_name, const gchar* remote_name, gpointer self) {
+	__lambda0_ (self, service_name, remote_name);
 }
 
 
-static void _lambda1_ (const gchar* guid, DACPListener* self) {
+static void __lambda1_ (DACPListener* self, const gchar* guid) {
+	FILE* _tmp0_;
 	g_return_if_fail (guid != NULL);
-	fprintf (stdout, "Add GUID request received\n");
+	_tmp0_ = stdout;
+	fprintf (_tmp0_, "Add GUID request received\n");
 }
 
 
-static void __lambda1__dacp_share_add_guid (DACPShare* _sender, const gchar* guid, gpointer self) {
-	_lambda1_ (guid, self);
+static void ___lambda1__dacp_share_add_guid (DACPShare* _sender, const gchar* guid, gpointer self) {
+	__lambda1_ (self, guid);
 }
 
 
 DACPListener* dacp_listener_construct (GType object_type) {
 	DACPListener * self = NULL;
-	ValaDMAPDb* _tmp0_ = NULL;
-	ValaDMAPContainerDb* _tmp1_ = NULL;
-	ValaDACPPlayer* _tmp2_ = NULL;
-	DACPShare* _tmp3_ = NULL;
+	ValaDMAPDb* _tmp0_;
+	ValaDMAPContainerDb* _tmp1_;
+	ValaDACPPlayer* _tmp2_;
+	DACPPlayer* _tmp3_;
+	DMAPDb* _tmp4_;
+	DMAPContainerDb* _tmp5_;
+	DACPShare* _tmp6_;
+	DACPShare* _tmp7_;
+	DACPShare* _tmp8_;
+	DACPShare* _tmp9_;
 	self = (DACPListener*) g_object_new (object_type, NULL);
 	_tmp0_ = vala_dmap_db_new ();
 	_g_object_unref0 (self->priv->db);
@@ -292,12 +326,18 @@ DACPListener* dacp_listener_construct (GType object_type) {
 	_tmp2_ = vala_dacp_player_new ();
 	_g_object_unref0 (self->priv->player);
 	self->priv->player = (DACPPlayer*) _tmp2_;
-	_tmp3_ = dacp_share_new ("dacplisten", self->priv->player, self->priv->db, self->priv->container_db);
+	_tmp3_ = self->priv->player;
+	_tmp4_ = self->priv->db;
+	_tmp5_ = self->priv->container_db;
+	_tmp6_ = dacp_share_new ("dacplisten", _tmp3_, _tmp4_, _tmp5_);
 	_g_object_unref0 (self->priv->share);
-	self->priv->share = _tmp3_;
-	g_signal_connect_object (self->priv->share, "remote-found", (GCallback) __lambda0__dacp_share_remote_found, self, 0);
-	g_signal_connect_object (self->priv->share, "add-guid", (GCallback) __lambda1__dacp_share_add_guid, self, 0);
-	dacp_share_start_lookup (self->priv->share);
+	self->priv->share = _tmp6_;
+	_tmp7_ = self->priv->share;
+	g_signal_connect_object (_tmp7_, "remote-found", (GCallback) ___lambda0__dacp_share_remote_found, self, 0);
+	_tmp8_ = self->priv->share;
+	g_signal_connect_object (_tmp8_, "add-guid", (GCallback) ___lambda1__dacp_share_add_guid, self, 0);
+	_tmp9_ = self->priv->share;
+	dacp_share_start_lookup (_tmp9_);
 	return self;
 }
 
@@ -344,9 +384,9 @@ GType dacp_listener_get_type (void) {
 
 gint _vala_main (gchar** args, int args_length1) {
 	gint result = 0;
-	GMainLoop* _tmp0_ = NULL;
+	GMainLoop* _tmp0_;
 	GMainLoop* loop;
-	DACPListener* _tmp1_ = NULL;
+	DACPListener* _tmp1_;
 	DACPListener* dacplistener;
 	_tmp0_ = g_main_loop_new (NULL, FALSE);
 	loop = _tmp0_;
diff --git a/tests/dmapcopy.c b/tests/dmapcopy.c
index 2e96a4a..6021926 100644
--- a/tests/dmapcopy.c
+++ b/tests/dmapcopy.c
@@ -1,4 +1,4 @@
-/* dmapcopy.c generated by valac 0.12.0, the Vala compiler
+/* dmapcopy.c generated by valac 0.14.2, the Vala compiler
  * generated from dmapcopy.vala, do not modify */
 
 /*   FILE: dmapcopy.vala -- Copy files from a DMAP server
@@ -116,10 +116,10 @@ enum  {
 	DPAP_COPY_DUMMY_PROPERTY
 };
 static gboolean dpap_copy_connected_cb (DPAPCopy* self, DMAPConnection* connection, gboolean _result_, const gchar* reason);
-static void _lambda0_ (gconstpointer k, gconstpointer v, DPAPCopy* self);
+static void __lambda0_ (DPAPCopy* self, gconstpointer k, gconstpointer v);
 GType vala_dpap_record_get_type (void) G_GNUC_CONST;
 const gchar* vala_dpap_record_get_location (ValaDPAPRecord* self);
-static void __lambda0__gh_func (gconstpointer key, gconstpointer value, gpointer self);
+static void ___lambda0__gh_func (gconstpointer key, gconstpointer value, gpointer self);
 static void dpap_copy_service_added_cb (DPAPCopy* self, DMAPMdnsBrowserService* service);
 static gboolean _dpap_copy_connected_cb_dmap_connection_callback (DMAPConnection* connection, gboolean _result_, const gchar* reason, gpointer self);
 DPAPCopy* dpap_copy_new (GError** error);
@@ -136,26 +136,36 @@ gint _vala_main (gchar** args, int args_length1);
 static void _debug_null_glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self);
 
 
-static void _lambda0_ (gconstpointer k, gconstpointer v, DPAPCopy* self) {
-	const gchar* _tmp0_ = NULL;
-	_tmp0_ = vala_dpap_record_get_location (VALA_DPAP_RECORD (v));
-	fprintf (stdout, "%s\n", _tmp0_);
+static void __lambda0_ (DPAPCopy* self, gconstpointer k, gconstpointer v) {
+	FILE* _tmp0_;
+	gconstpointer _tmp1_;
+	const gchar* _tmp2_;
+	const gchar* _tmp3_;
+	_tmp0_ = stdout;
+	_tmp1_ = v;
+	_tmp2_ = vala_dpap_record_get_location (VALA_DPAP_RECORD (_tmp1_));
+	_tmp3_ = _tmp2_;
+	fprintf (_tmp0_, "%s\n", _tmp3_);
 }
 
 
-static void __lambda0__gh_func (gconstpointer key, gconstpointer value, gpointer self) {
-	_lambda0_ (key, value, self);
+static void ___lambda0__gh_func (gconstpointer key, gconstpointer value, gpointer self) {
+	__lambda0_ (self, key, value);
 }
 
 
 static gboolean dpap_copy_connected_cb (DPAPCopy* self, DMAPConnection* connection, gboolean _result_, const gchar* reason) {
 	gboolean result = FALSE;
-	gint64 _tmp0_;
+	ValaDMAPDb* _tmp0_;
+	gint64 _tmp1_ = 0LL;
+	ValaDMAPDb* _tmp2_;
 	g_return_val_if_fail (self != NULL, FALSE);
 	g_return_val_if_fail (connection != NULL, FALSE);
-	_tmp0_ = dmap_db_count ((DMAPDb*) self->priv->db);
-	g_debug ("dmapcopy.vala:30: %lld entries\n", _tmp0_);
-	dmap_db_foreach ((DMAPDb*) self->priv->db, __lambda0__gh_func, self);
+	_tmp0_ = self->priv->db;
+	_tmp1_ = dmap_db_count ((DMAPDb*) _tmp0_);
+	g_debug ("dmapcopy.vala:30: %lld entries\n", _tmp1_);
+	_tmp2_ = self->priv->db;
+	dmap_db_foreach ((DMAPDb*) _tmp2_, ___lambda0__gh_func, self);
 	result = TRUE;
 	return result;
 }
@@ -169,12 +179,30 @@ static gboolean _dpap_copy_connected_cb_dmap_connection_callback (DMAPConnection
 
 
 static void dpap_copy_service_added_cb (DPAPCopy* self, DMAPMdnsBrowserService* service) {
-	DPAPConnection* _tmp0_ = NULL;
+	DMAPMdnsBrowserService* _tmp0_;
+	const gchar* _tmp1_;
+	DMAPMdnsBrowserService* _tmp2_;
+	const gchar* _tmp3_;
+	DMAPMdnsBrowserService* _tmp4_;
+	guint _tmp5_;
+	ValaDMAPDb* _tmp6_;
+	ValaDPAPRecordFactory* _tmp7_;
+	DPAPConnection* _tmp8_;
+	DMAPConnection* _tmp9_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = dpap_connection_new (service->service_name, service->host, service->port, (DMAPDb*) self->priv->db, (DMAPRecordFactory*) self->priv->factory);
+	_tmp0_ = service;
+	_tmp1_ = _tmp0_->service_name;
+	_tmp2_ = service;
+	_tmp3_ = _tmp2_->host;
+	_tmp4_ = service;
+	_tmp5_ = _tmp4_->port;
+	_tmp6_ = self->priv->db;
+	_tmp7_ = self->priv->factory;
+	_tmp8_ = dpap_connection_new (_tmp1_, _tmp3_, _tmp5_, (DMAPDb*) _tmp6_, (DMAPRecordFactory*) _tmp7_);
 	_g_object_unref0 (self->priv->connection);
-	self->priv->connection = DMAP_CONNECTION (_tmp0_);
-	dmap_connection_connect (self->priv->connection, _dpap_copy_connected_cb_dmap_connection_callback, self);
+	self->priv->connection = DMAP_CONNECTION (_tmp8_);
+	_tmp9_ = self->priv->connection;
+	dmap_connection_connect (_tmp9_, _dpap_copy_connected_cb_dmap_connection_callback, self);
 }
 
 
@@ -185,9 +213,11 @@ static void _dpap_copy_service_added_cb_dmap_mdns_browser_service_added (DMAPMdn
 
 DPAPCopy* dpap_copy_construct (GType object_type, GError** error) {
 	DPAPCopy* self = NULL;
-	ValaDMAPDb* _tmp0_ = NULL;
-	ValaDPAPRecordFactory* _tmp1_ = NULL;
-	DMAPMdnsBrowser* _tmp2_ = NULL;
+	ValaDMAPDb* _tmp0_;
+	ValaDPAPRecordFactory* _tmp1_;
+	DMAPMdnsBrowser* _tmp2_;
+	DMAPMdnsBrowser* _tmp3_;
+	DMAPMdnsBrowser* _tmp4_;
 	GError * _inner_error_ = NULL;
 	self = (DPAPCopy*) g_type_create_instance (object_type);
 	_tmp0_ = vala_dmap_db_new ();
@@ -199,8 +229,10 @@ DPAPCopy* dpap_copy_construct (GType object_type, GError** error) {
 	_tmp2_ = dmap_mdns_browser_new (DMAP_MDNS_BROWSER_SERVICE_TYPE_DPAP);
 	_g_object_unref0 (self->priv->browser);
 	self->priv->browser = _tmp2_;
-	g_signal_connect (self->priv->browser, "service-added", (GCallback) _dpap_copy_service_added_cb_dmap_mdns_browser_service_added, self);
-	dmap_mdns_browser_start (self->priv->browser, &_inner_error_);
+	_tmp3_ = self->priv->browser;
+	g_signal_connect (_tmp3_, "service-added", (GCallback) _dpap_copy_service_added_cb_dmap_mdns_browser_service_added, self);
+	_tmp4_ = self->priv->browser;
+	dmap_mdns_browser_start (_tmp4_, &_inner_error_);
 	if (_inner_error_ != NULL) {
 		g_propagate_error (error, _inner_error_);
 		_dpap_copy_unref0 (self);
@@ -381,7 +413,11 @@ void dpap_copy_unref (gpointer instance) {
 
 
 void debug_printf (const gchar* log_domain, GLogLevelFlags log_level, const gchar* message) {
-	fprintf (stdout, "%s\n", message);
+	FILE* _tmp0_;
+	const gchar* _tmp1_;
+	_tmp0_ = stdout;
+	_tmp1_ = message;
+	fprintf (_tmp0_, "%s\n", _tmp1_);
 }
 
 
@@ -396,9 +432,9 @@ static void _debug_null_glog_func (const gchar* log_domain, GLogLevelFlags log_l
 
 gint _vala_main (gchar** args, int args_length1) {
 	gint result = 0;
-	GMainLoop* _tmp0_ = NULL;
+	GMainLoop* _tmp0_;
 	GMainLoop* loop;
-	DPAPCopy* _tmp1_ = NULL;
+	DPAPCopy* _tmp1_;
 	DPAPCopy* dmapcopy;
 	GError * _inner_error_ = NULL;
 	_tmp0_ = g_main_loop_new (NULL, FALSE);
diff --git a/tests/dmapserve.c b/tests/dmapserve.c
index 558f580..f112bec 100644
--- a/tests/dmapserve.c
+++ b/tests/dmapserve.c
@@ -1,4 +1,4 @@
-/* dmapserve.c generated by valac 0.12.0, the Vala compiler
+/* dmapserve.c generated by valac 0.14.2, the Vala compiler
  * generated from dmapserve.vala, do not modify */
 
 /*   FILE: dmapserve.vala -- Serve media using DMAP
@@ -133,10 +133,14 @@ static void _debug_printf_glog_func (const gchar* log_domain, GLogLevelFlags log
 
 DPAPServe* dpap_serve_construct (GType object_type, GError** error) {
 	DPAPServe* self = NULL;
-	ValaDPAPRecord* _tmp0_ = NULL;
-	ValaDMAPDb* _tmp1_ = NULL;
-	ValaDMAPContainerDb* _tmp2_ = NULL;
-	DPAPShare* _tmp3_ = NULL;
+	ValaDPAPRecord* _tmp0_;
+	ValaDMAPDb* _tmp1_;
+	ValaDMAPDb* _tmp2_;
+	ValaDPAPRecord* _tmp3_;
+	ValaDMAPContainerDb* _tmp4_;
+	ValaDMAPDb* _tmp5_;
+	ValaDMAPContainerDb* _tmp6_;
+	DPAPShare* _tmp7_;
 	self = (DPAPServe*) g_type_create_instance (object_type);
 	_tmp0_ = vala_dpap_record_new ();
 	_g_object_unref0 (self->priv->record);
@@ -144,13 +148,17 @@ DPAPServe* dpap_serve_construct (GType object_type, GError** error) {
 	_tmp1_ = vala_dmap_db_new ();
 	_g_object_unref0 (self->priv->db);
 	self->priv->db = _tmp1_;
-	dmap_db_add ((DMAPDb*) self->priv->db, (DMAPRecord*) self->priv->record);
-	_tmp2_ = vala_dmap_container_db_new ();
+	_tmp2_ = self->priv->db;
+	_tmp3_ = self->priv->record;
+	dmap_db_add ((DMAPDb*) _tmp2_, (DMAPRecord*) _tmp3_);
+	_tmp4_ = vala_dmap_container_db_new ();
 	_g_object_unref0 (self->priv->container_db);
-	self->priv->container_db = _tmp2_;
-	_tmp3_ = dpap_share_new ("dmapserve", NULL, self->priv->db, self->priv->container_db, NULL);
+	self->priv->container_db = _tmp4_;
+	_tmp5_ = self->priv->db;
+	_tmp6_ = self->priv->container_db;
+	_tmp7_ = dpap_share_new ("dmapserve", NULL, _tmp5_, _tmp6_, NULL);
 	_g_object_unref0 (self->priv->share);
-	self->priv->share = _tmp3_;
+	self->priv->share = _tmp7_;
 	return self;
 }
 
@@ -326,7 +334,11 @@ void dpap_serve_unref (gpointer instance) {
 
 
 void debug_printf (const gchar* log_domain, GLogLevelFlags log_level, const gchar* message) {
-	fprintf (stdout, "%s\n", message);
+	FILE* _tmp0_;
+	const gchar* _tmp1_;
+	_tmp0_ = stdout;
+	_tmp1_ = message;
+	fprintf (_tmp0_, "%s\n", _tmp1_);
 }
 
 
@@ -341,9 +353,9 @@ static void _debug_printf_glog_func (const gchar* log_domain, GLogLevelFlags log
 
 gint _vala_main (gchar** args, int args_length1) {
 	gint result = 0;
-	GMainLoop* _tmp0_ = NULL;
+	GMainLoop* _tmp0_;
 	GMainLoop* loop;
-	DPAPServe* _tmp1_ = NULL;
+	DPAPServe* _tmp1_;
 	DPAPServe* dmapcopy;
 	GError * _inner_error_ = NULL;
 	_tmp0_ = g_main_loop_new (NULL, FALSE);
diff --git a/tests/dpapview.c b/tests/dpapview.c
index 0ac39be..01ddcb1 100644
--- a/tests/dpapview.c
+++ b/tests/dpapview.c
@@ -1,4 +1,4 @@
-/* dpapview.c generated by valac 0.12.0, the Vala compiler
+/* dpapview.c generated by valac 0.14.2, the Vala compiler
  * generated from dpapview.vala, do not modify */
 
 /*   FILE: dpapviewer.vala -- View DPAP data
@@ -122,11 +122,11 @@ enum  {
 	DPAP_VIEWER_DUMMY_PROPERTY
 };
 static gboolean dpap_viewer_connected_cb (DPAPViewer* self, DMAPConnection* connection, gboolean _result_, const gchar* reason);
-static void _lambda0_ (gconstpointer k, gconstpointer v, DPAPViewer* self);
+static void __lambda0_ (DPAPViewer* self, gconstpointer k, gconstpointer v);
 GType vala_dpap_record_get_type (void) G_GNUC_CONST;
 GByteArray* vala_dpap_record_get_thumbnail (ValaDPAPRecord* self);
 const gchar* vala_dpap_record_get_filename (ValaDPAPRecord* self);
-static void __lambda0__gh_func (gconstpointer key, gconstpointer value, gpointer self);
+static void ___lambda0__gh_func (gconstpointer key, gconstpointer value, gpointer self);
 static void dpap_viewer_service_added_cb (DPAPViewer* self, DMAPMdnsBrowserService* service);
 static gboolean _dpap_viewer_connected_cb_dmap_connection_callback (DMAPConnection* connection, gboolean _result_, const gchar* reason, gpointer self);
 DPAPViewer* dpap_viewer_new (GtkBuilder* builder, GError** error);
@@ -140,27 +140,45 @@ static void dpap_viewer_finalize (DPAPViewer* obj);
 gint _vala_main (gchar** args, int args_length1);
 
 
-static void _lambda0_ (gconstpointer k, gconstpointer v, DPAPViewer* self) {
+static void __lambda0_ (DPAPViewer* self, gconstpointer k, gconstpointer v) {
 	GdkPixbuf* pixbuf;
-	GByteArray* _tmp0_ = NULL;
+	gconstpointer _tmp0_;
+	GByteArray* _tmp1_;
+	GByteArray* _tmp2_;
 	GtkTreeIter iter = {0};
-	GtkTreeIter _tmp6_ = {0};
-	const gchar* _tmp7_ = NULL;
+	GtkListStore* _tmp15_;
+	GtkTreeIter _tmp16_ = {0};
+	GtkListStore* _tmp17_;
+	GtkTreeIter _tmp18_;
+	GdkPixbuf* _tmp19_;
+	gconstpointer _tmp20_;
+	const gchar* _tmp21_;
+	const gchar* _tmp22_;
 	GError * _inner_error_ = NULL;
 	pixbuf = NULL;
-	_tmp0_ = vala_dpap_record_get_thumbnail (VALA_DPAP_RECORD (v));
-	if (_tmp0_ != NULL) {
+	_tmp0_ = v;
+	_tmp1_ = vala_dpap_record_get_thumbnail (VALA_DPAP_RECORD (_tmp0_));
+	_tmp2_ = _tmp1_;
+	if (_tmp2_ != NULL) {
 		gchar* path = NULL;
-		gchar* _tmp1_ = NULL;
-		gint _tmp2_;
+		gchar* _tmp3_ = NULL;
+		gint _tmp4_ = 0;
 		gint fd;
-		GByteArray* _tmp3_ = NULL;
-		GdkPixbuf* _tmp4_ = NULL;
-		GdkPixbuf* _tmp5_;
-		_tmp2_ = g_file_open_tmp ("dpapview.XXXXXX", &_tmp1_, &_inner_error_);
+		const gchar* _tmp5_;
+		gconstpointer _tmp6_;
+		GByteArray* _tmp7_;
+		GByteArray* _tmp8_;
+		guint8* _tmp9_;
+		gint _tmp9__length1;
+		gint _tmp10_;
+		const gchar* _tmp11_;
+		GdkPixbuf* _tmp12_;
+		GdkPixbuf* _tmp13_;
+		const gchar* _tmp14_;
+		_tmp4_ = g_file_open_tmp ("dpapview.XXXXXX", &_tmp3_, &_inner_error_);
 		_g_free0 (path);
-		path = _tmp1_;
-		fd = _tmp2_;
+		path = _tmp3_;
+		fd = _tmp4_;
 		if (_inner_error_ != NULL) {
 			_g_free0 (path);
 			_g_object_unref0 (pixbuf);
@@ -168,8 +186,13 @@ static void _lambda0_ (gconstpointer k, gconstpointer v, DPAPViewer* self) {
 			g_clear_error (&_inner_error_);
 			return;
 		}
-		_tmp3_ = vala_dpap_record_get_thumbnail (VALA_DPAP_RECORD (v));
-		g_file_set_contents (path, (const char*) _tmp3_->data, (size_t) ((gint) _tmp3_->len), &_inner_error_);
+		_tmp5_ = path;
+		_tmp6_ = v;
+		_tmp7_ = vala_dpap_record_get_thumbnail (VALA_DPAP_RECORD (_tmp6_));
+		_tmp8_ = _tmp7_;
+		_tmp9_ = _tmp8_->data;
+		_tmp9__length1 = (gint) _tmp8_->len;
+		g_file_set_contents (_tmp5_, (const char*) _tmp9_, (size_t) _tmp9__length1, &_inner_error_);
 		if (_inner_error_ != NULL) {
 			_g_free0 (path);
 			_g_object_unref0 (pixbuf);
@@ -177,9 +200,11 @@ static void _lambda0_ (gconstpointer k, gconstpointer v, DPAPViewer* self) {
 			g_clear_error (&_inner_error_);
 			return;
 		}
-		close (fd);
-		_tmp4_ = gdk_pixbuf_new_from_file (path, &_inner_error_);
-		_tmp5_ = _tmp4_;
+		_tmp10_ = fd;
+		close (_tmp10_);
+		_tmp11_ = path;
+		_tmp12_ = gdk_pixbuf_new_from_file (_tmp11_, &_inner_error_);
+		_tmp13_ = _tmp12_;
 		if (_inner_error_ != NULL) {
 			_g_free0 (path);
 			_g_object_unref0 (pixbuf);
@@ -188,31 +213,42 @@ static void _lambda0_ (gconstpointer k, gconstpointer v, DPAPViewer* self) {
 			return;
 		}
 		_g_object_unref0 (pixbuf);
-		pixbuf = _tmp5_;
-		g_unlink (path);
+		pixbuf = _tmp13_;
+		_tmp14_ = path;
+		g_unlink (_tmp14_);
 		_g_free0 (path);
 	}
-	gtk_list_store_append (self->priv->liststore, &_tmp6_);
-	iter = _tmp6_;
-	_tmp7_ = vala_dpap_record_get_filename (VALA_DPAP_RECORD (v));
-	gtk_list_store_set (self->priv->liststore, &iter, 0, pixbuf, 1, _tmp7_, -1);
+	_tmp15_ = self->priv->liststore;
+	gtk_list_store_append (_tmp15_, &_tmp16_);
+	iter = _tmp16_;
+	_tmp17_ = self->priv->liststore;
+	_tmp18_ = iter;
+	_tmp19_ = pixbuf;
+	_tmp20_ = v;
+	_tmp21_ = vala_dpap_record_get_filename (VALA_DPAP_RECORD (_tmp20_));
+	_tmp22_ = _tmp21_;
+	gtk_list_store_set (_tmp17_, &_tmp18_, 0, _tmp19_, 1, _tmp22_, -1);
 	_g_object_unref0 (pixbuf);
 }
 
 
-static void __lambda0__gh_func (gconstpointer key, gconstpointer value, gpointer self) {
-	_lambda0_ (key, value, self);
+static void ___lambda0__gh_func (gconstpointer key, gconstpointer value, gpointer self) {
+	__lambda0_ (self, key, value);
 }
 
 
 static gboolean dpap_viewer_connected_cb (DPAPViewer* self, DMAPConnection* connection, gboolean _result_, const gchar* reason) {
 	gboolean result = FALSE;
-	gint64 _tmp0_;
+	ValaDMAPDb* _tmp0_;
+	gint64 _tmp1_ = 0LL;
+	ValaDMAPDb* _tmp2_;
 	g_return_val_if_fail (self != NULL, FALSE);
 	g_return_val_if_fail (connection != NULL, FALSE);
-	_tmp0_ = dmap_db_count ((DMAPDb*) self->priv->db);
-	g_debug ("dpapview.vala:31: %lld entries\n", _tmp0_);
-	dmap_db_foreach ((DMAPDb*) self->priv->db, __lambda0__gh_func, self);
+	_tmp0_ = self->priv->db;
+	_tmp1_ = dmap_db_count ((DMAPDb*) _tmp0_);
+	g_debug ("dpapview.vala:31: %lld entries\n", _tmp1_);
+	_tmp2_ = self->priv->db;
+	dmap_db_foreach ((DMAPDb*) _tmp2_, ___lambda0__gh_func, self);
 	result = TRUE;
 	return result;
 }
@@ -226,12 +262,30 @@ static gboolean _dpap_viewer_connected_cb_dmap_connection_callback (DMAPConnecti
 
 
 static void dpap_viewer_service_added_cb (DPAPViewer* self, DMAPMdnsBrowserService* service) {
-	DPAPConnection* _tmp0_ = NULL;
+	DMAPMdnsBrowserService* _tmp0_;
+	const gchar* _tmp1_;
+	DMAPMdnsBrowserService* _tmp2_;
+	const gchar* _tmp3_;
+	DMAPMdnsBrowserService* _tmp4_;
+	guint _tmp5_;
+	ValaDMAPDb* _tmp6_;
+	ValaDPAPRecordFactory* _tmp7_;
+	DPAPConnection* _tmp8_;
+	DMAPConnection* _tmp9_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = dpap_connection_new (service->service_name, service->host, service->port, (DMAPDb*) self->priv->db, (DMAPRecordFactory*) self->priv->factory);
+	_tmp0_ = service;
+	_tmp1_ = _tmp0_->service_name;
+	_tmp2_ = service;
+	_tmp3_ = _tmp2_->host;
+	_tmp4_ = service;
+	_tmp5_ = _tmp4_->port;
+	_tmp6_ = self->priv->db;
+	_tmp7_ = self->priv->factory;
+	_tmp8_ = dpap_connection_new (_tmp1_, _tmp3_, _tmp5_, (DMAPDb*) _tmp6_, (DMAPRecordFactory*) _tmp7_);
 	_g_object_unref0 (self->priv->connection);
-	self->priv->connection = DMAP_CONNECTION (_tmp0_);
-	dmap_connection_connect (self->priv->connection, _dpap_viewer_connected_cb_dmap_connection_callback, self);
+	self->priv->connection = DMAP_CONNECTION (_tmp8_);
+	_tmp9_ = self->priv->connection;
+	dmap_connection_connect (_tmp9_, _dpap_viewer_connected_cb_dmap_connection_callback, self);
 }
 
 
@@ -247,51 +301,57 @@ static void _dpap_viewer_service_added_cb_dmap_mdns_browser_service_added (DMAPM
 
 DPAPViewer* dpap_viewer_construct (GType object_type, GtkBuilder* builder, GError** error) {
 	DPAPViewer* self = NULL;
-	GObject* _tmp0_ = NULL;
-	GObject* _tmp1_;
-	GtkWidget* _tmp2_;
+	GtkBuilder* _tmp0_;
+	GtkBuilder* _tmp1_;
+	GObject* _tmp2_ = NULL;
+	GtkWidget* _tmp3_;
 	GtkWidget* widget;
-	GObject* _tmp3_ = NULL;
-	GObject* _tmp4_;
-	GtkIconView* _tmp5_;
+	GtkBuilder* _tmp4_;
+	GObject* _tmp5_ = NULL;
+	GtkIconView* _tmp6_;
 	GtkIconView* iconview;
-	GObject* _tmp6_ = NULL;
-	GObject* _tmp7_;
-	GtkListStore* _tmp8_;
-	ValaDMAPDb* _tmp9_ = NULL;
-	ValaDPAPRecordFactory* _tmp10_ = NULL;
-	DMAPMdnsBrowser* _tmp11_ = NULL;
+	GtkBuilder* _tmp7_;
+	GObject* _tmp8_ = NULL;
+	GtkListStore* _tmp9_;
+	ValaDMAPDb* _tmp10_;
+	ValaDPAPRecordFactory* _tmp11_;
+	DMAPMdnsBrowser* _tmp12_;
+	DMAPMdnsBrowser* _tmp13_;
+	DMAPMdnsBrowser* _tmp14_;
 	GError * _inner_error_ = NULL;
 	g_return_val_if_fail (builder != NULL, NULL);
 	self = (DPAPViewer*) g_type_create_instance (object_type);
-	gtk_builder_connect_signals (builder, self);
-	_tmp0_ = gtk_builder_get_object (builder, "window");
-	_tmp1_ = _tmp0_;
-	_tmp2_ = _g_object_ref0 (GTK_IS_WIDGET (_tmp1_) ? ((GtkWidget*) _tmp1_) : NULL);
-	widget = _tmp2_;
-	_tmp3_ = gtk_builder_get_object (builder, "iconview");
-	_tmp4_ = _tmp3_;
-	_tmp5_ = _g_object_ref0 (GTK_IS_ICON_VIEW (_tmp4_) ? ((GtkIconView*) _tmp4_) : NULL);
-	iconview = _tmp5_;
-	_tmp6_ = gtk_builder_get_object (builder, "liststore");
-	_tmp7_ = _tmp6_;
-	_tmp8_ = _g_object_ref0 (GTK_IS_LIST_STORE (_tmp7_) ? ((GtkListStore*) _tmp7_) : NULL);
+	_tmp0_ = builder;
+	gtk_builder_connect_signals (_tmp0_, self);
+	_tmp1_ = builder;
+	_tmp2_ = gtk_builder_get_object (_tmp1_, "window");
+	_tmp3_ = _g_object_ref0 (GTK_IS_WIDGET (_tmp2_) ? ((GtkWidget*) _tmp2_) : NULL);
+	widget = _tmp3_;
+	_tmp4_ = builder;
+	_tmp5_ = gtk_builder_get_object (_tmp4_, "iconview");
+	_tmp6_ = _g_object_ref0 (GTK_IS_ICON_VIEW (_tmp5_) ? ((GtkIconView*) _tmp5_) : NULL);
+	iconview = _tmp6_;
+	_tmp7_ = builder;
+	_tmp8_ = gtk_builder_get_object (_tmp7_, "liststore");
+	_tmp9_ = _g_object_ref0 (GTK_IS_LIST_STORE (_tmp8_) ? ((GtkListStore*) _tmp8_) : NULL);
 	_g_object_unref0 (self->priv->liststore);
-	self->priv->liststore = _tmp8_;
-	_tmp9_ = vala_dmap_db_new ();
+	self->priv->liststore = _tmp9_;
+	_tmp10_ = vala_dmap_db_new ();
 	_g_object_unref0 (self->priv->db);
-	self->priv->db = _tmp9_;
-	_tmp10_ = vala_dpap_record_factory_new ();
+	self->priv->db = _tmp10_;
+	_tmp11_ = vala_dpap_record_factory_new ();
 	_g_object_unref0 (self->priv->factory);
-	self->priv->factory = _tmp10_;
+	self->priv->factory = _tmp11_;
 	gtk_icon_view_set_pixbuf_column (iconview, 0);
 	gtk_icon_view_set_text_column (iconview, 1);
 	gtk_widget_show_all (widget);
-	_tmp11_ = dmap_mdns_browser_new (DMAP_MDNS_BROWSER_SERVICE_TYPE_DPAP);
+	_tmp12_ = dmap_mdns_browser_new (DMAP_MDNS_BROWSER_SERVICE_TYPE_DPAP);
 	_g_object_unref0 (self->priv->browser);
-	self->priv->browser = _tmp11_;
-	g_signal_connect (self->priv->browser, "service-added", (GCallback) _dpap_viewer_service_added_cb_dmap_mdns_browser_service_added, self);
-	dmap_mdns_browser_start (self->priv->browser, &_inner_error_);
+	self->priv->browser = _tmp12_;
+	_tmp13_ = self->priv->browser;
+	g_signal_connect (_tmp13_, "service-added", (GCallback) _dpap_viewer_service_added_cb_dmap_mdns_browser_service_added, self);
+	_tmp14_ = self->priv->browser;
+	dmap_mdns_browser_start (_tmp14_, &_inner_error_);
 	if (_inner_error_ != NULL) {
 		g_propagate_error (error, _inner_error_);
 		_g_object_unref0 (iconview);
@@ -478,35 +538,47 @@ void dpap_viewer_unref (gpointer instance) {
 
 gint _vala_main (gchar** args, int args_length1) {
 	gint result = 0;
-	GtkBuilder* _tmp0_ = NULL;
-	GtkBuilder* builder;
-	DPAPViewer* _tmp1_ = NULL;
-	DPAPViewer* dpapviewer;
 	GError * _inner_error_ = NULL;
 	gtk_init (&args_length1, &args);
-	_tmp0_ = gtk_builder_new ();
-	builder = _tmp0_;
-	gtk_builder_add_from_file (builder, "tests/dpapview.ui", &_inner_error_);
-	if (_inner_error_ != NULL) {
-		_g_object_unref0 (builder);
-		goto __catch0_g_error;
-	}
-	_tmp1_ = dpap_viewer_new (builder, &_inner_error_);
-	dpapviewer = _tmp1_;
-	if (_inner_error_ != NULL) {
+	{
+		GtkBuilder* _tmp0_;
+		GtkBuilder* builder;
+		GtkBuilder* _tmp1_;
+		GtkBuilder* _tmp2_;
+		DPAPViewer* _tmp3_;
+		DPAPViewer* dpapviewer;
+		_tmp0_ = gtk_builder_new ();
+		builder = _tmp0_;
+		_tmp1_ = builder;
+		gtk_builder_add_from_file (_tmp1_, "tests/dpapview.ui", &_inner_error_);
+		if (_inner_error_ != NULL) {
+			_g_object_unref0 (builder);
+			goto __catch0_g_error;
+		}
+		_tmp2_ = builder;
+		_tmp3_ = dpap_viewer_new (_tmp2_, &_inner_error_);
+		dpapviewer = _tmp3_;
+		if (_inner_error_ != NULL) {
+			_g_object_unref0 (builder);
+			goto __catch0_g_error;
+		}
+		gtk_main ();
+		_dpap_viewer_unref0 (dpapviewer);
 		_g_object_unref0 (builder);
-		goto __catch0_g_error;
 	}
-	gtk_main ();
-	_dpap_viewer_unref0 (dpapviewer);
-	_g_object_unref0 (builder);
 	goto __finally0;
 	__catch0_g_error:
 	{
-		GError * e;
+		GError* e = NULL;
+		FILE* _tmp4_;
+		GError* _tmp5_;
+		const gchar* _tmp6_;
 		e = _inner_error_;
 		_inner_error_ = NULL;
-		fprintf (stderr, "Error: %s\n", e->message);
+		_tmp4_ = stderr;
+		_tmp5_ = e;
+		_tmp6_ = _tmp5_->message;
+		fprintf (_tmp4_, "Error: %s\n", _tmp6_);
 		result = 1;
 		_g_error_free0 (e);
 		return result;
diff --git a/tests/vala-dmap-container-db.c b/tests/vala-dmap-container-db.c
index 0167a40..53411b6 100644
--- a/tests/vala-dmap-container-db.c
+++ b/tests/vala-dmap-container-db.c
@@ -1,4 +1,4 @@
-/* vala-dmap-container-db.c generated by valac 0.12.0, the Vala compiler
+/* vala-dmap-container-db.c generated by valac 0.14.2, the Vala compiler
  * generated from vala-dmap-container-db.vala, do not modify */
 
 /*   FILE: vala-dmap-db.vala -- A DMAPContainerDb implementation in Vala
@@ -75,10 +75,14 @@ static void vala_dmap_container_db_finalize (GObject* obj);
 static gint64 vala_dmap_container_db_real_count (DMAPContainerDb* base) {
 	ValaDMAPContainerDb * self;
 	gint64 result = 0LL;
-	gint _tmp0_;
+	GeeArrayList* _tmp0_;
+	gint _tmp1_;
+	gint _tmp2_;
 	self = (ValaDMAPContainerDb*) base;
-	_tmp0_ = gee_collection_get_size ((GeeCollection*) self->priv->db);
-	result = (gint64) _tmp0_;
+	_tmp0_ = self->priv->db;
+	_tmp1_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp0_);
+	_tmp2_ = _tmp1_;
+	result = (gint64) _tmp2_;
 	return result;
 }
 
@@ -92,20 +96,40 @@ static void vala_dmap_container_db_real_foreach (DMAPContainerDb* base, GHFunc f
 		i = 0;
 		_tmp0_ = TRUE;
 		while (TRUE) {
-			gint _tmp1_;
-			void* _tmp2_ = NULL;
-			gpointer _tmp3_ = NULL;
-			if (!_tmp0_) {
-				i++;
+			gboolean _tmp1_;
+			gint _tmp3_;
+			GeeArrayList* _tmp4_;
+			gint _tmp5_;
+			gint _tmp6_;
+			GHFunc _tmp7_;
+			void* _tmp7__target;
+			gint _tmp8_;
+			void* _tmp9_ = NULL;
+			GeeArrayList* _tmp10_;
+			gint _tmp11_;
+			gpointer _tmp12_ = NULL;
+			_tmp1_ = _tmp0_;
+			if (!_tmp1_) {
+				gint _tmp2_;
+				_tmp2_ = i;
+				i = _tmp2_ + 1;
 			}
 			_tmp0_ = FALSE;
-			_tmp1_ = gee_collection_get_size ((GeeCollection*) self->priv->db);
-			if (!(i < _tmp1_)) {
+			_tmp3_ = i;
+			_tmp4_ = self->priv->db;
+			_tmp5_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp4_);
+			_tmp6_ = _tmp5_;
+			if (!(_tmp3_ < _tmp6_)) {
 				break;
 			}
-			_tmp2_ = GINT_TO_POINTER (i);
-			_tmp3_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->db, i);
-			func (_tmp2_, (DMAPRecord*) _tmp3_, func_target);
+			_tmp7_ = func;
+			_tmp7__target = func_target;
+			_tmp8_ = i;
+			_tmp9_ = GINT_TO_POINTER (_tmp8_);
+			_tmp10_ = self->priv->db;
+			_tmp11_ = i;
+			_tmp12_ = gee_abstract_list_get ((GeeAbstractList*) _tmp10_, _tmp11_);
+			_tmp7_ (_tmp9_, (DMAPRecord*) _tmp12_, _tmp7__target);
 		}
 	}
 }
@@ -150,14 +174,14 @@ static void vala_dmap_container_db_class_init (ValaDMAPContainerDbClass * klass)
 static void vala_dmap_container_db_dmap_container_db_interface_init (DMAPContainerDbIface * iface) {
 	vala_dmap_container_db_dmap_container_db_parent_iface = g_type_interface_peek_parent (iface);
 	iface->count = (gint64 (*)(DMAPContainerDb*)) vala_dmap_container_db_real_count;
-	iface->foreach = (void (*)(DMAPContainerDb* ,GHFunc ,void*)) vala_dmap_container_db_real_foreach;
-	iface->lookup_by_id = (DMAPContainerRecord* (*)(DMAPContainerDb* ,guint)) vala_dmap_container_db_real_lookup_by_id;
-	iface->add = (void (*)(DMAPContainerDb* ,DMAPContainerRecord*)) vala_dmap_container_db_real_add;
+	iface->foreach = (void (*)(DMAPContainerDb*, GHFunc, void*)) vala_dmap_container_db_real_foreach;
+	iface->lookup_by_id = (DMAPContainerRecord* (*)(DMAPContainerDb*, guint)) vala_dmap_container_db_real_lookup_by_id;
+	iface->add = (void (*)(DMAPContainerDb*, DMAPContainerRecord*)) vala_dmap_container_db_real_add;
 }
 
 
 static void vala_dmap_container_db_instance_init (ValaDMAPContainerDb * self) {
-	GeeArrayList* _tmp0_ = NULL;
+	GeeArrayList* _tmp0_;
 	self->priv = VALA_DMAP_CONTAINER_DB_GET_PRIVATE (self);
 	_tmp0_ = gee_array_list_new (DMAP_TYPE_RECORD, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
 	self->priv->db = _tmp0_;
diff --git a/tests/vala-dmap-db.c b/tests/vala-dmap-db.c
index 879e8eb..84e412f 100644
--- a/tests/vala-dmap-db.c
+++ b/tests/vala-dmap-db.c
@@ -1,4 +1,4 @@
-/* vala-dmap-db.c generated by valac 0.12.0, the Vala compiler
+/* vala-dmap-db.c generated by valac 0.14.2, the Vala compiler
  * generated from vala-dmap-db.vala, do not modify */
 
 /*   FILE: vala-dmap-db.vala -- A DMAPDb implementation in Vala
@@ -80,13 +80,20 @@ static void vala_dmap_db_finalize (GObject* obj);
 static guint vala_dmap_db_real_add (DMAPDb* base, DMAPRecord* record) {
 	ValaDMAPDb * self;
 	guint result = 0U;
-	gint _tmp0_;
+	GeeArrayList* _tmp0_;
+	DMAPRecord* _tmp1_;
+	GeeArrayList* _tmp2_;
+	gint _tmp3_;
+	gint _tmp4_;
 	self = (ValaDMAPDb*) base;
 	g_return_val_if_fail (record != NULL, 0U);
-	gee_abstract_collection_add ((GeeAbstractCollection*) self->priv->db, DMAP_RECORD (record));
-	gee_abstract_collection_add ((GeeAbstractCollection*) self->priv->db, DMAP_RECORD (record));
-	_tmp0_ = gee_collection_get_size ((GeeCollection*) self->priv->db);
-	result = (guint) _tmp0_;
+	_tmp0_ = self->priv->db;
+	_tmp1_ = record;
+	gee_abstract_collection_add ((GeeAbstractCollection*) _tmp0_, DMAP_RECORD (_tmp1_));
+	_tmp2_ = self->priv->db;
+	_tmp3_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp2_);
+	_tmp4_ = _tmp3_;
+	result = (guint) _tmp4_;
 	return result;
 }
 
@@ -96,7 +103,7 @@ static guint vala_dmap_db_real_add_path (DMAPDb* base, const gchar* path) {
 	guint result = 0U;
 	self = (ValaDMAPDb*) base;
 	g_return_val_if_fail (path != NULL, 0U);
-	g_error ("vala-dmap-db.vala:36: add_path not implemented");
+	g_error ("vala-dmap-db.vala:35: add_path not implemented");
 	return result;
 }
 
@@ -106,7 +113,7 @@ static guint vala_dmap_db_real_add_with_id (DMAPDb* base, DMAPRecord* record, gu
 	guint result = 0U;
 	self = (ValaDMAPDb*) base;
 	g_return_val_if_fail (record != NULL, 0U);
-	g_error ("vala-dmap-db.vala:40: add_with_id not implemented");
+	g_error ("vala-dmap-db.vala:39: add_with_id not implemented");
 	return result;
 }
 
@@ -114,10 +121,14 @@ static guint vala_dmap_db_real_add_with_id (DMAPDb* base, DMAPRecord* record, gu
 static gint64 vala_dmap_db_real_count (DMAPDb* base) {
 	ValaDMAPDb * self;
 	gint64 result = 0LL;
-	gint _tmp0_;
+	GeeArrayList* _tmp0_;
+	gint _tmp1_;
+	gint _tmp2_;
 	self = (ValaDMAPDb*) base;
-	_tmp0_ = gee_collection_get_size ((GeeCollection*) self->priv->db);
-	result = (gint64) _tmp0_;
+	_tmp0_ = self->priv->db;
+	_tmp1_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp0_);
+	_tmp2_ = _tmp1_;
+	result = (gint64) _tmp2_;
 	return result;
 }
 
@@ -131,20 +142,40 @@ static void vala_dmap_db_real_foreach (DMAPDb* base, GHFunc func, void* func_tar
 		i = 0;
 		_tmp0_ = TRUE;
 		while (TRUE) {
-			gint _tmp1_;
-			void* _tmp2_ = NULL;
-			gpointer _tmp3_ = NULL;
-			if (!_tmp0_) {
-				i++;
+			gboolean _tmp1_;
+			gint _tmp3_;
+			GeeArrayList* _tmp4_;
+			gint _tmp5_;
+			gint _tmp6_;
+			GHFunc _tmp7_;
+			void* _tmp7__target;
+			gint _tmp8_;
+			void* _tmp9_ = NULL;
+			GeeArrayList* _tmp10_;
+			gint _tmp11_;
+			gpointer _tmp12_ = NULL;
+			_tmp1_ = _tmp0_;
+			if (!_tmp1_) {
+				gint _tmp2_;
+				_tmp2_ = i;
+				i = _tmp2_ + 1;
 			}
 			_tmp0_ = FALSE;
-			_tmp1_ = gee_collection_get_size ((GeeCollection*) self->priv->db);
-			if (!(i < _tmp1_)) {
+			_tmp3_ = i;
+			_tmp4_ = self->priv->db;
+			_tmp5_ = gee_abstract_collection_get_size ((GeeCollection*) _tmp4_);
+			_tmp6_ = _tmp5_;
+			if (!(_tmp3_ < _tmp6_)) {
 				break;
 			}
-			_tmp2_ = GINT_TO_POINTER (i + 1);
-			_tmp3_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->db, i);
-			func (_tmp2_, (DMAPRecord*) _tmp3_, func_target);
+			_tmp7_ = func;
+			_tmp7__target = func_target;
+			_tmp8_ = i;
+			_tmp9_ = GINT_TO_POINTER (_tmp8_ + 1);
+			_tmp10_ = self->priv->db;
+			_tmp11_ = i;
+			_tmp12_ = gee_abstract_list_get ((GeeAbstractList*) _tmp10_, _tmp11_);
+			_tmp7_ (_tmp9_, (DMAPRecord*) _tmp12_, _tmp7__target);
 		}
 	}
 }
@@ -153,10 +184,14 @@ static void vala_dmap_db_real_foreach (DMAPDb* base, GHFunc func, void* func_tar
 static DMAPRecord* vala_dmap_db_real_lookup_by_id (DMAPDb* base, guint id) {
 	ValaDMAPDb * self;
 	DMAPRecord* result = NULL;
-	gpointer _tmp0_ = NULL;
+	GeeArrayList* _tmp0_;
+	guint _tmp1_;
+	gpointer _tmp2_ = NULL;
 	self = (ValaDMAPDb*) base;
-	_tmp0_ = gee_abstract_list_get ((GeeAbstractList*) self->priv->db, ((gint) id) - 1);
-	result = (DMAPRecord*) _tmp0_;
+	_tmp0_ = self->priv->db;
+	_tmp1_ = id;
+	_tmp2_ = gee_abstract_list_get ((GeeAbstractList*) _tmp0_, ((gint) _tmp1_) - 1);
+	result = (DMAPRecord*) _tmp2_;
 	return result;
 }
 
@@ -166,7 +201,7 @@ static guint vala_dmap_db_real_lookup_id_by_location (DMAPDb* base, const gchar*
 	guint result = 0U;
 	self = (ValaDMAPDb*) base;
 	g_return_val_if_fail (location != NULL, 0U);
-	g_error ("vala-dmap-db.vala:64: lookup_id_by_location not implemented");
+	g_error ("vala-dmap-db.vala:63: lookup_id_by_location not implemented");
 	return result;
 }
 
@@ -192,18 +227,18 @@ static void vala_dmap_db_class_init (ValaDMAPDbClass * klass) {
 
 static void vala_dmap_db_dmap_db_interface_init (DMAPDbIface * iface) {
 	vala_dmap_db_dmap_db_parent_iface = g_type_interface_peek_parent (iface);
-	iface->add = (guint (*)(DMAPDb* ,DMAPRecord*)) vala_dmap_db_real_add;
-	iface->add_path = (guint (*)(DMAPDb* ,const gchar*)) vala_dmap_db_real_add_path;
-	iface->add_with_id = (guint (*)(DMAPDb* ,DMAPRecord* ,guint)) vala_dmap_db_real_add_with_id;
+	iface->add = (guint (*)(DMAPDb*, DMAPRecord*)) vala_dmap_db_real_add;
+	iface->add_path = (guint (*)(DMAPDb*, const gchar*)) vala_dmap_db_real_add_path;
+	iface->add_with_id = (guint (*)(DMAPDb*, DMAPRecord*, guint)) vala_dmap_db_real_add_with_id;
 	iface->count = (gint64 (*)(DMAPDb*)) vala_dmap_db_real_count;
-	iface->foreach = (void (*)(DMAPDb* ,GHFunc ,void*)) vala_dmap_db_real_foreach;
-	iface->lookup_by_id = (DMAPRecord* (*)(DMAPDb* ,guint)) vala_dmap_db_real_lookup_by_id;
-	iface->lookup_id_by_location = (guint (*)(DMAPDb* ,const gchar*)) vala_dmap_db_real_lookup_id_by_location;
+	iface->foreach = (void (*)(DMAPDb*, GHFunc, void*)) vala_dmap_db_real_foreach;
+	iface->lookup_by_id = (DMAPRecord* (*)(DMAPDb*, guint)) vala_dmap_db_real_lookup_by_id;
+	iface->lookup_id_by_location = (guint (*)(DMAPDb*, const gchar*)) vala_dmap_db_real_lookup_id_by_location;
 }
 
 
 static void vala_dmap_db_instance_init (ValaDMAPDb * self) {
-	GeeArrayList* _tmp0_ = NULL;
+	GeeArrayList* _tmp0_;
 	self->priv = VALA_DMAP_DB_GET_PRIVATE (self);
 	_tmp0_ = gee_array_list_new (DMAP_TYPE_RECORD, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
 	self->priv->db = _tmp0_;
diff --git a/tests/vala-dpap-record.c b/tests/vala-dpap-record.c
index 4b44a43..69b9263 100644
--- a/tests/vala-dpap-record.c
+++ b/tests/vala-dpap-record.c
@@ -1,4 +1,4 @@
-/* vala-dpap-record.c generated by valac 0.12.0, the Vala compiler
+/* vala-dpap-record.c generated by valac 0.14.2, the Vala compiler
  * generated from vala-dpap-record.vala, do not modify */
 
 /*   FILE: vala-dpap-record.vala -- A DPAPRecord implementation in Vala
@@ -186,20 +186,22 @@ ValaDPAPRecord* vala_dpap_record_construct (GType object_type) {
 	gchar* _tmp3_;
 	gchar* _tmp4_;
 	gchar* _tmp5_;
-	gchar* _tmp6_ = NULL;
-	gchar* _tmp7_;
+	const gchar* _tmp6_;
+	gchar* _tmp7_ = NULL;
 	gchar* _tmp8_;
-	gchar* _tmp9_ = NULL;
-	gchar* _tmp10_;
+	gchar* _tmp9_;
+	gchar* _tmp10_ = NULL;
 	gchar* _tmp11_;
 	gchar* _tmp12_;
+	gchar* _tmp13_;
 	gchar* path;
 	guint8* data = NULL;
 	gint data_length1 = 0;
 	gint _data_size_ = 0;
-	guint8* _tmp13_ = NULL;
-	size_t _tmp14_;
-	GByteArray* _tmp15_ = NULL;
+	guint8* _tmp14_ = NULL;
+	size_t _tmp15_;
+	GByteArray* _tmp16_;
+	GByteArray* _tmp17_;
 	GError * _inner_error_ = NULL;
 	self = (ValaDPAPRecord*) g_object_new (object_type, NULL);
 	_tmp0_ = g_get_current_dir ();
@@ -214,30 +216,32 @@ ValaDPAPRecord* vala_dpap_record_construct (GType object_type) {
 	_tmp5_ = g_strdup ("1.333");
 	_g_free0 (self->priv->_aspect_ratio);
 	self->priv->_aspect_ratio = _tmp5_;
-	_tmp6_ = g_path_get_basename (self->priv->_location);
+	_tmp6_ = self->priv->_location;
+	_tmp7_ = g_path_get_basename (_tmp6_);
 	_g_free0 (self->priv->_filename);
-	self->priv->_filename = _tmp6_;
-	_tmp7_ = g_strdup ("JPEG");
+	self->priv->_filename = _tmp7_;
+	_tmp8_ = g_strdup ("JPEG");
 	_g_free0 (self->priv->_format);
-	self->priv->_format = _tmp7_;
-	_tmp8_ = g_strdup ("Comments");
+	self->priv->_format = _tmp8_;
+	_tmp9_ = g_strdup ("Comments");
 	_g_free0 (self->priv->_comments);
-	self->priv->_comments = _tmp8_;
+	self->priv->_comments = _tmp9_;
 	self->priv->_large_filesize = 13953;
 	self->priv->_pixel_height = 480;
 	self->priv->_pixel_width = 640;
 	self->priv->_rating = 5;
 	self->priv->_creation_date = 0;
-	_tmp9_ = g_get_current_dir ();
-	_tmp10_ = _tmp9_;
-	_tmp11_ = g_strconcat (_tmp10_, "/media/test.jpeg", NULL);
-	_tmp12_ = _tmp11_;
-	_g_free0 (_tmp10_);
-	path = _tmp12_;
-	g_file_get_contents (path, (gchar**) (&_tmp13_), &_tmp14_, &_inner_error_);
+	_tmp10_ = g_get_current_dir ();
+	_tmp11_ = _tmp10_;
+	_tmp12_ = g_strconcat (_tmp11_, "/media/test.jpeg", NULL);
+	_tmp13_ = _tmp12_;
+	_g_free0 (_tmp11_);
+	path = _tmp13_;
+	g_file_get_contents (path, (gchar**) (&_tmp14_), &_tmp15_, &_inner_error_);
 	data = (g_free (data), NULL);
-	data = _tmp13_;
-	data_length1 = _tmp14_;
+	data = _tmp14_;
+	data_length1 = _tmp15_;
+	_data_size_ = data_length1;
 	if (_inner_error_ != NULL) {
 		data = (g_free (data), NULL);
 		_g_free0 (path);
@@ -245,10 +249,11 @@ ValaDPAPRecord* vala_dpap_record_construct (GType object_type) {
 		g_clear_error (&_inner_error_);
 		return NULL;
 	}
-	_tmp15_ = g_byte_array_new ();
+	_tmp16_ = g_byte_array_new ();
 	_g_byte_array_free0 (self->priv->_thumbnail);
-	self->priv->_thumbnail = _tmp15_;
-	g_byte_array_append (self->priv->_thumbnail, data, data_length1);
+	self->priv->_thumbnail = _tmp16_;
+	_tmp17_ = self->priv->_thumbnail;
+	g_byte_array_append (_tmp17_, data, data_length1);
 	data = (g_free (data), NULL);
 	_g_free0 (path);
 	return self;
@@ -262,184 +267,234 @@ ValaDPAPRecord* vala_dpap_record_new (void) {
 
 const gchar* vala_dpap_record_get_location (ValaDPAPRecord* self) {
 	const gchar* result;
+	const gchar* _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	result = self->priv->_location;
+	_tmp0_ = self->priv->_location;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_location (ValaDPAPRecord* self, const gchar* value) {
-	gchar* _tmp0_;
+	const gchar* _tmp0_;
+	gchar* _tmp1_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = g_strdup (value);
+	_tmp0_ = value;
+	_tmp1_ = g_strdup (_tmp0_);
 	_g_free0 (self->priv->_location);
-	self->priv->_location = _tmp0_;
+	self->priv->_location = _tmp1_;
 	g_object_notify ((GObject *) self, "location");
 }
 
 
 const gchar* vala_dpap_record_get_filename (ValaDPAPRecord* self) {
 	const gchar* result;
+	const gchar* _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	result = self->priv->_filename;
+	_tmp0_ = self->priv->_filename;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_filename (ValaDPAPRecord* self, const gchar* value) {
-	gchar* _tmp0_;
+	const gchar* _tmp0_;
+	gchar* _tmp1_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = g_strdup (value);
+	_tmp0_ = value;
+	_tmp1_ = g_strdup (_tmp0_);
 	_g_free0 (self->priv->_filename);
-	self->priv->_filename = _tmp0_;
+	self->priv->_filename = _tmp1_;
 	g_object_notify ((GObject *) self, "filename");
 }
 
 
 const gchar* vala_dpap_record_get_aspect_ratio (ValaDPAPRecord* self) {
 	const gchar* result;
+	const gchar* _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	result = self->priv->_aspect_ratio;
+	_tmp0_ = self->priv->_aspect_ratio;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_aspect_ratio (ValaDPAPRecord* self, const gchar* value) {
-	gchar* _tmp0_;
+	const gchar* _tmp0_;
+	gchar* _tmp1_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = g_strdup (value);
+	_tmp0_ = value;
+	_tmp1_ = g_strdup (_tmp0_);
 	_g_free0 (self->priv->_aspect_ratio);
-	self->priv->_aspect_ratio = _tmp0_;
+	self->priv->_aspect_ratio = _tmp1_;
 	g_object_notify ((GObject *) self, "aspect-ratio");
 }
 
 
 const gchar* vala_dpap_record_get_format (ValaDPAPRecord* self) {
 	const gchar* result;
+	const gchar* _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	result = self->priv->_format;
+	_tmp0_ = self->priv->_format;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_format (ValaDPAPRecord* self, const gchar* value) {
-	gchar* _tmp0_;
+	const gchar* _tmp0_;
+	gchar* _tmp1_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = g_strdup (value);
+	_tmp0_ = value;
+	_tmp1_ = g_strdup (_tmp0_);
 	_g_free0 (self->priv->_format);
-	self->priv->_format = _tmp0_;
+	self->priv->_format = _tmp1_;
 	g_object_notify ((GObject *) self, "format");
 }
 
 
 GByteArray* vala_dpap_record_get_thumbnail (ValaDPAPRecord* self) {
 	GByteArray* result;
+	GByteArray* _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	result = self->priv->_thumbnail;
+	_tmp0_ = self->priv->_thumbnail;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_thumbnail (ValaDPAPRecord* self, GByteArray* value) {
-	GByteArray* _tmp0_ = NULL;
+	GByteArray* _tmp0_;
+	GByteArray* _tmp1_;
+	GByteArray* _tmp2_;
+	guint8* _tmp3_;
+	gint _tmp3__length1;
 	g_return_if_fail (self != NULL);
 	_tmp0_ = g_byte_array_new ();
 	_g_byte_array_free0 (self->priv->_thumbnail);
 	self->priv->_thumbnail = _tmp0_;
-	g_byte_array_append (self->priv->_thumbnail, value->data, (gint) value->len);
+	_tmp1_ = self->priv->_thumbnail;
+	_tmp2_ = value;
+	_tmp3_ = _tmp2_->data;
+	_tmp3__length1 = (gint) _tmp2_->len;
+	g_byte_array_append (_tmp1_, _tmp3_, _tmp3__length1);
 	g_object_notify ((GObject *) self, "thumbnail");
 }
 
 
 const gchar* vala_dpap_record_get_comments (ValaDPAPRecord* self) {
 	const gchar* result;
+	const gchar* _tmp0_;
 	g_return_val_if_fail (self != NULL, NULL);
-	result = self->priv->_comments;
+	_tmp0_ = self->priv->_comments;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_comments (ValaDPAPRecord* self, const gchar* value) {
-	gchar* _tmp0_;
+	const gchar* _tmp0_;
+	gchar* _tmp1_;
 	g_return_if_fail (self != NULL);
-	_tmp0_ = g_strdup (value);
+	_tmp0_ = value;
+	_tmp1_ = g_strdup (_tmp0_);
 	_g_free0 (self->priv->_comments);
-	self->priv->_comments = _tmp0_;
+	self->priv->_comments = _tmp1_;
 	g_object_notify ((GObject *) self, "comments");
 }
 
 
 gint vala_dpap_record_get_large_filesize (ValaDPAPRecord* self) {
 	gint result;
+	gint _tmp0_;
 	g_return_val_if_fail (self != NULL, 0);
-	result = self->priv->_large_filesize;
+	_tmp0_ = self->priv->_large_filesize;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_large_filesize (ValaDPAPRecord* self, gint value) {
+	gint _tmp0_;
 	g_return_if_fail (self != NULL);
-	self->priv->_large_filesize = value;
+	_tmp0_ = value;
+	self->priv->_large_filesize = _tmp0_;
 	g_object_notify ((GObject *) self, "large-filesize");
 }
 
 
 gint vala_dpap_record_get_pixel_height (ValaDPAPRecord* self) {
 	gint result;
+	gint _tmp0_;
 	g_return_val_if_fail (self != NULL, 0);
-	result = self->priv->_pixel_height;
+	_tmp0_ = self->priv->_pixel_height;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_pixel_height (ValaDPAPRecord* self, gint value) {
+	gint _tmp0_;
 	g_return_if_fail (self != NULL);
-	self->priv->_pixel_height = value;
+	_tmp0_ = value;
+	self->priv->_pixel_height = _tmp0_;
 	g_object_notify ((GObject *) self, "pixel-height");
 }
 
 
 gint vala_dpap_record_get_pixel_width (ValaDPAPRecord* self) {
 	gint result;
+	gint _tmp0_;
 	g_return_val_if_fail (self != NULL, 0);
-	result = self->priv->_pixel_width;
+	_tmp0_ = self->priv->_pixel_width;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_pixel_width (ValaDPAPRecord* self, gint value) {
+	gint _tmp0_;
 	g_return_if_fail (self != NULL);
-	self->priv->_pixel_width = value;
+	_tmp0_ = value;
+	self->priv->_pixel_width = _tmp0_;
 	g_object_notify ((GObject *) self, "pixel-width");
 }
 
 
 gint vala_dpap_record_get_rating (ValaDPAPRecord* self) {
 	gint result;
+	gint _tmp0_;
 	g_return_val_if_fail (self != NULL, 0);
-	result = self->priv->_rating;
+	_tmp0_ = self->priv->_rating;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_rating (ValaDPAPRecord* self, gint value) {
+	gint _tmp0_;
 	g_return_if_fail (self != NULL);
-	self->priv->_rating = value;
+	_tmp0_ = value;
+	self->priv->_rating = _tmp0_;
 	g_object_notify ((GObject *) self, "rating");
 }
 
 
 gint vala_dpap_record_get_creation_date (ValaDPAPRecord* self) {
 	gint result;
+	gint _tmp0_;
 	g_return_val_if_fail (self != NULL, 0);
-	result = self->priv->_creation_date;
+	_tmp0_ = self->priv->_creation_date;
+	result = _tmp0_;
 	return result;
 }
 
 
 void vala_dpap_record_set_creation_date (ValaDPAPRecord* self, gint value) {
+	gint _tmp0_;
 	g_return_if_fail (self != NULL);
-	self->priv->_creation_date = value;
+	_tmp0_ = value;
+	self->priv->_creation_date = _tmp0_;
 	g_object_notify ((GObject *) self, "creation-date");
 }
 
@@ -466,14 +521,14 @@ static void vala_dpap_record_class_init (ValaDPAPRecordClass * klass) {
 
 static void vala_dpap_record_dmap_record_interface_init (DMAPRecordIface * iface) {
 	vala_dpap_record_dmap_record_parent_iface = g_type_interface_peek_parent (iface);
-	iface->set_from_blob = (DMAPRecord* (*)(DMAPRecord* ,GByteArray*)) vala_dpap_record_real_set_from_blob;
+	iface->set_from_blob = (DMAPRecord* (*)(DMAPRecord*, GByteArray*)) vala_dpap_record_real_set_from_blob;
 	iface->to_blob = (GByteArray* (*)(DMAPRecord*)) vala_dpap_record_real_to_blob;
 }
 
 
 static void vala_dpap_record_dpap_record_interface_init (DPAPRecordIface * iface) {
 	vala_dpap_record_dpap_record_parent_iface = g_type_interface_peek_parent (iface);
-	iface->read = (GInputStream* (*)(DPAPRecord* ,GError**)) vala_dpap_record_real_read;
+	iface->read = (GInputStream* (*)(DPAPRecord*, GError**)) vala_dpap_record_real_read;
 }
 
 
@@ -602,7 +657,7 @@ static void _vala_vala_dpap_record_set_property (GObject * object, guint propert
 static DMAPRecord* vala_dpap_record_factory_real_create (DMAPRecordFactory* base, void* user_data) {
 	ValaDPAPRecordFactory * self;
 	DMAPRecord* result = NULL;
-	ValaDPAPRecord* _tmp0_ = NULL;
+	ValaDPAPRecord* _tmp0_;
 	self = (ValaDPAPRecordFactory*) base;
 	_tmp0_ = vala_dpap_record_new ();
 	result = (DMAPRecord*) _tmp0_;
@@ -629,7 +684,7 @@ static void vala_dpap_record_factory_class_init (ValaDPAPRecordFactoryClass * kl
 
 static void vala_dpap_record_factory_dmap_record_factory_interface_init (DMAPRecordFactoryIface * iface) {
 	vala_dpap_record_factory_dmap_record_factory_parent_iface = g_type_interface_peek_parent (iface);
-	iface->create = (DMAPRecord* (*)(DMAPRecordFactory* ,void*)) vala_dpap_record_factory_real_create;
+	iface->create = (DMAPRecord* (*)(DMAPRecordFactory*, void*)) vala_dpap_record_factory_real_create;
 }
 
 
diff --git a/vala/Makefile.am b/vala/Makefile.am
index b3d6759..a6645fa 100644
--- a/vala/Makefile.am
+++ b/vala/Makefile.am
@@ -1,27 +1,31 @@
 if MAINTAINER_MODE
-libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.gi: libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.files libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.namespace
-	PKG_CONFIG_PATH=$(top_builddir):${PKG_CONFIG_PATH} $(VALA_GEN_INTROSPECT) libdmapsharing- API_VERSION@ libdmapsharing- API_VERSION@-daap
+libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.gi: libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@-uninstalled.files libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@-uninstalled.namespace
+	PKG_CONFIG_PATH=$(top_builddir):${PKG_CONFIG_PATH} $(VALA_GEN_INTROSPECT) libdmapsharing- API_VERSION@-uninstalled libdmapsharing- API_VERSION@-daap
+	@mv libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@-uninstalled.gi libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.gi
 
-libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.gi: libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.files libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.namespace
-	PKG_CONFIG_PATH=$(top_builddir):${PKG_CONFIG_PATH} $(VALA_GEN_INTROSPECT) libdmapsharing- API_VERSION@ libdmapsharing- API_VERSION@-dacp
+libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.gi: libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@-uninstalled.files libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@-uninstalled.namespace
+	PKG_CONFIG_PATH=$(top_builddir):${PKG_CONFIG_PATH} $(VALA_GEN_INTROSPECT) libdmapsharing- API_VERSION@-uninstalled libdmapsharing- API_VERSION@-dacp
+	@mv libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@-uninstalled.gi libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.gi
 
-libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.gi: libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.files libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.namespace
-	PKG_CONFIG_PATH=$(top_builddir):${PKG_CONFIG_PATH} $(VALA_GEN_INTROSPECT) libdmapsharing- API_VERSION@ libdmapsharing- API_VERSION@-dmap
+libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.gi: libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@-uninstalled.files libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@-uninstalled.namespace
+	PKG_CONFIG_PATH=$(top_builddir):${PKG_CONFIG_PATH} $(VALA_GEN_INTROSPECT) libdmapsharing- API_VERSION@-uninstalled libdmapsharing- API_VERSION@-dmap
+	@mv libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@-uninstalled.gi libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.gi
 
-libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.gi: libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.files libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.namespace
-	PKG_CONFIG_PATH=$(top_builddir):${PKG_CONFIG_PATH} $(VALA_GEN_INTROSPECT) libdmapsharing- API_VERSION@ libdmapsharing- API_VERSION@-dpap
+libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.gi: libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@-uninstalled.files libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@-uninstalled.namespace
+	PKG_CONFIG_PATH=$(top_builddir):${PKG_CONFIG_PATH} $(VALA_GEN_INTROSPECT) libdmapsharing- API_VERSION@-uninstalled libdmapsharing- API_VERSION@-dpap
+	@mv libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@-uninstalled.gi libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.gi
 
 libdmapsharing- API_VERSION@-daap.vapi: libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.gi libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.metadata
-	$(VAPIGEN) --pkg=libsoup-2.4 --pkg=glib-2.0 --pkg=gio-2.0 --pkg=gstreamer-0.10 --library libdmapsharing- API_VERSION@-daap libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.gi
+	$(VAPIGEN) --pkg=avahi-gobject --pkg=libsoup-2.4 --pkg=glib-2.0 --pkg=gio-2.0 --pkg=gstreamer-0.10 --library libdmapsharing- API_VERSION@-daap libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.gi
 
 libdmapsharing- API_VERSION@-dacp.vapi: libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.gi libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.metadata
-	$(VAPIGEN) --pkg=libsoup-2.4 --pkg=glib-2.0 --pkg=gio-2.0 --pkg=gstreamer-0.10 --library libdmapsharing- API_VERSION@-dacp libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.gi
+	$(VAPIGEN) --pkg=avahi-gobject --pkg=libsoup-2.4 --pkg=glib-2.0 --pkg=gio-2.0 --pkg=gstreamer-0.10 --library libdmapsharing- API_VERSION@-dacp libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.gi
 
 libdmapsharing- API_VERSION@-dmap.vapi: libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.gi libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.metadata
-	$(VAPIGEN) --pkg=libsoup-2.4 --pkg=glib-2.0 --pkg=gio-2.0 --pkg=gstreamer-0.10 --library libdmapsharing- API_VERSION@-dmap libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.gi
+	$(VAPIGEN) --pkg=avahi-gobject --pkg=libsoup-2.4 --pkg=glib-2.0 --pkg=gio-2.0 --pkg=gstreamer-0.10 --library libdmapsharing- API_VERSION@-dmap libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.gi
 
 libdmapsharing- API_VERSION@-dpap.vapi: libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.gi libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.metadata
-	$(VAPIGEN) --pkg=libsoup-2.4 --pkg=glib-2.0 --pkg=gio-2.0 --pkg=gstreamer-0.10 --library libdmapsharing- API_VERSION@-dpap libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.gi
+	$(VAPIGEN) --pkg=avahi-gobject --pkg=libsoup-2.4 --pkg=glib-2.0 --pkg=gio-2.0 --pkg=gstreamer-0.10 --library libdmapsharing- API_VERSION@-dpap libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.gi
 
 # NOTE: Sed is used to fix a problem I don't know how to handle in
 # vapigen. I have several namespaces (DMAP, DAAP, ...) in libdmapsharing. In
@@ -49,24 +53,28 @@ endif
 
 EXTRA_DIST = \
 	libdmapsharing- API_VERSION@.vapi \
-	libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.excludes \
-	libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.files \
+	libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@-uninstalled.excludes \
+	libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@-uninstalled.files \
 	libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.metadata \
-	libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.namespace \
-	libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.excludes \
-	libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.files \
+	libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@-uninstalled.namespace \
+	libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@-uninstalled.excludes \
+	libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@-uninstalled.files \
 	libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.metadata \
-	libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.namespace \
-	libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.excludes \
-	libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.files \
+	libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@-uninstalled.namespace \
+	libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@-uninstalled.excludes \
+	libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@-uninstalled.files \
 	libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.metadata \
-	libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.namespace \
-	libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.excludes \
-	libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.files \
+	libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@-uninstalled.namespace \
+	libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@-uninstalled.excludes \
+	libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@-uninstalled.files \
 	libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.metadata \
-	libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@.namespace
+	libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@-uninstalled.namespace
 
 CLEANFILES = \
+	libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@-uninstalled.files \
+	libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@-uninstalled.files \
+	libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@-uninstalled.files \
+	libdmapsharing- API_VERSION@-dpap/libdmapsharing- API_VERSION@-uninstalled.files \
 	libdmapsharing- API_VERSION@-daap/libdmapsharing- API_VERSION@.gi \
 	libdmapsharing- API_VERSION@-dacp/libdmapsharing- API_VERSION@.gi \
 	libdmapsharing- API_VERSION@-dmap/libdmapsharing- API_VERSION@.gi \
diff --git a/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0.excludes b/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0-uninstalled.excludes
similarity index 100%
rename from vala/libdmapsharing-3.0-daap/libdmapsharing-3.0.excludes
rename to vala/libdmapsharing-3.0-daap/libdmapsharing-3.0-uninstalled.excludes
diff --git a/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0-uninstalled.files b/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0-uninstalled.files
new file mode 100644
index 0000000..8c20cef
--- /dev/null
+++ b/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0-uninstalled.files
@@ -0,0 +1,2 @@
+./../libdmapsharing/
+./../libdmapsharing/.libs/libdmapsharing-3.0.so
diff --git a/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0-uninstalled.files.in b/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0-uninstalled.files.in
new file mode 100644
index 0000000..eae3c60
--- /dev/null
+++ b/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0-uninstalled.files.in
@@ -0,0 +1,2 @@
+ srcdir@/../libdmapsharing/
+ builddir@/../libdmapsharing/.libs/libdmapsharing-3.0.so
diff --git a/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0.namespace b/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0-uninstalled.namespace
similarity index 100%
rename from vala/libdmapsharing-3.0-daap/libdmapsharing-3.0.namespace
rename to vala/libdmapsharing-3.0-daap/libdmapsharing-3.0-uninstalled.namespace
diff --git a/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0.metadata b/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0.metadata
index 7595b00..e11c8a3 100644
--- a/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0.metadata
+++ b/vala/libdmapsharing-3.0-daap/libdmapsharing-3.0.metadata
@@ -1 +1,5 @@
 DAAP cheader_filename="libdmapsharing/dmap.h"
+DACPPlayState common_prefix="DACP_PLAY_" rename_to="DACPPlayState"
+DACPRepeatState common_prefix="DACP_REPEAT_" rename_to="DACPRepeatState"
+AvahiClient name="Client" namespace="Avahi"
+AvahiEntryGroup name="EntryGroup" namespace="Avahi"
diff --git a/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0.excludes b/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0-uninstalled.excludes
similarity index 100%
rename from vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0.excludes
rename to vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0-uninstalled.excludes
diff --git a/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0-uninstalled.files b/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0-uninstalled.files
new file mode 100644
index 0000000..8c20cef
--- /dev/null
+++ b/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0-uninstalled.files
@@ -0,0 +1,2 @@
+./../libdmapsharing/
+./../libdmapsharing/.libs/libdmapsharing-3.0.so
diff --git a/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0-uninstalled.files.in b/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0-uninstalled.files.in
new file mode 100644
index 0000000..eae3c60
--- /dev/null
+++ b/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0-uninstalled.files.in
@@ -0,0 +1,2 @@
+ srcdir@/../libdmapsharing/
+ builddir@/../libdmapsharing/.libs/libdmapsharing-3.0.so
diff --git a/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0.namespace b/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0-uninstalled.namespace
similarity index 100%
rename from vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0.namespace
rename to vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0-uninstalled.namespace
diff --git a/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0.metadata b/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0.metadata
index 26a0adf..cad4981 100644
--- a/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0.metadata
+++ b/vala/libdmapsharing-3.0-dacp/libdmapsharing-3.0.metadata
@@ -1 +1,3 @@
 DACP cheader_filename="libdmapsharing/dmap.h"
+AvahiClient name="Client" namespace="Avahi"
+AvahiEntryGroup name="EntryGroup" namespace="Avahi"
diff --git a/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0.excludes b/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0-uninstalled.excludes
similarity index 100%
rename from vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0.excludes
rename to vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0-uninstalled.excludes
diff --git a/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0-uninstalled.files b/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0-uninstalled.files
new file mode 100644
index 0000000..8c20cef
--- /dev/null
+++ b/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0-uninstalled.files
@@ -0,0 +1,2 @@
+./../libdmapsharing/
+./../libdmapsharing/.libs/libdmapsharing-3.0.so
diff --git a/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0-uninstalled.files.in b/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0-uninstalled.files.in
new file mode 100644
index 0000000..eae3c60
--- /dev/null
+++ b/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0-uninstalled.files.in
@@ -0,0 +1,2 @@
+ srcdir@/../libdmapsharing/
+ builddir@/../libdmapsharing/.libs/libdmapsharing-3.0.so
diff --git a/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0.namespace b/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0-uninstalled.namespace
similarity index 100%
rename from vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0.namespace
rename to vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0-uninstalled.namespace
diff --git a/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0.metadata b/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0.metadata
index b08296f..4d548dd 100644
--- a/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0.metadata
+++ b/vala/libdmapsharing-3.0-dmap/libdmapsharing-3.0.metadata
@@ -2,3 +2,7 @@ DMAP cheader_filename="libdmapsharing/dmap.h"
 dmap_container_db_foreach.data hidden="1"
 dmap_db_foreach.data hidden="1"
 dmap_record_factory_create transfer_ownership="1"
+DACPPlayState common_prefix="DACP_PLAY_" rename_to="DACPPlayState"
+DACPRepeatState common_prefix="DACP_REPEAT_" rename_to="DACPRepeatState"
+AvahiClient name="Client" namespace="Avahi"
+AvahiEntryGroup name="EntryGroup" namespace="Avahi"
diff --git a/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0.excludes b/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0-uninstalled.excludes
similarity index 100%
rename from vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0.excludes
rename to vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0-uninstalled.excludes
diff --git a/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0-uninstalled.files b/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0-uninstalled.files
new file mode 100644
index 0000000..8c20cef
--- /dev/null
+++ b/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0-uninstalled.files
@@ -0,0 +1,2 @@
+./../libdmapsharing/
+./../libdmapsharing/.libs/libdmapsharing-3.0.so
diff --git a/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0-uninstalled.files.in b/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0-uninstalled.files.in
new file mode 100644
index 0000000..eae3c60
--- /dev/null
+++ b/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0-uninstalled.files.in
@@ -0,0 +1,2 @@
+ srcdir@/../libdmapsharing/
+ builddir@/../libdmapsharing/.libs/libdmapsharing-3.0.so
diff --git a/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0.namespace b/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0-uninstalled.namespace
similarity index 100%
rename from vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0.namespace
rename to vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0-uninstalled.namespace
diff --git a/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0.metadata b/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0.metadata
index e002a27..ae92246 100644
--- a/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0.metadata
+++ b/vala/libdmapsharing-3.0-dpap/libdmapsharing-3.0.metadata
@@ -1 +1,5 @@
 DPAP cheader_filename="libdmapsharing/dmap.h"
+DACPPlayState common_prefix="DACP_PLAY_" rename_to="DACPPlayState"
+DACPRepeatState common_prefix="DACP_REPEAT_" rename_to="DACPRepeatState"
+AvahiClient name="Client" namespace="Avahi"
+AvahiEntryGroup name="EntryGroup" namespace="Avahi"
diff --git a/vala/libdmapsharing-3.0.vapi b/vala/libdmapsharing-3.0.vapi
index f6847f1..1c8afd4 100644
--- a/vala/libdmapsharing-3.0.vapi
+++ b/vala/libdmapsharing-3.0.vapi
@@ -1,8 +1,13 @@
 /* libdmapsharing-3.0-daap.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "DAAP", lower_case_cprefix = "daap_")]
 namespace DAAP {
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
+	public class ChunkData {
+		public weak Soup.Server server;
+		public weak GLib.InputStream stream;
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class Connection : DAAP.DMAPConnection {
 		[CCode (has_construct_function = false)]
 		public Connection (string name, string host, uint port, DMAP.Db db, DMAP.RecordFactory factory);
@@ -11,6 +16,8 @@ namespace DAAP {
 	public class DMAPConnection : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected DMAPConnection ();
+		[CCode (cname = "dmap_connection_authenticate_message")]
+		public static void authenticate_message (DAAP.DMAPConnection connection, Soup.Session session, Soup.Message message, Soup.Auth auth, string password);
 		[CCode (cname = "dmap_connection_build_message")]
 		public virtual unowned Soup.Message build_message (DAAP.DMAPConnection connection, string path, bool need_hash, double version, int req_id, bool send_close);
 		[CCode (cname = "dmap_connection_connect")]
@@ -50,8 +57,6 @@ namespace DAAP {
 		[NoAccessorMethod]
 		public string password { set; }
 		[NoAccessorMethod]
-		public bool password_protected { get; construct; }
-		[NoAccessorMethod]
 		public uint port { get; construct; }
 		[NoAccessorMethod]
 		public int revision_number { get; set; }
@@ -65,8 +70,8 @@ namespace DAAP {
 		public virtual signal void disconnected ();
 		public virtual signal void operation_done ();
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPContentCodeDefinition {
 		public DAAP.DMAPContentCode code;
 		public int32 int_code;
@@ -77,14 +82,24 @@ namespace DAAP {
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DMAPGstInputStream : GLib.InputStream, GLib.Seekable {
-		[CCode (cname = "dmap_gst_input_stream_new", type = "GInputStream*", has_construct_function = false)]
+		[CCode (cname = "dmap_gst_input_stream_new", has_construct_function = false, type = "GInputStream*")]
 		public DMAPGstInputStream (string transcode_mimetype, GLib.InputStream src_stream);
 		[NoWrapper]
 		public virtual void kill_pipeline (DAAP.DMAPGstInputStream p1);
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public class DMAPGstMP3InputStream : DAAP.DMAPGstInputStream, GLib.Seekable {
+		[CCode (cname = "dmap_gst_mp3_input_stream_new", has_construct_function = false, type = "GInputStream*")]
+		public DMAPGstMP3InputStream (GLib.InputStream stream);
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public class DMAPGstWAVInputStream : DAAP.DMAPGstInputStream, GLib.Seekable {
+		[CCode (cname = "dmap_gst_wav_input_stream_new", has_construct_function = false, type = "GInputStream*")]
+		public DMAPGstWAVInputStream (GLib.InputStream stream);
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DMAPMdnsBrowser : GLib.Object {
-		[CCode (cname = "dmap_mdns_browser_new", type = "DMAPMdnsBrowser*", has_construct_function = false)]
+		[CCode (cname = "dmap_mdns_browser_new", has_construct_function = false, type = "DMAPMdnsBrowser*")]
 		public DMAPMdnsBrowser (DAAP.DMAPMdnsBrowserServiceType type);
 		[CCode (cname = "dmap_mdns_browser_error_quark")]
 		public static GLib.Quark error_quark ();
@@ -99,8 +114,8 @@ namespace DAAP {
 		public virtual signal void service_added (void* service);
 		public virtual signal void service_removed (string service);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPMdnsBrowserService {
 		public weak string host;
 		public weak string name;
@@ -108,10 +123,11 @@ namespace DAAP {
 		public bool password_protected;
 		public uint port;
 		public weak string service_name;
+		public DAAP.DMAPMdnsBrowserTransportProtocol transport_protocol;
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DMAPMdnsPublisher : GLib.Object {
-		[CCode (cname = "dmap_mdns_publisher_new", type = "DMAPMdnsPublisher*", has_construct_function = false)]
+		[CCode (cname = "dmap_mdns_publisher_new", has_construct_function = false, type = "DMAPMdnsPublisher*")]
 		public DMAPMdnsPublisher ();
 		[CCode (cname = "dmap_mdns_publisher_error_quark")]
 		public static GLib.Quark error_quark ();
@@ -124,12 +140,12 @@ namespace DAAP {
 		public virtual signal void name_collision (string name);
 		public virtual signal void published (string name);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPMetaDataMap {
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPPlaylist {
 		public int id;
 		public weak string name;
@@ -191,19 +207,19 @@ namespace DAAP {
 		public Soup.Server server_ipv6 { owned get; }
 		[NoAccessorMethod]
 		public string transcode_mimetype { owned get; construct; }
-		[NoAccessorMethod]
 		[CCode (array_length = false, array_null_terminated = true)]
+		[NoAccessorMethod]
 		public string[] txt_records { owned get; set; }
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPStructureItem {
-		public Gst.Value content;
+		public GLib.Value content;
 		public DAAP.DMAPContentCode content_code;
-		public uint size;
+		public uint32 size;
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class FilterDefinition {
 		public weak string key;
 		public bool negate;
@@ -214,8 +230,8 @@ namespace DAAP {
 		[CCode (has_construct_function = false)]
 		public Share (string name, string password, DMAP.Db db, DMAP.ContainerDb container_db, string transcode_mimetype);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class bitwise {
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
@@ -277,19 +293,19 @@ namespace DAAP {
 		public abstract bool itunes_compat ();
 		public abstract unowned GLib.InputStream read () throws GLib.Error;
 	}
-	[CCode (cprefix = "PLAY_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DACP_PLAY_")]
 	public enum DACPPlayState {
 		STOPPED,
 		PAUSED,
 		PLAYING
 	}
-	[CCode (cprefix = "REPEAT_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DACP_REPEAT_")]
 	public enum DACPRepeatState {
 		NONE,
 		SINGLE,
 		ALL
 	}
-	[CCode (cprefix = "DMAP_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_")]
 	public enum DMAPConnectionState {
 		GET_INFO,
 		LOGIN,
@@ -301,7 +317,7 @@ namespace DAAP {
 		LOGOUT,
 		DONE
 	}
-	[CCode (cprefix = "DMAP_", has_type_id = false, cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_", has_type_id = false)]
 	public enum DMAPContentCode {
 		CC_INVALID,
 		RAW,
@@ -448,32 +464,49 @@ namespace DAAP {
 		CC_CMSV,
 		CC_CMSR,
 		CC_CMMK,
-		CC_CMVO
-	}
-	[CCode (cprefix = "DMAP_MDNS_BROWSER_ERROR_", cheader_filename = "libdmapsharing/dmap.h")]
+		CC_CMVO,
+		CC_CMPR,
+		CC_CAPR,
+		CC_AEFR,
+		CC_CAOV,
+		CC_CMRL,
+		CC_CAHP,
+		CC_CAIV,
+		CC_CAVC
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_ERROR_")]
 	public enum DMAPMdnsBrowserError {
 		NOT_RUNNING,
 		FAILED
 	}
-	[CCode (cprefix = "DMAP_MDNS_BROWSER_SERVICE_TYPE_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_SERVICE_TYPE_")]
 	public enum DMAPMdnsBrowserServiceType {
 		INVALID,
 		DAAP,
 		DPAP,
 		DACP,
+		RAOP,
 		LAST
 	}
-	[CCode (cprefix = "DMAP_MDNS_PUBLISHER_ERROR_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_TRANSPORT_PROTOCOL_")]
+	public enum DMAPMdnsBrowserTransportProtocol {
+		TCP,
+		UDP,
+		LAST
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_PUBLISHER_ERROR_")]
 	public enum DMAPMdnsPublisherError {
 		NOT_RUNNING,
 		FAILED
 	}
-	[CCode (cprefix = "DMAP_MEDIA_KIND_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MEDIA_KIND_")]
 	public enum DMAPMediaKind {
 		MUSIC,
-		MOVIE
+		MOVIE,
+		PODCAST,
+		TV_SHOW
 	}
-	[CCode (cprefix = "DMAP_TYPE_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_TYPE_")]
 	public enum DMAPType {
 		BYTE,
 		SIGNED_INT,
@@ -493,65 +526,100 @@ namespace DAAP {
 	[CCode (cheader_filename = "libdmapsharing/dmap.h", has_target = false)]
 	public delegate unowned string RecordGetValueFunc (DAAP.DMAPRecord record);
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public const int DMAP_HAVE_UNALIGNED_ACCESS;
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public const int DMAP_STATUS_OK;
-	[CCode (cname = "dmap_content_code_dmap_type", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_chunked_message_finished")]
+	public static void dmap_chunked_message_finished (Soup.Message message, DAAP.ChunkData cd);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_dmap_type")]
 	public static DAAP.DMAPType dmap_content_code_dmap_type (DAAP.DMAPContentCode code);
-	[CCode (cname = "dmap_content_code_name", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_name")]
 	public static unowned string dmap_content_code_name (DAAP.DMAPContentCode code);
-	[CCode (cname = "dmap_content_code_read_from_buffer", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_read_from_buffer")]
 	public static DAAP.DMAPContentCode dmap_content_code_read_from_buffer (string buf);
-	[CCode (cname = "dmap_content_code_string", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_string")]
 	public static unowned string dmap_content_code_string (DAAP.DMAPContentCode code);
-	[CCode (cname = "dmap_content_code_string_as_int32", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_string_as_int32")]
 	public static int32 dmap_content_code_string_as_int32 (string str);
-	[CCode (cname = "dmap_content_codes", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_codes")]
 	public static unowned DAAP.DMAPContentCodeDefinition dmap_content_codes (uint number);
-	[CCode (cname = "dmap_hash_generate", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_hash_generate")]
 	public static void dmap_hash_generate (short version_major, uchar[] url, uchar hash_select, uchar[] @out, int request_id);
-	[CCode (cname = "dmap_structure_add", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_BOOLEAN__STRING")]
+	public static void dmap_marshal_BOOLEAN__STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_STRING__STRING")]
+	public static void dmap_marshal_STRING__STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_STRING__ULONG_ULONG")]
+	public static void dmap_marshal_STRING__ULONG_ULONG (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_ULONG__VOID")]
+	public static void dmap_marshal_ULONG__VOID (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__STRING_BOOLEAN")]
+	public static void dmap_marshal_VOID__STRING_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__STRING_POINTER_POINTER_POINTER_BOOLEAN")]
+	public static void dmap_marshal_VOID__STRING_POINTER_POINTER_POINTER_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__STRING_STRING")]
+	public static void dmap_marshal_VOID__STRING_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__ULONG_FLOAT")]
+	public static void dmap_marshal_VOID__ULONG_FLOAT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_mdns_avahi_get_client")]
+	public static unowned Avahi.Client dmap_mdns_avahi_get_client ();
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_mdns_avahi_set_entry_group")]
+	public static void dmap_mdns_avahi_set_entry_group (Avahi.EntryGroup group);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_add")]
 	public static unowned GLib.Node dmap_structure_add (GLib.Node parent, DAAP.DMAPContentCode cc);
-	[CCode (cname = "dmap_structure_destroy", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_destroy")]
 	public static void dmap_structure_destroy (GLib.Node structure);
-	[CCode (cname = "dmap_structure_find_item", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_find_item")]
 	public static unowned DAAP.DMAPStructureItem dmap_structure_find_item (GLib.Node structure, DAAP.DMAPContentCode code);
-	[CCode (cname = "dmap_structure_find_node", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_find_node")]
 	public static unowned GLib.Node dmap_structure_find_node (GLib.Node structure, DAAP.DMAPContentCode code);
-	[CCode (cname = "dmap_structure_get_size", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_get_size")]
 	public static uint dmap_structure_get_size (GLib.Node structure);
-	[CCode (cname = "dmap_structure_increase_by_predicted_size", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_increase_by_predicted_size")]
 	public static void dmap_structure_increase_by_predicted_size (GLib.Node structure, uint size);
-	[CCode (cname = "dmap_structure_parse", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_parse")]
 	public static unowned GLib.Node dmap_structure_parse (string buf, int buf_length);
-	[CCode (cname = "dmap_structure_print", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_print")]
 	public static void dmap_structure_print (GLib.Node structure);
-	[CCode (cname = "dmap_structure_serialize", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_serialize")]
 	public static unowned string dmap_structure_serialize (GLib.Node structure, uint length);
-	[CCode (cname = "dmapd_input_stream_strdup_format_extension", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_write_next_chunk")]
+	public static void dmap_write_next_chunk (Soup.Message message, DAAP.ChunkData cd);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmapd_input_stream_strdup_format_extension")]
 	public static unowned string dmapd_input_stream_strdup_format_extension (int format_code);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "pads_compatible")]
+	public static bool pads_compatible (Gst.Pad pad1, Gst.Pad pad2);
 }
 /* libdmapsharing-3.0-dacp.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "DACP", lower_case_cprefix = "dacp_")]
 namespace DACP {
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
+	public class ChunkData {
+		public weak Soup.Server server;
+		public weak GLib.InputStream stream;
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class Connection : DACP.DMAPConnection {
 		[CCode (has_construct_function = false)]
 		public Connection (string name, string host, uint port, DMAP.Db db, DACP.DMAPRecordFactory factory);
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DAAPConnection : DACP.DMAPConnection {
-		[CCode (cname = "daap_connection_new", type = "DAAPConnection*", has_construct_function = false)]
+		[CCode (cname = "daap_connection_new", has_construct_function = false, type = "DAAPConnection*")]
 		public DAAPConnection (string name, string host, uint port, DMAP.Db db, DACP.DMAPRecordFactory factory);
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DAAPShare : DACP.DMAPShare {
-		[CCode (cname = "daap_share_new", type = "DAAPShare*", has_construct_function = false)]
+		[CCode (cname = "daap_share_new", has_construct_function = false, type = "DAAPShare*")]
 		public DAAPShare (string name, string password, DMAP.Db db, DMAP.ContainerDb container_db, string transcode_mimetype);
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DMAPConnection : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected DMAPConnection ();
+		[CCode (cname = "dmap_connection_authenticate_message")]
+		public static void authenticate_message (DACP.DMAPConnection connection, Soup.Session session, Soup.Message message, Soup.Auth auth, string password);
 		[CCode (cname = "dmap_connection_build_message")]
 		public virtual unowned Soup.Message build_message (DACP.DMAPConnection connection, string path, bool need_hash, double version, int req_id, bool send_close);
 		[CCode (cname = "dmap_connection_connect")]
@@ -591,8 +659,6 @@ namespace DACP {
 		[NoAccessorMethod]
 		public string password { set; }
 		[NoAccessorMethod]
-		public bool password_protected { get; construct; }
-		[NoAccessorMethod]
 		public uint port { get; construct; }
 		[NoAccessorMethod]
 		public int revision_number { get; set; }
@@ -606,8 +672,8 @@ namespace DACP {
 		public virtual signal void disconnected ();
 		public virtual signal void operation_done ();
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPContentCodeDefinition {
 		public DACP.DMAPContentCode code;
 		public int32 int_code;
@@ -618,14 +684,24 @@ namespace DACP {
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DMAPGstInputStream : GLib.InputStream, GLib.Seekable {
-		[CCode (cname = "dmap_gst_input_stream_new", type = "GInputStream*", has_construct_function = false)]
+		[CCode (cname = "dmap_gst_input_stream_new", has_construct_function = false, type = "GInputStream*")]
 		public DMAPGstInputStream (string transcode_mimetype, GLib.InputStream src_stream);
 		[NoWrapper]
 		public virtual void kill_pipeline (DACP.DMAPGstInputStream p1);
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public class DMAPGstMP3InputStream : DACP.DMAPGstInputStream, GLib.Seekable {
+		[CCode (cname = "dmap_gst_mp3_input_stream_new", has_construct_function = false, type = "GInputStream*")]
+		public DMAPGstMP3InputStream (GLib.InputStream stream);
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public class DMAPGstWAVInputStream : DACP.DMAPGstInputStream, GLib.Seekable {
+		[CCode (cname = "dmap_gst_wav_input_stream_new", has_construct_function = false, type = "GInputStream*")]
+		public DMAPGstWAVInputStream (GLib.InputStream stream);
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DMAPMdnsBrowser : GLib.Object {
-		[CCode (cname = "dmap_mdns_browser_new", type = "DMAPMdnsBrowser*", has_construct_function = false)]
+		[CCode (cname = "dmap_mdns_browser_new", has_construct_function = false, type = "DMAPMdnsBrowser*")]
 		public DMAPMdnsBrowser (DACP.DMAPMdnsBrowserServiceType type);
 		[CCode (cname = "dmap_mdns_browser_error_quark")]
 		public static GLib.Quark error_quark ();
@@ -640,8 +716,8 @@ namespace DACP {
 		public virtual signal void service_added (void* service);
 		public virtual signal void service_removed (string service);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPMdnsBrowserService {
 		public weak string host;
 		public weak string name;
@@ -649,10 +725,11 @@ namespace DACP {
 		public bool password_protected;
 		public uint port;
 		public weak string service_name;
+		public DACP.DMAPMdnsBrowserTransportProtocol transport_protocol;
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DMAPMdnsPublisher : GLib.Object {
-		[CCode (cname = "dmap_mdns_publisher_new", type = "DMAPMdnsPublisher*", has_construct_function = false)]
+		[CCode (cname = "dmap_mdns_publisher_new", has_construct_function = false, type = "DMAPMdnsPublisher*")]
 		public DMAPMdnsPublisher ();
 		[CCode (cname = "dmap_mdns_publisher_error_quark")]
 		public static GLib.Quark error_quark ();
@@ -665,12 +742,12 @@ namespace DACP {
 		public virtual signal void name_collision (string name);
 		public virtual signal void published (string name);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPMetaDataMap {
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPPlaylist {
 		public int id;
 		public weak string name;
@@ -732,19 +809,19 @@ namespace DACP {
 		public Soup.Server server_ipv6 { owned get; }
 		[NoAccessorMethod]
 		public string transcode_mimetype { owned get; construct; }
-		[NoAccessorMethod]
 		[CCode (array_length = false, array_null_terminated = true)]
+		[NoAccessorMethod]
 		public string[] txt_records { owned get; set; }
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPStructureItem {
-		public Gst.Value content;
+		public GLib.Value content;
 		public DACP.DMAPContentCode content_code;
-		public uint size;
+		public uint32 size;
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class FilterDefinition {
 		public weak string key;
 		public bool negate;
@@ -768,8 +845,8 @@ namespace DACP {
 		public virtual signal void remote_lost (string service_name);
 		public virtual signal void remote_paired (string service_name, bool connected);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class bitwise {
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
@@ -844,13 +921,18 @@ namespace DACP {
 		public abstract void pause ();
 		public abstract void play_pause ();
 		public abstract void prev_item ();
+		[NoAccessorMethod]
 		public DACP.PlayState play_state { get; set; }
+		[NoAccessorMethod]
 		public ulong playing_time { get; set; }
+		[NoAccessorMethod]
 		public DACP.RepeatState repeat_state { get; set; }
+		[NoAccessorMethod]
 		public bool shuffle_state { get; set; }
+		[NoAccessorMethod]
 		public ulong volume { get; set; }
 	}
-	[CCode (cprefix = "DMAP_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_")]
 	public enum DMAPConnectionState {
 		GET_INFO,
 		LOGIN,
@@ -862,7 +944,7 @@ namespace DACP {
 		LOGOUT,
 		DONE
 	}
-	[CCode (cprefix = "DMAP_", has_type_id = false, cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_", has_type_id = false)]
 	public enum DMAPContentCode {
 		CC_INVALID,
 		RAW,
@@ -1009,32 +1091,49 @@ namespace DACP {
 		CC_CMSV,
 		CC_CMSR,
 		CC_CMMK,
-		CC_CMVO
-	}
-	[CCode (cprefix = "DMAP_MDNS_BROWSER_ERROR_", cheader_filename = "libdmapsharing/dmap.h")]
+		CC_CMVO,
+		CC_CMPR,
+		CC_CAPR,
+		CC_AEFR,
+		CC_CAOV,
+		CC_CMRL,
+		CC_CAHP,
+		CC_CAIV,
+		CC_CAVC
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_ERROR_")]
 	public enum DMAPMdnsBrowserError {
 		NOT_RUNNING,
 		FAILED
 	}
-	[CCode (cprefix = "DMAP_MDNS_BROWSER_SERVICE_TYPE_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_SERVICE_TYPE_")]
 	public enum DMAPMdnsBrowserServiceType {
 		INVALID,
 		DAAP,
 		DPAP,
 		DACP,
+		RAOP,
+		LAST
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_TRANSPORT_PROTOCOL_")]
+	public enum DMAPMdnsBrowserTransportProtocol {
+		TCP,
+		UDP,
 		LAST
 	}
-	[CCode (cprefix = "DMAP_MDNS_PUBLISHER_ERROR_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_PUBLISHER_ERROR_")]
 	public enum DMAPMdnsPublisherError {
 		NOT_RUNNING,
 		FAILED
 	}
-	[CCode (cprefix = "DMAP_MEDIA_KIND_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MEDIA_KIND_")]
 	public enum DMAPMediaKind {
 		MUSIC,
-		MOVIE
+		MOVIE,
+		PODCAST,
+		TV_SHOW
 	}
-	[CCode (cprefix = "DMAP_TYPE_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_TYPE_")]
 	public enum DMAPType {
 		BYTE,
 		SIGNED_INT,
@@ -1047,13 +1146,13 @@ namespace DACP {
 		CONTAINER,
 		POINTER
 	}
-	[CCode (cprefix = "PLAY_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DACP_PLAY_")]
 	public enum PlayState {
 		STOPPED,
 		PAUSED,
 		PLAYING
 	}
-	[CCode (cprefix = "REPEAT_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DACP_REPEAT_")]
 	public enum RepeatState {
 		NONE,
 		SINGLE,
@@ -1066,50 +1165,84 @@ namespace DACP {
 	[CCode (cheader_filename = "libdmapsharing/dmap.h", has_target = false)]
 	public delegate unowned string RecordGetValueFunc (DACP.DMAPRecord record);
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public const int DMAP_HAVE_UNALIGNED_ACCESS;
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public const int DMAP_STATUS_OK;
-	[CCode (cname = "dmap_content_code_dmap_type", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_chunked_message_finished")]
+	public static void dmap_chunked_message_finished (Soup.Message message, DACP.ChunkData cd);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_dmap_type")]
 	public static DACP.DMAPType dmap_content_code_dmap_type (DACP.DMAPContentCode code);
-	[CCode (cname = "dmap_content_code_name", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_name")]
 	public static unowned string dmap_content_code_name (DACP.DMAPContentCode code);
-	[CCode (cname = "dmap_content_code_read_from_buffer", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_read_from_buffer")]
 	public static DACP.DMAPContentCode dmap_content_code_read_from_buffer (string buf);
-	[CCode (cname = "dmap_content_code_string", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_string")]
 	public static unowned string dmap_content_code_string (DACP.DMAPContentCode code);
-	[CCode (cname = "dmap_content_code_string_as_int32", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_string_as_int32")]
 	public static int32 dmap_content_code_string_as_int32 (string str);
-	[CCode (cname = "dmap_content_codes", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_codes")]
 	public static unowned DACP.DMAPContentCodeDefinition dmap_content_codes (uint number);
-	[CCode (cname = "dmap_hash_generate", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_hash_generate")]
 	public static void dmap_hash_generate (short version_major, uchar[] url, uchar hash_select, uchar[] @out, int request_id);
-	[CCode (cname = "dmap_structure_add", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_BOOLEAN__STRING")]
+	public static void dmap_marshal_BOOLEAN__STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_STRING__STRING")]
+	public static void dmap_marshal_STRING__STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_STRING__ULONG_ULONG")]
+	public static void dmap_marshal_STRING__ULONG_ULONG (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_ULONG__VOID")]
+	public static void dmap_marshal_ULONG__VOID (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__STRING_BOOLEAN")]
+	public static void dmap_marshal_VOID__STRING_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__STRING_POINTER_POINTER_POINTER_BOOLEAN")]
+	public static void dmap_marshal_VOID__STRING_POINTER_POINTER_POINTER_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__STRING_STRING")]
+	public static void dmap_marshal_VOID__STRING_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__ULONG_FLOAT")]
+	public static void dmap_marshal_VOID__ULONG_FLOAT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_mdns_avahi_get_client")]
+	public static unowned Avahi.Client dmap_mdns_avahi_get_client ();
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_mdns_avahi_set_entry_group")]
+	public static void dmap_mdns_avahi_set_entry_group (Avahi.EntryGroup group);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_add")]
 	public static unowned GLib.Node dmap_structure_add (GLib.Node parent, DACP.DMAPContentCode cc);
-	[CCode (cname = "dmap_structure_destroy", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_destroy")]
 	public static void dmap_structure_destroy (GLib.Node structure);
-	[CCode (cname = "dmap_structure_find_item", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_find_item")]
 	public static unowned DACP.DMAPStructureItem dmap_structure_find_item (GLib.Node structure, DACP.DMAPContentCode code);
-	[CCode (cname = "dmap_structure_find_node", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_find_node")]
 	public static unowned GLib.Node dmap_structure_find_node (GLib.Node structure, DACP.DMAPContentCode code);
-	[CCode (cname = "dmap_structure_get_size", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_get_size")]
 	public static uint dmap_structure_get_size (GLib.Node structure);
-	[CCode (cname = "dmap_structure_increase_by_predicted_size", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_increase_by_predicted_size")]
 	public static void dmap_structure_increase_by_predicted_size (GLib.Node structure, uint size);
-	[CCode (cname = "dmap_structure_parse", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_parse")]
 	public static unowned GLib.Node dmap_structure_parse (string buf, int buf_length);
-	[CCode (cname = "dmap_structure_print", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_print")]
 	public static void dmap_structure_print (GLib.Node structure);
-	[CCode (cname = "dmap_structure_serialize", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_serialize")]
 	public static unowned string dmap_structure_serialize (GLib.Node structure, uint length);
-	[CCode (cname = "dmapd_input_stream_strdup_format_extension", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_write_next_chunk")]
+	public static void dmap_write_next_chunk (Soup.Message message, DACP.ChunkData cd);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmapd_input_stream_strdup_format_extension")]
 	public static unowned string dmapd_input_stream_strdup_format_extension (int format_code);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "pads_compatible")]
+	public static bool pads_compatible (Gst.Pad pad1, Gst.Pad pad2);
 }
 /* libdmapsharing-3.0-dmap.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "DMAP", lower_case_cprefix = "dmap_")]
 namespace DMAP {
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
+	public class ChunkData {
+		public weak Soup.Server server;
+		public weak GLib.InputStream stream;
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class Connection : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected Connection ();
+		public void authenticate_message (Soup.Session session, Soup.Message message, Soup.Auth auth, string password);
 		public virtual unowned Soup.Message build_message (string path, bool need_hash, double version, int req_id, bool send_close);
 		public void connect (DMAP.ConnectionCallback callback);
 		public void disconnect (DMAP.ConnectionCallback callback);
@@ -1141,8 +1274,6 @@ namespace DMAP {
 		[NoAccessorMethod]
 		public string password { set; }
 		[NoAccessorMethod]
-		public bool password_protected { get; construct; }
-		[NoAccessorMethod]
 		public uint port { get; construct; }
 		[NoAccessorMethod]
 		public int revision_number { get; set; }
@@ -1156,8 +1287,8 @@ namespace DMAP {
 		public virtual signal void disconnected ();
 		public virtual signal void operation_done ();
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class ContentCodeDefinition {
 		public DMAP.ContentCode code;
 		public int32 int_code;
@@ -1166,8 +1297,8 @@ namespace DMAP {
 		public weak string str;
 		public DMAP.Type type;
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class FilterDefinition {
 		public weak string key;
 		public bool negate;
@@ -1175,12 +1306,22 @@ namespace DMAP {
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class GstInputStream : GLib.InputStream, GLib.Seekable {
-		[CCode (type = "GInputStream*", has_construct_function = false)]
+		[CCode (has_construct_function = false, type = "GInputStream*")]
 		public GstInputStream (string transcode_mimetype, GLib.InputStream src_stream);
 		[NoWrapper]
 		public virtual void kill_pipeline ();
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public class GstMP3InputStream : DMAP.GstInputStream, GLib.Seekable {
+		[CCode (has_construct_function = false, type = "GInputStream*")]
+		public GstMP3InputStream (GLib.InputStream stream);
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public class GstWAVInputStream : DMAP.GstInputStream, GLib.Seekable {
+		[CCode (has_construct_function = false, type = "GInputStream*")]
+		public GstWAVInputStream (GLib.InputStream stream);
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class MdnsBrowser : GLib.Object {
 		[CCode (has_construct_function = false)]
 		public MdnsBrowser (DMAP.MdnsBrowserServiceType type);
@@ -1192,8 +1333,8 @@ namespace DMAP {
 		public virtual signal void service_added (void* service);
 		public virtual signal void service_removed (string service);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class MdnsBrowserService {
 		public weak string host;
 		public weak string name;
@@ -1201,6 +1342,7 @@ namespace DMAP {
 		public bool password_protected;
 		public uint port;
 		public weak string service_name;
+		public DMAP.MdnsBrowserTransportProtocol transport_protocol;
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class MdnsPublisher : GLib.Object {
@@ -1213,12 +1355,12 @@ namespace DMAP {
 		public virtual signal void name_collision (string name);
 		public virtual signal void published (string name);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class MetaDataMap {
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class Playlist {
 		public int id;
 		public weak string name;
@@ -1279,19 +1421,19 @@ namespace DMAP {
 		public Soup.Server server_ipv6 { owned get; }
 		[NoAccessorMethod]
 		public string transcode_mimetype { owned get; construct; }
-		[NoAccessorMethod]
 		[CCode (array_length = false, array_null_terminated = true)]
+		[NoAccessorMethod]
 		public string[] txt_records { owned get; set; }
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class StructureItem {
-		public Gst.Value content;
+		public GLib.Value content;
 		public DMAP.ContentCode content_code;
-		public uint size;
+		public uint32 size;
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class bitwise {
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
@@ -1328,7 +1470,7 @@ namespace DMAP {
 	public interface RecordFactory {
 		public abstract DMAP.Record create (void* user_data);
 	}
-	[CCode (cprefix = "DMAP_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_")]
 	public enum ConnectionState {
 		GET_INFO,
 		LOGIN,
@@ -1340,7 +1482,7 @@ namespace DMAP {
 		LOGOUT,
 		DONE
 	}
-	[CCode (cprefix = "DMAP_", has_type_id = false, cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_", has_type_id = false)]
 	public enum ContentCode {
 		CC_INVALID,
 		RAW,
@@ -1487,44 +1629,61 @@ namespace DMAP {
 		CC_CMSV,
 		CC_CMSR,
 		CC_CMMK,
-		CC_CMVO
-	}
-	[CCode (cprefix = "PLAY_", cheader_filename = "libdmapsharing/dmap.h")]
+		CC_CMVO,
+		CC_CMPR,
+		CC_CAPR,
+		CC_AEFR,
+		CC_CAOV,
+		CC_CMRL,
+		CC_CAHP,
+		CC_CAIV,
+		CC_CAVC
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DACP_PLAY_")]
 	public enum DACPPlayState {
 		STOPPED,
 		PAUSED,
 		PLAYING
 	}
-	[CCode (cprefix = "REPEAT_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DACP_REPEAT_")]
 	public enum DACPRepeatState {
 		NONE,
 		SINGLE,
 		ALL
 	}
-	[CCode (cprefix = "DMAP_MDNS_BROWSER_ERROR_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_ERROR_")]
 	public enum MdnsBrowserError {
 		NOT_RUNNING,
 		FAILED
 	}
-	[CCode (cprefix = "DMAP_MDNS_BROWSER_SERVICE_TYPE_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_SERVICE_TYPE_")]
 	public enum MdnsBrowserServiceType {
 		INVALID,
 		DAAP,
 		DPAP,
 		DACP,
+		RAOP,
+		LAST
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_TRANSPORT_PROTOCOL_")]
+	public enum MdnsBrowserTransportProtocol {
+		TCP,
+		UDP,
 		LAST
 	}
-	[CCode (cprefix = "DMAP_MDNS_PUBLISHER_ERROR_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_PUBLISHER_ERROR_")]
 	public enum MdnsPublisherError {
 		NOT_RUNNING,
 		FAILED
 	}
-	[CCode (cprefix = "DMAP_MEDIA_KIND_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MEDIA_KIND_")]
 	public enum MediaKind {
 		MUSIC,
-		MOVIE
+		MOVIE,
+		PODCAST,
+		TV_SHOW
 	}
-	[CCode (cprefix = "DMAP_TYPE_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_TYPE_")]
 	public enum Type {
 		BYTE,
 		SIGNED_INT,
@@ -1544,8 +1703,12 @@ namespace DMAP {
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public delegate void ResponseHandler (DMAP.Connection connection, uint status, GLib.Node structure);
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public const int HAVE_UNALIGNED_ACCESS;
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public const int STATUS_OK;
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void chunked_message_finished (Soup.Message message, DMAP.ChunkData cd);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public static DMAP.Type content_code_dmap_type (DMAP.ContentCode code);
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public static unowned string content_code_name (DMAP.ContentCode code);
@@ -1557,11 +1720,33 @@ namespace DMAP {
 	public static int32 content_code_string_as_int32 (string str);
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public static unowned DMAP.ContentCodeDefinition content_codes (uint number);
-	[CCode (cname = "dmapd_input_stream_strdup_format_extension", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmapd_input_stream_strdup_format_extension")]
 	public static unowned string dmapd_input_stream_strdup_format_extension (int format_code);
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public static void hash_generate (short version_major, uchar[] url, uchar hash_select, uchar[] @out, int request_id);
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void marshal_BOOLEAN__STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void marshal_STRING__STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void marshal_STRING__ULONG_ULONG (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void marshal_ULONG__VOID (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void marshal_VOID__STRING_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void marshal_VOID__STRING_POINTER_POINTER_POINTER_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void marshal_VOID__STRING_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void marshal_VOID__ULONG_FLOAT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static unowned Avahi.Client mdns_avahi_get_client ();
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void mdns_avahi_set_entry_group (Avahi.EntryGroup group);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "pads_compatible")]
+	public static bool pads_compatible (Gst.Pad pad1, Gst.Pad pad2);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public static unowned GLib.Node structure_add (GLib.Node parent, DMAP.ContentCode cc);
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public static void structure_destroy (GLib.Node structure);
@@ -1579,12 +1764,19 @@ namespace DMAP {
 	public static void structure_print (GLib.Node structure);
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public static unowned string structure_serialize (GLib.Node structure, uint length);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public static void write_next_chunk (Soup.Message message, DMAP.ChunkData cd);
 }
 /* libdmapsharing-3.0-dpap.vapi generated by vapigen, do not modify. */
 
-[CCode (cprefix = "DPAP", lower_case_cprefix = "dpap_")]
 namespace DPAP {
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
+	public class ChunkData {
+		public weak Soup.Server server;
+		public weak GLib.InputStream stream;
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class Connection : DPAP.DMAPConnection {
 		[CCode (has_construct_function = false)]
 		public Connection (string name, string host, uint port, DMAP.Db db, DMAP.RecordFactory factory);
@@ -1593,6 +1785,8 @@ namespace DPAP {
 	public class DMAPConnection : GLib.Object {
 		[CCode (has_construct_function = false)]
 		protected DMAPConnection ();
+		[CCode (cname = "dmap_connection_authenticate_message")]
+		public static void authenticate_message (DPAP.DMAPConnection connection, Soup.Session session, Soup.Message message, Soup.Auth auth, string password);
 		[CCode (cname = "dmap_connection_build_message")]
 		public virtual unowned Soup.Message build_message (DPAP.DMAPConnection connection, string path, bool need_hash, double version, int req_id, bool send_close);
 		[CCode (cname = "dmap_connection_connect")]
@@ -1632,8 +1826,6 @@ namespace DPAP {
 		[NoAccessorMethod]
 		public string password { set; }
 		[NoAccessorMethod]
-		public bool password_protected { get; construct; }
-		[NoAccessorMethod]
 		public uint port { get; construct; }
 		[NoAccessorMethod]
 		public int revision_number { get; set; }
@@ -1647,8 +1839,8 @@ namespace DPAP {
 		public virtual signal void disconnected ();
 		public virtual signal void operation_done ();
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPContentCodeDefinition {
 		public DPAP.DMAPContentCode code;
 		public int32 int_code;
@@ -1659,14 +1851,24 @@ namespace DPAP {
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DMAPGstInputStream : GLib.InputStream, GLib.Seekable {
-		[CCode (cname = "dmap_gst_input_stream_new", type = "GInputStream*", has_construct_function = false)]
+		[CCode (cname = "dmap_gst_input_stream_new", has_construct_function = false, type = "GInputStream*")]
 		public DMAPGstInputStream (string transcode_mimetype, GLib.InputStream src_stream);
 		[NoWrapper]
 		public virtual void kill_pipeline (DPAP.DMAPGstInputStream p1);
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public class DMAPGstMP3InputStream : DPAP.DMAPGstInputStream, GLib.Seekable {
+		[CCode (cname = "dmap_gst_mp3_input_stream_new", has_construct_function = false, type = "GInputStream*")]
+		public DMAPGstMP3InputStream (GLib.InputStream stream);
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public class DMAPGstWAVInputStream : DPAP.DMAPGstInputStream, GLib.Seekable {
+		[CCode (cname = "dmap_gst_wav_input_stream_new", has_construct_function = false, type = "GInputStream*")]
+		public DMAPGstWAVInputStream (GLib.InputStream stream);
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DMAPMdnsBrowser : GLib.Object {
-		[CCode (cname = "dmap_mdns_browser_new", type = "DMAPMdnsBrowser*", has_construct_function = false)]
+		[CCode (cname = "dmap_mdns_browser_new", has_construct_function = false, type = "DMAPMdnsBrowser*")]
 		public DMAPMdnsBrowser (DPAP.DMAPMdnsBrowserServiceType type);
 		[CCode (cname = "dmap_mdns_browser_error_quark")]
 		public static GLib.Quark error_quark ();
@@ -1681,8 +1883,8 @@ namespace DPAP {
 		public virtual signal void service_added (void* service);
 		public virtual signal void service_removed (string service);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPMdnsBrowserService {
 		public weak string host;
 		public weak string name;
@@ -1690,10 +1892,11 @@ namespace DPAP {
 		public bool password_protected;
 		public uint port;
 		public weak string service_name;
+		public DPAP.DMAPMdnsBrowserTransportProtocol transport_protocol;
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public class DMAPMdnsPublisher : GLib.Object {
-		[CCode (cname = "dmap_mdns_publisher_new", type = "DMAPMdnsPublisher*", has_construct_function = false)]
+		[CCode (cname = "dmap_mdns_publisher_new", has_construct_function = false, type = "DMAPMdnsPublisher*")]
 		public DMAPMdnsPublisher ();
 		[CCode (cname = "dmap_mdns_publisher_error_quark")]
 		public static GLib.Quark error_quark ();
@@ -1706,12 +1909,12 @@ namespace DPAP {
 		public virtual signal void name_collision (string name);
 		public virtual signal void published (string name);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPMetaDataMap {
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPPlaylist {
 		public int id;
 		public weak string name;
@@ -1773,19 +1976,19 @@ namespace DPAP {
 		public Soup.Server server_ipv6 { owned get; }
 		[NoAccessorMethod]
 		public string transcode_mimetype { owned get; construct; }
-		[NoAccessorMethod]
 		[CCode (array_length = false, array_null_terminated = true)]
+		[NoAccessorMethod]
 		public string[] txt_records { owned get; set; }
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class DMAPStructureItem {
-		public Gst.Value content;
+		public GLib.Value content;
 		public DPAP.DMAPContentCode content_code;
-		public uint size;
+		public uint32 size;
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class FilterDefinition {
 		public weak string key;
 		public bool negate;
@@ -1796,8 +1999,8 @@ namespace DPAP {
 		[CCode (has_construct_function = false)]
 		public Share (string name, string password, void* db, void* container_db, string transcode_mimetype);
 	}
-	[Compact]
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	[Compact]
 	public class bitwise {
 	}
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
@@ -1857,19 +2060,19 @@ namespace DPAP {
 	public interface Record {
 		public abstract unowned GLib.InputStream read () throws GLib.Error;
 	}
-	[CCode (cprefix = "PLAY_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DACP_PLAY_")]
 	public enum DACPPlayState {
 		STOPPED,
 		PAUSED,
 		PLAYING
 	}
-	[CCode (cprefix = "REPEAT_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DACP_REPEAT_")]
 	public enum DACPRepeatState {
 		NONE,
 		SINGLE,
 		ALL
 	}
-	[CCode (cprefix = "DMAP_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_")]
 	public enum DMAPConnectionState {
 		GET_INFO,
 		LOGIN,
@@ -1881,7 +2084,7 @@ namespace DPAP {
 		LOGOUT,
 		DONE
 	}
-	[CCode (cprefix = "DMAP_", has_type_id = false, cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_", has_type_id = false)]
 	public enum DMAPContentCode {
 		CC_INVALID,
 		RAW,
@@ -2028,32 +2231,49 @@ namespace DPAP {
 		CC_CMSV,
 		CC_CMSR,
 		CC_CMMK,
-		CC_CMVO
-	}
-	[CCode (cprefix = "DMAP_MDNS_BROWSER_ERROR_", cheader_filename = "libdmapsharing/dmap.h")]
+		CC_CMVO,
+		CC_CMPR,
+		CC_CAPR,
+		CC_AEFR,
+		CC_CAOV,
+		CC_CMRL,
+		CC_CAHP,
+		CC_CAIV,
+		CC_CAVC
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_ERROR_")]
 	public enum DMAPMdnsBrowserError {
 		NOT_RUNNING,
 		FAILED
 	}
-	[CCode (cprefix = "DMAP_MDNS_BROWSER_SERVICE_TYPE_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_SERVICE_TYPE_")]
 	public enum DMAPMdnsBrowserServiceType {
 		INVALID,
 		DAAP,
 		DPAP,
 		DACP,
+		RAOP,
+		LAST
+	}
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_BROWSER_TRANSPORT_PROTOCOL_")]
+	public enum DMAPMdnsBrowserTransportProtocol {
+		TCP,
+		UDP,
 		LAST
 	}
-	[CCode (cprefix = "DMAP_MDNS_PUBLISHER_ERROR_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MDNS_PUBLISHER_ERROR_")]
 	public enum DMAPMdnsPublisherError {
 		NOT_RUNNING,
 		FAILED
 	}
-	[CCode (cprefix = "DMAP_MEDIA_KIND_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_MEDIA_KIND_")]
 	public enum DMAPMediaKind {
 		MUSIC,
-		MOVIE
+		MOVIE,
+		PODCAST,
+		TV_SHOW
 	}
-	[CCode (cprefix = "DMAP_TYPE_", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cprefix = "DMAP_TYPE_")]
 	public enum DMAPType {
 		BYTE,
 		SIGNED_INT,
@@ -2073,39 +2293,67 @@ namespace DPAP {
 	[CCode (cheader_filename = "libdmapsharing/dmap.h", has_target = false)]
 	public delegate unowned string RecordGetValueFunc (DPAP.DMAPRecord record);
 	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
+	public const int DMAP_HAVE_UNALIGNED_ACCESS;
+	[CCode (cheader_filename = "libdmapsharing/dmap.h")]
 	public const int DMAP_STATUS_OK;
-	[CCode (cname = "dmap_content_code_dmap_type", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_chunked_message_finished")]
+	public static void dmap_chunked_message_finished (Soup.Message message, DPAP.ChunkData cd);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_dmap_type")]
 	public static DPAP.DMAPType dmap_content_code_dmap_type (DPAP.DMAPContentCode code);
-	[CCode (cname = "dmap_content_code_name", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_name")]
 	public static unowned string dmap_content_code_name (DPAP.DMAPContentCode code);
-	[CCode (cname = "dmap_content_code_read_from_buffer", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_read_from_buffer")]
 	public static DPAP.DMAPContentCode dmap_content_code_read_from_buffer (string buf);
-	[CCode (cname = "dmap_content_code_string", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_string")]
 	public static unowned string dmap_content_code_string (DPAP.DMAPContentCode code);
-	[CCode (cname = "dmap_content_code_string_as_int32", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_code_string_as_int32")]
 	public static int32 dmap_content_code_string_as_int32 (string str);
-	[CCode (cname = "dmap_content_codes", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_content_codes")]
 	public static unowned DPAP.DMAPContentCodeDefinition dmap_content_codes (uint number);
-	[CCode (cname = "dmap_hash_generate", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_hash_generate")]
 	public static void dmap_hash_generate (short version_major, uchar[] url, uchar hash_select, uchar[] @out, int request_id);
-	[CCode (cname = "dmap_structure_add", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_BOOLEAN__STRING")]
+	public static void dmap_marshal_BOOLEAN__STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_STRING__STRING")]
+	public static void dmap_marshal_STRING__STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_STRING__ULONG_ULONG")]
+	public static void dmap_marshal_STRING__ULONG_ULONG (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_ULONG__VOID")]
+	public static void dmap_marshal_ULONG__VOID (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__STRING_BOOLEAN")]
+	public static void dmap_marshal_VOID__STRING_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__STRING_POINTER_POINTER_POINTER_BOOLEAN")]
+	public static void dmap_marshal_VOID__STRING_POINTER_POINTER_POINTER_BOOLEAN (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__STRING_STRING")]
+	public static void dmap_marshal_VOID__STRING_STRING (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_marshal_VOID__ULONG_FLOAT")]
+	public static void dmap_marshal_VOID__ULONG_FLOAT (GLib.Closure closure, GLib.Value return_value, uint n_param_values, GLib.Value param_values, void* invocation_hint, void* marshal_data);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_mdns_avahi_get_client")]
+	public static unowned Avahi.Client dmap_mdns_avahi_get_client ();
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_mdns_avahi_set_entry_group")]
+	public static void dmap_mdns_avahi_set_entry_group (Avahi.EntryGroup group);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_add")]
 	public static unowned GLib.Node dmap_structure_add (GLib.Node parent, DPAP.DMAPContentCode cc);
-	[CCode (cname = "dmap_structure_destroy", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_destroy")]
 	public static void dmap_structure_destroy (GLib.Node structure);
-	[CCode (cname = "dmap_structure_find_item", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_find_item")]
 	public static unowned DPAP.DMAPStructureItem dmap_structure_find_item (GLib.Node structure, DPAP.DMAPContentCode code);
-	[CCode (cname = "dmap_structure_find_node", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_find_node")]
 	public static unowned GLib.Node dmap_structure_find_node (GLib.Node structure, DPAP.DMAPContentCode code);
-	[CCode (cname = "dmap_structure_get_size", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_get_size")]
 	public static uint dmap_structure_get_size (GLib.Node structure);
-	[CCode (cname = "dmap_structure_increase_by_predicted_size", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_increase_by_predicted_size")]
 	public static void dmap_structure_increase_by_predicted_size (GLib.Node structure, uint size);
-	[CCode (cname = "dmap_structure_parse", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_parse")]
 	public static unowned GLib.Node dmap_structure_parse (string buf, int buf_length);
-	[CCode (cname = "dmap_structure_print", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_print")]
 	public static void dmap_structure_print (GLib.Node structure);
-	[CCode (cname = "dmap_structure_serialize", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_structure_serialize")]
 	public static unowned string dmap_structure_serialize (GLib.Node structure, uint length);
-	[CCode (cname = "dmapd_input_stream_strdup_format_extension", cheader_filename = "libdmapsharing/dmap.h")]
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmap_write_next_chunk")]
+	public static void dmap_write_next_chunk (Soup.Message message, DPAP.ChunkData cd);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "dmapd_input_stream_strdup_format_extension")]
 	public static unowned string dmapd_input_stream_strdup_format_extension (int format_code);
+	[CCode (cheader_filename = "libdmapsharing/dmap.h", cname = "pads_compatible")]
+	public static bool pads_compatible (Gst.Pad pad1, Gst.Pad pad2);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]