Index: uspace/srv/audio/hound/audio_data.c
===================================================================
--- uspace/srv/audio/hound/audio_data.c	(revision 50179b6366e6cacde884c0944bb2c91c91789cb9)
+++ uspace/srv/audio/hound/audio_data.c	(revision c5b8548cc12fc8a06b0d3e6fd94d3e0219b25d54)
@@ -69,5 +69,18 @@
 }
 
-audio_data_link_t *audio_data_link_create(audio_data_t *adata)
+/* Data link helpers */
+
+typedef struct {
+	link_t link;
+	audio_data_t *adata;
+	size_t position;
+} audio_data_link_t;
+
+static inline audio_data_link_t * audio_data_link_list_instance(link_t *l)
+{
+	return l ? list_get_instance(l, audio_data_link_t, link) : NULL;
+}
+
+static audio_data_link_t *audio_data_link_create(audio_data_t *adata)
 {
 	assert(adata);
@@ -81,19 +94,5 @@
 }
 
-audio_data_link_t * audio_data_link_create_data(const void *data, size_t size,
-    pcm_format_t format)
-{
-	audio_data_link_t *link = NULL;
-	audio_data_t *adata = audio_data_create(data, size, format);
-	if (adata) {
-		link = audio_data_link_create(adata);
-		/* This will either return refcount to 1 or clean adata if
-		 * cloning failed */
-		audio_data_unref(adata);
-	}
-	return link;
-}
-
-void audio_data_link_destroy(audio_data_link_t *link)
+static void audio_data_link_destroy(audio_data_link_t *link)
 {
 	assert(link);
@@ -103,5 +102,21 @@
 }
 
-size_t audio_data_link_available_frames(audio_data_link_t *alink)
+static inline const void * audio_data_link_start(audio_data_link_t *alink)
+{
+	assert(alink);
+	assert(alink->adata);
+	return alink->adata->data + alink->position;
+}
+
+static inline size_t audio_data_link_remain_size(audio_data_link_t *alink)
+{
+	assert(alink);
+	assert(alink->adata);
+	assert(alink->position <= alink->adata->size);
+	return alink->adata->size - alink->position;
+}
+
+
+static inline size_t audio_data_link_available_frames(audio_data_link_t *alink)
 {
 	assert(alink);
Index: uspace/srv/audio/hound/audio_data.h
===================================================================
--- uspace/srv/audio/hound/audio_data.h	(revision 50179b6366e6cacde884c0944bb2c91c91789cb9)
+++ uspace/srv/audio/hound/audio_data.h	(revision c5b8548cc12fc8a06b0d3e6fd94d3e0219b25d54)
@@ -51,10 +51,4 @@
 
 typedef struct {
-	link_t link;
-	audio_data_t *adata;
-	size_t position;
-} audio_data_link_t;
-
-typedef struct {
 	list_t list;
 	size_t bytes;
@@ -63,34 +57,8 @@
 } audio_pipe_t;
 
-static inline audio_data_link_t * audio_data_link_list_instance(link_t *l)
-{
-	return l ? list_get_instance(l, audio_data_link_t, link) : NULL;
-}
-
 audio_data_t * audio_data_create(const void *data, size_t size,
     pcm_format_t format);
 void audio_data_addref(audio_data_t *adata);
 void audio_data_unref(audio_data_t *adata);
-
-audio_data_link_t * audio_data_link_create_data(const void *data, size_t size,
-    pcm_format_t format);
-audio_data_link_t *audio_data_link_create(audio_data_t *adata);
-void audio_data_link_destroy(audio_data_link_t *link);
-
-size_t audio_data_link_available_frames(audio_data_link_t *alink);
-static inline const void * audio_data_link_start(audio_data_link_t *alink)
-{
-	assert(alink);
-	assert(alink->adata);
-	return alink->adata->data + alink->position;
-}
-
-static inline size_t audio_data_link_remain_size(audio_data_link_t *alink)
-{
-	assert(alink);
-	assert(alink->adata);
-	assert(alink->position <= alink->adata->size);
-	return alink->adata->size - alink->position;
-}
 
 void audio_pipe_init(audio_pipe_t *pipe);
