[pulseaudio-discuss] [PATCH 13/25] raop: Code renaming for protocol specific IDs

Hajime Fujita crisp.fujita at nifty.com
Sat Sep 7 09:35:02 PDT 2013


Rename the entire code so that protocol-specific identifiers have
`tcp_` and `udp_` prefix.
---
 src/modules/raop/module-raop-sink.c | 116 ++++++-------
 src/modules/raop/raop_client.c      | 318 ++++++++++++++++++------------------
 src/modules/raop/raop_client.h      |  20 +--
 3 files changed, 227 insertions(+), 227 deletions(-)

diff --git a/src/modules/raop/module-raop-sink.c b/src/modules/raop/module-raop-sink.c
index d9cbe7b..9a3bd59 100644
--- a/src/modules/raop/module-raop-sink.c
+++ b/src/modules/raop/module-raop-sink.c
@@ -113,11 +113,11 @@ struct userdata {
     size_t block_size;
 
     /* Members only for the TCP protocol */
-    int fd;
+    int tcp_fd;
 
     /* Members only for the UDP protocol */
-    int control_fd;
-    int timing_fd;
+    int udp_control_fd;
+    int udp_timing_fd;
 };
 
 static const char* const valid_modargs[] = {
@@ -134,26 +134,26 @@ static const char* const valid_modargs[] = {
 };
 
 enum {
-    SINK_MESSAGE_PASS_SOCKET = PA_SINK_MESSAGE_MAX,
-    SINK_MESSAGE_RIP_SOCKET,
-    SINK_MESSAGE_SETUP,
-    SINK_MESSAGE_RECORD,
-    SINK_MESSAGE_DISCONNECTED,
+    SINK_MESSAGE_TCP_PASS_SOCKET = PA_SINK_MESSAGE_MAX,
+    SINK_MESSAGE_TCP_RIP_SOCKET,
+    SINK_MESSAGE_UDP_SETUP,
+    SINK_MESSAGE_UDP_RECORD,
+    SINK_MESSAGE_UDP_DISCONNECTED,
 };
 
 /* Forward declarations: */
 static void sink_set_volume_cb(pa_sink *);
 
-static void on_connection(int fd, void *userdata) {
+static void tcp_on_connection(int fd, void *userdata) {
     int so_sndbuf = 0;
     socklen_t sl = sizeof(int);
     struct userdata *u = userdata;
     pa_assert(u);
 
-    pa_assert(u->fd < 0);
-    u->fd = fd;
+    pa_assert(u->tcp_fd < 0);
+    u->tcp_fd = fd;
 
-    if (getsockopt(u->fd, SOL_SOCKET, SO_SNDBUF, &so_sndbuf, &sl) < 0)
+    if (getsockopt(u->tcp_fd, SOL_SOCKET, SO_SNDBUF, &so_sndbuf, &sl) < 0)
         pa_log_warn("getsockopt(SO_SNDBUF) failed: %s", pa_cstrerror(errno));
     else {
         pa_log_debug("SO_SNDBUF is %zu.", (size_t) so_sndbuf);
@@ -165,16 +165,16 @@ static void on_connection(int fd, void *userdata) {
 
     pa_log_debug("Connection authenticated, handing fd to IO thread...");
 
-    pa_asyncmsgq_post(u->thread_mq.inq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_PASS_SOCKET, NULL, 0, NULL, NULL);
+    pa_asyncmsgq_post(u->thread_mq.inq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_TCP_PASS_SOCKET, NULL, 0, NULL, NULL);
 }
 
-static void on_close(void*userdata) {
+static void tcp_on_close(void*userdata) {
     struct userdata *u = userdata;
     pa_assert(u);
 
     pa_log_debug("Connection closed, informing IO thread...");
 
-    pa_asyncmsgq_post(u->thread_mq.inq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_RIP_SOCKET, NULL, 0, NULL, NULL);
+    pa_asyncmsgq_post(u->thread_mq.inq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_TCP_RIP_SOCKET, NULL, 0, NULL, NULL);
 }
 
 static pa_usec_t sink_get_latency(const struct userdata *u) {
@@ -201,7 +201,7 @@ static int tcp_sink_process_msg(pa_msgobject *o, int code, void *data, int64_t o
                     pa_smoother_pause(u->smoother, pa_rtclock_now());
 
                     /* Issue a FLUSH if we are connected. */
-                    if (u->fd >= 0) {
+                    if (u->tcp_fd >= 0) {
                         pa_raop_client_flush(u->raop);
                     }
                     break;
@@ -214,7 +214,7 @@ static int tcp_sink_process_msg(pa_msgobject *o, int code, void *data, int64_t o
 
                         /* The connection can be closed when idle, so check to
                          * see if we need to reestablish it. */
-                        if (u->fd < 0)
+                        if (u->tcp_fd < 0)
                             pa_raop_client_connect(u->raop);
                         else
                             pa_raop_client_flush(u->raop);
@@ -235,14 +235,14 @@ static int tcp_sink_process_msg(pa_msgobject *o, int code, void *data, int64_t o
             return 0;
         }
 
-        case SINK_MESSAGE_PASS_SOCKET: {
+        case SINK_MESSAGE_TCP_PASS_SOCKET: {
             struct pollfd *pollfd;
 
             pa_assert(!u->rtpoll_item);
 
             u->rtpoll_item = pa_rtpoll_item_new(u->rtpoll, PA_RTPOLL_NEVER, 1);
             pollfd = pa_rtpoll_item_get_pollfd(u->rtpoll_item, NULL);
-            pollfd->fd = u->fd;
+            pollfd->fd = u->tcp_fd;
             pollfd->events = POLLOUT;
             /*pollfd->events = */pollfd->revents = 0;
 
@@ -253,10 +253,10 @@ static int tcp_sink_process_msg(pa_msgobject *o, int code, void *data, int64_t o
             return 0;
         }
 
-        case SINK_MESSAGE_RIP_SOCKET: {
-            if (u->fd >= 0) {
-                pa_close(u->fd);
-                u->fd = -1;
+        case SINK_MESSAGE_TCP_RIP_SOCKET: {
+            if (u->tcp_fd >= 0) {
+                pa_close(u->tcp_fd);
+                u->tcp_fd = -1;
             } else
                 /* FIXME */
                 pa_log("We should not get to this state. Cannot rip socket if not connected.");
@@ -292,7 +292,7 @@ static int udp_sink_process_msg(pa_msgobject *o, int code, void *data, int64_t o
                     pa_log_debug("RAOP: SUSPENDED");
                     pa_smoother_pause(u->smoother, pa_rtclock_now());
 
-                    if (pa_raop_client_can_stream(u->raop)) {
+                    if (pa_raop_client_udp_can_stream(u->raop)) {
                         /* Issue a TEARDOWN if we are still connected. */
                         pa_raop_client_teardown(u->raop);
                     }
@@ -313,7 +313,7 @@ static int udp_sink_process_msg(pa_msgobject *o, int code, void *data, int64_t o
                     if (u->sink->thread_info.state == PA_SINK_SUSPENDED)
                         pa_smoother_resume(u->smoother, pa_rtclock_now(), true);
                     pa_log_debug("RAOP: RUNNING");
-                    if (!pa_raop_client_can_stream(u->raop)) {
+                    if (!pa_raop_client_udp_can_stream(u->raop)) {
                         /* Connecting will trigger a RECORD */
                         pa_raop_client_connect(u->raop);
                     }
@@ -331,7 +331,7 @@ static int udp_sink_process_msg(pa_msgobject *o, int code, void *data, int64_t o
         case PA_SINK_MESSAGE_GET_LATENCY: {
             pa_usec_t r = 0;
 
-            if (pa_raop_client_can_stream(u->raop))
+            if (pa_raop_client_udp_can_stream(u->raop))
                 r = sink_get_latency(u);
 
             *((pa_usec_t*) data) = r;
@@ -339,26 +339,26 @@ static int udp_sink_process_msg(pa_msgobject *o, int code, void *data, int64_t o
             return 0;
         }
 
-        case SINK_MESSAGE_SETUP: {
+        case SINK_MESSAGE_UDP_SETUP: {
             struct pollfd *pollfd;
 
             u->rtpoll_item = pa_rtpoll_item_new(u->rtpoll, PA_RTPOLL_NEVER, 2);
             pollfd = pa_rtpoll_item_get_pollfd(u->rtpoll_item, NULL);
 
-            pollfd->fd = u->control_fd;
+            pollfd->fd = u->udp_control_fd;
             pollfd->events = POLLIN | POLLPRI;
             pollfd->revents = 0;
             pollfd++;
-            pollfd->fd = u->timing_fd;
+            pollfd->fd = u->udp_timing_fd;
             pollfd->events = POLLIN | POLLPRI;
             pollfd->revents = 0;
 
-            u->control_fd = -1;
-            u->timing_fd = -1;
+            u->udp_control_fd = -1;
+            u->udp_timing_fd = -1;
             return 0;
         }
 
-        case SINK_MESSAGE_RECORD: {
+        case SINK_MESSAGE_UDP_RECORD: {
             pa_rtpoll_set_timer_relative(u->rtpoll, pa_bytes_to_usec(u->block_size, &u->sink->sample_spec));
 
             if (u->sink->thread_info.state == PA_SINK_SUSPENDED) {
@@ -369,7 +369,7 @@ static int udp_sink_process_msg(pa_msgobject *o, int code, void *data, int64_t o
             return 0;
         }
 
-        case SINK_MESSAGE_DISCONNECTED: {
+        case SINK_MESSAGE_UDP_DISCONNECTED: {
             if (u->sink->thread_info.state == PA_SINK_SUSPENDED) {
                 pa_rtpoll_set_timer_disabled(u->rtpoll);
                 if (u->rtpoll_item)
@@ -381,8 +381,8 @@ static int udp_sink_process_msg(pa_msgobject *o, int code, void *data, int64_t o
                 pa_module_unload_request(u->module, true);
             }
 
-            u->control_fd = -1;
-            u->timing_fd = -1;
+            u->udp_control_fd = -1;
+            u->udp_timing_fd = -1;
             return 0;
         }
     }
@@ -435,22 +435,22 @@ static void sink_set_mute_cb(pa_sink *s) {
     }
 }
 
-static void raop_setup_cb(int control_fd, int timing_fd, void *userdata) {
+static void udp_setup_cb(int control_fd, int timing_fd, void *userdata) {
     struct userdata *u = userdata;
 
     pa_assert(control_fd);
     pa_assert(timing_fd);
     pa_assert(u);
 
-    u->control_fd = control_fd;
-    u->timing_fd = timing_fd;
+    u->udp_control_fd = control_fd;
+    u->udp_timing_fd = timing_fd;
 
     pa_log_debug("Connection authenticated, syncing with server...");
 
-    pa_asyncmsgq_post(u->thread_mq.inq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_SETUP, NULL, 0, NULL, NULL);
+    pa_asyncmsgq_post(u->thread_mq.inq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_UDP_SETUP, NULL, 0, NULL, NULL);
 }
 
-static void raop_record_cb(void *userdata) {
+static void udp_record_cb(void *userdata) {
     struct userdata *u = userdata;
 
     pa_assert(u);
@@ -460,17 +460,17 @@ static void raop_record_cb(void *userdata) {
 
     pa_log_debug("Synchronization done, pushing job to IO thread...");
 
-    pa_asyncmsgq_post(u->thread_mq.inq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_RECORD, NULL, 0, NULL, NULL);
+    pa_asyncmsgq_post(u->thread_mq.inq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_UDP_RECORD, NULL, 0, NULL, NULL);
 }
 
-static void raop_disconnected_cb(void *userdata) {
+static void udp_disconnected_cb(void *userdata) {
     struct userdata *u = userdata;
 
     pa_assert(u);
 
     pa_log_debug("Connection closed, informing IO thread...");
 
-    pa_asyncmsgq_post(u->thread_mq.inq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_DISCONNECTED, NULL, 0, NULL, NULL);
+    pa_asyncmsgq_post(u->thread_mq.inq, PA_MSGOBJECT(u->sink), SINK_MESSAGE_UDP_DISCONNECTED, NULL, 0, NULL, NULL);
 }
 
 static void tcp_thread_func(struct userdata *u) {
@@ -561,7 +561,7 @@ static void tcp_thread_func(struct userdata *u) {
                     pa_assert(u->encoded_memchunk.length > 0);
 
                     p = pa_memblock_acquire(u->encoded_memchunk.memblock);
-                    l = pa_write(u->fd, (uint8_t*) p + u->encoded_memchunk.index, u->encoded_memchunk.length, &write_type);
+                    l = pa_write(u->tcp_fd, (uint8_t*) p + u->encoded_memchunk.index, u->encoded_memchunk.length, &write_type);
                     pa_memblock_release(u->encoded_memchunk.memblock);
 
                     pa_assert(l != 0);
@@ -610,7 +610,7 @@ static void tcp_thread_func(struct userdata *u) {
 #ifdef SIOCOUTQ
                 {
                     int l;
-                    if (ioctl(u->fd, SIOCOUTQ, &l) >= 0 && l > 0)
+                    if (ioctl(u->tcp_fd, SIOCOUTQ, &l) >= 0 && l > 0)
                         n -= (l / u->encoding_ratio);
                 }
 #endif
@@ -706,7 +706,7 @@ static void udp_thread_func(struct userdata *u) {
                     pollfd->revents = 0;
                     pa_log_debug("Received control packet.");
                     read = pa_read(pollfd->fd, packet, sizeof(packet), NULL);
-                    pa_raop_client_handle_control_packet(u->raop, packet, read);
+                    pa_raop_client_udp_handle_control_packet(u->raop, packet, read);
                 }
 
                 pollfd++;
@@ -716,14 +716,14 @@ static void udp_thread_func(struct userdata *u) {
                     pollfd->revents = 0;
                     pa_log_debug("Received timing packet.");
                     read = pa_read(pollfd->fd, packet, sizeof(packet), NULL);
-                    pa_raop_client_handle_timing_packet(u->raop, packet, read);
+                    pa_raop_client_udp_handle_timing_packet(u->raop, packet, read);
                 }
             }
 
             continue;
         }
 
-        if (!pa_raop_client_can_stream(u->raop))
+        if (!pa_raop_client_udp_can_stream(u->raop))
             continue;
         if (u->sink->thread_info.state != PA_SINK_RUNNING)
             continue;
@@ -751,7 +751,7 @@ static void udp_thread_func(struct userdata *u) {
 
         pa_assert(u->encoded_memchunk.length > 0);
 
-        pa_raop_client_send_audio_packet(u->raop, &u->encoded_memchunk, &written);
+        pa_raop_client_udp_send_audio_packet(u->raop, &u->encoded_memchunk, &written);
         pa_rtpoll_set_timer_relative(u->rtpoll, pa_bytes_to_usec(u->block_size, &u->sink->sample_spec));
 
         pa_assert(written != 0);
@@ -821,7 +821,7 @@ int pa__init(pa_module *m) {
     u->core = m->core;
     u->module = m;
     m->userdata = u;
-    u->fd = -1;
+    u->tcp_fd = -1;
     u->smoother = pa_smoother_new(
             PA_USEC_PER_SEC,
             PA_USEC_PER_SEC*2,
@@ -916,18 +916,18 @@ int pa__init(pa_module *m) {
         goto fail;
     }
 
-    pa_raop_client_set_callback(u->raop, on_connection, u);
-    pa_raop_client_set_closed_callback(u->raop, on_close, u);
+    pa_raop_client_tcp_set_callback(u->raop, tcp_on_connection, u);
+    pa_raop_client_tcp_set_closed_callback(u->raop, tcp_on_close, u);
 
     if (u->protocol == RAOP_UDP) {
         /* The number of frames per blocks is not negotiable... */
-        pa_raop_client_get_blocks_size(u->raop, &u->block_size);
+        pa_raop_client_udp_get_blocks_size(u->raop, &u->block_size);
         u->block_size *= pa_frame_size(&ss);
         pa_sink_set_max_request(u->sink, u->block_size);
 
-        pa_raop_client_set_setup_callback(u->raop, raop_setup_cb, u);
-        pa_raop_client_set_record_callback(u->raop, raop_record_cb, u);
-        pa_raop_client_set_disconnected_callback(u->raop, raop_disconnected_cb, u);
+        pa_raop_client_udp_set_setup_callback(u->raop, udp_setup_cb, u);
+        pa_raop_client_udp_set_record_callback(u->raop, udp_record_cb, u);
+        pa_raop_client_udp_set_disconnected_callback(u->raop, udp_disconnected_cb, u);
     }
 
     if (!(u->thread = pa_thread_new("raop-sink", thread_func, u))) {
@@ -1002,8 +1002,8 @@ void pa__done(pa_module *m) {
     if (u->smoother)
         pa_smoother_free(u->smoother);
 
-    if (u->fd >= 0)
-        pa_close(u->fd);
+    if (u->tcp_fd >= 0)
+        pa_close(u->tcp_fd);
 
     pa_xfree(u);
 }
diff --git a/src/modules/raop/raop_client.c b/src/modules/raop/raop_client.c
index 1ca8421..0174572 100644
--- a/src/modules/raop/raop_client.c
+++ b/src/modules/raop/raop_client.c
@@ -59,7 +59,7 @@
 #include "rtsp_client.h"
 #include "base64.h"
 
-#define FRAMES_PER_PACKET 352
+#define UDP_FRAMES_PER_PACKET 352
 #define AES_CHUNKSIZE 16
 
 #define JACK_STATUS_DISCONNECTED 0
@@ -72,20 +72,19 @@
 #define VOLUME_MIN -144
 #define VOLUME_MAX 0
 
-#define RAOP_PORT 5000
 #define DEFAULT_RAOP_PORT 5000
-#define DEFAULT_AUDIO_PORT 6000
-#define DEFAULT_CONTROL_PORT 6001
-#define DEFAULT_TIMING_PORT 6002
+#define UDP_DEFAULT_AUDIO_PORT 6000
+#define UDP_DEFAULT_CONTROL_PORT 6001
+#define UDP_DEFAULT_TIMING_PORT 6002
 
 typedef enum {
-    PAYLOAD_TIMING_REQUEST = 0x52,
-    PAYLOAD_TIMING_RESPONSE = 0x53,
-    PAYLOAD_SYNCHRONIZATION = 0x54,
-    PAYLOAD_RETRANSMIT_REQUEST = 0x55,
-    PAYLOAD_RETRANSMIT_REPLY = 0x56,
-    PAYLOAD_AUDIO_DATA = 0x60
-} pa_raop_payload_type;
+    UDP_PAYLOAD_TIMING_REQUEST = 0x52,
+    UDP_PAYLOAD_TIMING_RESPONSE = 0x53,
+    UDP_PAYLOAD_SYNCHRONIZATION = 0x54,
+    UDP_PAYLOAD_RETRANSMIT_REQUEST = 0x55,
+    UDP_PAYLOAD_RETRANSMIT_REPLY = 0x56,
+    UDP_PAYLOAD_AUDIO_DATA = 0x60
+} pa_raop_udp_payload_type;
 
 struct pa_raop_client {
     pa_core *core;
@@ -108,36 +107,36 @@ struct pa_raop_client {
     uint32_t rtptime;
 
     /* Members only for the TCP protocol */
-    pa_socket_client *sc;
-    int fd;
+    pa_socket_client *tcp_sc;
+    int tcp_fd;
 
-    pa_raop_client_cb_t callback;
-    void *userdata;
-    pa_raop_client_closed_cb_t closed_callback;
-    void *closed_userdata;
+    pa_raop_client_cb_t tcp_callback;
+    void *tcp_userdata;
+    pa_raop_client_closed_cb_t tcp_closed_callback;
+    void *tcp_closed_userdata;
 
     /* Members only for the UDP protocol */
-    uint16_t control_port;
-    uint16_t timing_port;
+    uint16_t udp_control_port;
+    uint16_t udp_timing_port;
 
-    int stream_fd;
-    int control_fd;
-    int timing_fd;
+    int udp_stream_fd;
+    int udp_control_fd;
+    int udp_timing_fd;
 
-    uint32_t ssrc;
+    uint32_t udp_ssrc;
 
-    bool first_packet;
-    uint32_t sync_interval;
-    uint32_t sync_count;
+    bool udp_first_packet;
+    uint32_t udp_sync_interval;
+    uint32_t udp_sync_count;
 
-    pa_raop_client_setup_cb_t setup_callback;
-    void *setup_userdata;
+    pa_raop_client_setup_cb_t udp_setup_callback;
+    void *udp_setup_userdata;
 
-    pa_raop_client_record_cb_t record_callback;
-    void *record_userdata;
+    pa_raop_client_record_cb_t udp_record_callback;
+    void *udp_record_userdata;
 
-    pa_raop_client_disconnected_cb_t disconnected_callback;
-    void *disconnected_userdata;
+    pa_raop_client_disconnected_cb_t udp_disconnected_callback;
+    void *udp_disconnected_userdata;
 };
 
 /* Timming packet header (8x8):
@@ -145,7 +144,7 @@ struct pa_raop_client {
  *  [1]   Payload type: 0x53 | marker bit: 0x80,
  *  [2,3] Sequence number: 0x0007,
  *  [4,7] Timestamp: 0x00000000 (unused). */
-static const uint8_t timming_header[8] = {
+static const uint8_t udp_timming_header[8] = {
     0x80, 0xd3, 0x00, 0x07,
     0x00, 0x00, 0x00, 0x00
 };
@@ -155,7 +154,7 @@ static const uint8_t timming_header[8] = {
  *  [1]   Payload type: 0x54 | marker bit: 0x80,
  *  [2,3] Sequence number: 0x0007,
  *  [4,7] Timestamp: 0x00000000 (to be set). */
-static const uint8_t sync_header[8] = {
+static const uint8_t udp_sync_header[8] = {
     0x80, 0xd4, 0x00, 0x07,
     0x00, 0x00, 0x00, 0x00
 };
@@ -283,32 +282,32 @@ static inline void rtrimchar(char *str, char rc) {
     }
 }
 
-static void on_connection(pa_socket_client *sc, pa_iochannel *io, void *userdata) {
+static void tcp_on_connection(pa_socket_client *sc, pa_iochannel *io, void *userdata) {
     pa_raop_client *c = userdata;
 
     pa_assert(sc);
     pa_assert(c);
-    pa_assert(c->sc == sc);
-    pa_assert(c->fd < 0);
-    pa_assert(c->callback);
+    pa_assert(c->tcp_sc == sc);
+    pa_assert(c->tcp_fd < 0);
+    pa_assert(c->tcp_callback);
 
-    pa_socket_client_unref(c->sc);
-    c->sc = NULL;
+    pa_socket_client_unref(c->tcp_sc);
+    c->tcp_sc = NULL;
 
     if (!io) {
         pa_log("Connection failed: %s", pa_cstrerror(errno));
         return;
     }
 
-    c->fd = pa_iochannel_get_send_fd(io);
+    c->tcp_fd = pa_iochannel_get_send_fd(io);
 
     pa_iochannel_set_noclose(io, true);
     pa_iochannel_free(io);
 
-    pa_make_tcp_socket_low_delay(c->fd);
+    pa_make_tcp_socket_low_delay(c->tcp_fd);
 
     pa_log_debug("Connection established");
-    c->callback(c->fd, c->userdata);
+    c->tcp_callback(c->tcp_fd, c->tcp_userdata);
 }
 
 static inline uint64_t timeval_to_ntp(struct timeval *tv) {
@@ -442,14 +441,14 @@ fail:
     return -1;
 }
 
-static int send_timing_packet(pa_raop_client *c, const uint32_t data[6], uint64_t received) {
+static int udp_send_timing_packet(pa_raop_client *c, const uint32_t data[6], uint64_t received) {
     uint32_t packet[8];
     struct timeval tv;
     ssize_t written = 0;
     uint64_t trs = 0;
     int rv = 1;
 
-    memcpy(packet, timming_header, sizeof(timming_header));
+    memcpy(packet, udp_timming_header, sizeof(udp_timming_header));
     /* Copying originate timestamp from the incoming request packet. */
     packet[2] = data[4];
     packet[3] = data[5];
@@ -461,14 +460,14 @@ static int send_timing_packet(pa_raop_client *c, const uint32_t data[6], uint64_
     packet[6] = htonl(trs >> 32);
     packet[7] = htonl(trs & 0xffffffff);
 
-    written = pa_loop_write(c->timing_fd, packet, sizeof(packet), NULL);
+    written = pa_loop_write(c->udp_timing_fd, packet, sizeof(packet), NULL);
     if (written == sizeof(packet))
         rv = 0;
 
     return rv;
 }
 
-static int send_sync_packet(pa_raop_client *c, uint32_t stamp) {
+static int udp_send_sync_packet(pa_raop_client *c, uint32_t stamp) {
     const uint32_t delay = 88200;
     uint32_t packet[5];
     struct timeval tv;
@@ -476,8 +475,8 @@ static int send_sync_packet(pa_raop_client *c, uint32_t stamp) {
     uint64_t trs = 0;
     int rv = 1;
 
-    memcpy(packet, sync_header, sizeof(sync_header));
-    if (c->first_packet)
+    memcpy(packet, udp_sync_header, sizeof(udp_sync_header));
+    if (c->udp_first_packet)
         packet[0] |= 0x10;
     stamp -= delay;
     packet[1] = htonl(stamp);
@@ -488,25 +487,25 @@ static int send_sync_packet(pa_raop_client *c, uint32_t stamp) {
     stamp += delay;
     packet[4] = htonl(stamp);
 
-    written = pa_loop_write(c->control_fd, packet, sizeof(packet), NULL);
+    written = pa_loop_write(c->udp_control_fd, packet, sizeof(packet), NULL);
     if (written == sizeof(packet))
         rv = 0;
 
     return rv;
 }
 
-static int send_audio_packet(pa_raop_client *c, uint32_t *buffer, size_t size, ssize_t *written) {
+static int udp_send_audio_packet(pa_raop_client *c, uint32_t *buffer, size_t size, ssize_t *written) {
     ssize_t length = 0;
     int rv = 1;
 
     memcpy(buffer, udp_audio_header, sizeof(udp_audio_header));
-    if (c->first_packet)
+    if (c->udp_first_packet)
         buffer[0] |= ((uint32_t) 0x80) << 8;
     buffer[0] |= htonl((uint32_t) c->seq);
     buffer[1] = htonl(c->rtptime);
-    buffer[2] = htonl(c->ssrc);
+    buffer[2] = htonl(c->udp_ssrc);
 
-    length = pa_loop_write(c->stream_fd, buffer, size, NULL);
+    length = pa_loop_write(c->udp_stream_fd, buffer, size, NULL);
     if (length == ((ssize_t) size))
         rv = 0;
 
@@ -557,7 +556,7 @@ static void do_rtsp_announce(pa_raop_client *c) {
         "a=rsaaeskey:%s\r\n"
         "a=aesiv:%s\r\n",
         c->sid, ip, c->host,
-        c->protocol == RAOP_TCP ? 4096 : FRAMES_PER_PACKET,
+        c->protocol == RAOP_TCP ? 4096 : UDP_FRAMES_PER_PACKET,
         key, iv);
     pa_rtsp_announce(c->rtsp, sdp);
     pa_xfree(key);
@@ -619,11 +618,11 @@ static void tcp_rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist
             uint32_t port = pa_rtsp_serverport(c->rtsp);
             pa_log_debug("RAOP: RECORDED");
 
-            if (!(c->sc = pa_socket_client_new_string(c->core->mainloop, true, c->host, port))) {
+            if (!(c->tcp_sc = pa_socket_client_new_string(c->core->mainloop, true, c->host, port))) {
                 pa_log("failed to connect to server '%s:%d'", c->host, port);
                 return;
             }
-            pa_socket_client_set_callback(c->sc, on_connection, c);
+            pa_socket_client_set_callback(c->tcp_sc, tcp_on_connection, c);
             break;
         }
 
@@ -640,23 +639,23 @@ static void tcp_rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist
             break;
 
         case STATE_DISCONNECTED:
-            pa_assert(c->closed_callback);
+            pa_assert(c->tcp_closed_callback);
             pa_assert(c->rtsp);
 
             pa_log_debug("RTSP control channel closed");
             pa_rtsp_client_free(c->rtsp);
             c->rtsp = NULL;
-            if (c->fd > 0) {
+            if (c->tcp_fd > 0) {
                 /* We do not close the fd, we leave it to the closed callback to do that */
-                c->fd = -1;
+                c->tcp_fd = -1;
             }
-            if (c->sc) {
-                pa_socket_client_unref(c->sc);
-                c->sc = NULL;
+            if (c->tcp_sc) {
+                pa_socket_client_unref(c->tcp_sc);
+                c->tcp_sc = NULL;
             }
             pa_xfree(c->sid);
             c->sid = NULL;
-            c->closed_callback(c->closed_userdata);
+            c->tcp_closed_callback(c->tcp_closed_userdata);
             break;
     }
 }
@@ -697,8 +696,8 @@ static void udp_rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist
             char *trs;
 
             trs = pa_sprintf_malloc("RTP/AVP/UDP;unicast;interleaved=0-1;mode=record;control_port=%d;timing_port=%d",
-                c->control_port,
-                c->timing_port);
+                c->udp_control_port,
+                c->udp_timing_port);
 
             pa_rtsp_setup(c->rtsp, trs);
 
@@ -707,7 +706,7 @@ static void udp_rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist
         }
 
         case STATE_SETUP: {
-            uint32_t stream_port = DEFAULT_AUDIO_PORT;
+            uint32_t stream_port = UDP_DEFAULT_AUDIO_PORT;
             char *ajs, *trs, *token, *pc;
             char delimiters[] = ";";
             const char *token_state = NULL;
@@ -748,12 +747,12 @@ static void udp_rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist
                         if (pa_streq(token, "control_port")) {
                             port = 0;
                             pa_atou(pc + 1, &port);
-                            c->control_port = port;
+                            c->udp_control_port = port;
                         }
                         if (pa_streq(token, "timing_port")) {
                             port = 0;
                             pa_atou(pc + 1, &port);
-                            c->timing_port = port;
+                            c->udp_timing_port = port;
                         }
                         *pc = '=';
                     }
@@ -769,47 +768,47 @@ static void udp_rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist
             stream_port = pa_rtsp_serverport(c->rtsp);
             if (stream_port == 0)
                 goto error;
-            if (c->control_port == 0 || c->timing_port == 0)
+            if (c->udp_control_port == 0 || c->udp_timing_port == 0)
                 goto error;
 
             pa_log_debug("Using server_port=%d, control_port=%d & timing_port=%d",
                 stream_port,
-                c->control_port,
-                c->timing_port);
+                c->udp_control_port,
+                c->udp_timing_port);
 
-            c->stream_fd = open_udp_socket(c, stream_port, 0);
-            c->control_fd = open_udp_socket(c, c->control_port, 1);
-            c->timing_fd = open_udp_socket(c, c->timing_port, 1);
+            c->udp_stream_fd = open_udp_socket(c, stream_port, 0);
+            c->udp_control_fd = open_udp_socket(c, c->udp_control_port, 1);
+            c->udp_timing_fd = open_udp_socket(c, c->udp_timing_port, 1);
 
-            if (c->stream_fd <= 0)
+            if (c->udp_stream_fd <= 0)
                 goto error;
-            if (c->control_fd <= 0 || c->timing_fd <= 0)
+            if (c->udp_control_fd <= 0 || c->udp_timing_fd <= 0)
                 goto error;
 
-            c->setup_callback(c->control_fd, c->timing_fd, c->setup_userdata);
+            c->udp_setup_callback(c->udp_control_fd, c->udp_timing_fd, c->udp_setup_userdata);
             pa_rtsp_record(c->rtsp, &c->seq, &c->rtptime);
 
             break;
 
         error:
-            if (c->stream_fd > 0) {
-                pa_close(c->stream_fd);
-                c->stream_fd = -1;
+            if (c->udp_stream_fd > 0) {
+                pa_close(c->udp_stream_fd);
+                c->udp_stream_fd = -1;
             }
-            if (c->control_fd > 0) {
-                pa_close(c->control_fd);
-                c->control_fd = -1;
+            if (c->udp_control_fd > 0) {
+                pa_close(c->udp_control_fd);
+                c->udp_control_fd = -1;
             }
-            if (c->timing_fd > 0) {
-                pa_close(c->timing_fd);
-                c->timing_fd = -1;
+            if (c->udp_timing_fd > 0) {
+                pa_close(c->udp_timing_fd);
+                c->udp_timing_fd = -1;
             }
 
             pa_rtsp_client_free(c->rtsp);
             c->rtsp = NULL;
 
-            c->control_port = DEFAULT_CONTROL_PORT;
-            c->timing_port = DEFAULT_TIMING_PORT;
+            c->udp_control_port = UDP_DEFAULT_CONTROL_PORT;
+            c->udp_timing_port = UDP_DEFAULT_TIMING_PORT;
 
             pa_log_error("aborting RTSP setup, failed creating required sockets");
 
@@ -826,15 +825,15 @@ static void udp_rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist
             alt = pa_xstrdup(pa_headerlist_gets(headers, "Audio-Latency"));
             /* Generate a random synchronization source identifier from this session. */
             pa_random(&rand, sizeof(rand));
-            c->ssrc = rand;
+            c->udp_ssrc = rand;
 
             if (alt)
                 pa_atoi(alt, &latency);
 
-            c->first_packet = true;
-            c->sync_count = 0;
+            c->udp_first_packet = true;
+            c->udp_sync_count = 0;
 
-            c->record_callback(c->setup_userdata);
+            c->udp_record_callback(c->udp_setup_userdata);
 
             pa_xfree(alt);
             break;
@@ -857,17 +856,17 @@ static void udp_rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist
 
             pa_rtsp_disconnect(c->rtsp);
 
-            if (c->stream_fd > 0) {
-                pa_close(c->stream_fd);
-                c->stream_fd = -1;
+            if (c->udp_stream_fd > 0) {
+                pa_close(c->udp_stream_fd);
+                c->udp_stream_fd = -1;
             }
-            if (c->control_fd > 0) {
-                pa_close(c->control_fd);
-                c->control_fd = -1;
+            if (c->udp_control_fd > 0) {
+                pa_close(c->udp_control_fd);
+                c->udp_control_fd = -1;
             }
-            if (c->timing_fd > 0) {
-                pa_close(c->timing_fd);
-                c->timing_fd = -1;
+            if (c->udp_timing_fd > 0) {
+                pa_close(c->udp_timing_fd);
+                c->udp_timing_fd = -1;
             }
 
             pa_log_debug("RTSP control channel closed");
@@ -881,20 +880,20 @@ static void udp_rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist
         }
 
         case STATE_DISCONNECTED: {
-            pa_assert(c->disconnected_callback);
+            pa_assert(c->udp_disconnected_callback);
             pa_assert(c->rtsp);
 
-            if (c->stream_fd > 0) {
-                pa_close(c->stream_fd);
-                c->stream_fd = -1;
+            if (c->udp_stream_fd > 0) {
+                pa_close(c->udp_stream_fd);
+                c->udp_stream_fd = -1;
             }
-            if (c->control_fd > 0) {
-                pa_close(c->control_fd);
-                c->control_fd = -1;
+            if (c->udp_control_fd > 0) {
+                pa_close(c->udp_control_fd);
+                c->udp_control_fd = -1;
             }
-            if (c->timing_fd > 0) {
-                pa_close(c->timing_fd);
-                c->timing_fd = -1;
+            if (c->udp_timing_fd > 0) {
+                pa_close(c->udp_timing_fd);
+                c->udp_timing_fd = -1;
             }
 
             pa_log_debug("RTSP control channel closed");
@@ -904,7 +903,7 @@ static void udp_rtsp_cb(pa_rtsp_client *rtsp, pa_rtsp_state state, pa_headerlist
             c->rtsp = NULL;
             c->sid = NULL;
 
-            c->disconnected_callback(c->disconnected_userdata);
+            c->udp_disconnected_callback(c->udp_disconnected_userdata);
 
             break;
         }
@@ -924,14 +923,14 @@ pa_raop_client* pa_raop_client_new(pa_core *core, const char *host,
         return NULL;
 
     c->core = core;
-    c->fd = -1;
+    c->tcp_fd = -1;
     c->protocol = protocol;
-    c->stream_fd = -1;
-    c->control_fd = -1;
-    c->timing_fd = -1;
+    c->udp_stream_fd = -1;
+    c->udp_control_fd = -1;
+    c->udp_timing_fd = -1;
 
-    c->control_port = DEFAULT_CONTROL_PORT;
-    c->timing_port = DEFAULT_TIMING_PORT;
+    c->udp_control_port = UDP_DEFAULT_CONTROL_PORT;
+    c->udp_timing_port = UDP_DEFAULT_TIMING_PORT;
 
     c->host = pa_xstrdup(a.path_or_host);
     if (a.port)
@@ -939,10 +938,10 @@ pa_raop_client* pa_raop_client_new(pa_core *core, const char *host,
     else
         c->port = DEFAULT_RAOP_PORT;
 
-    c->first_packet = true;
+    c->udp_first_packet = true;
     /* Packet sync interval should be around 1s. */
-    c->sync_interval = spec.rate / FRAMES_PER_PACKET;
-    c->sync_count = 0;
+    c->udp_sync_interval = spec.rate / UDP_FRAMES_PER_PACKET;
+    c->udp_sync_count = 0;
 
     if (c->protocol == RAOP_TCP) {
         if (pa_raop_client_connect(c)) {
@@ -1011,7 +1010,7 @@ int pa_raop_client_flush(pa_raop_client *c) {
 
     if (c->rtsp != NULL) {
         rv = pa_rtsp_flush(c->rtsp, c->seq, c->rtptime);
-        c->sync_count = -1;
+        c->udp_sync_count = -1;
     }
 
     return rv;
@@ -1030,18 +1029,18 @@ int pa_raop_client_teardown(pa_raop_client *c) {
     return rv;
 }
 
-int pa_raop_client_can_stream(pa_raop_client *c) {
+int pa_raop_client_udp_can_stream(pa_raop_client *c) {
     int rv = 0;
 
     pa_assert(c);
 
-    if (c->stream_fd > 0)
+    if (c->udp_stream_fd > 0)
         rv = 1;
 
     return rv;
 }
 
-int pa_raop_client_handle_timing_packet(pa_raop_client *c, const uint8_t packet[], ssize_t size) {
+int pa_raop_client_udp_handle_timing_packet(pa_raop_client *c, const uint8_t packet[], ssize_t size) {
     const uint32_t * data = NULL;
     uint8_t payload = 0;
     struct timeval tv;
@@ -1058,15 +1057,15 @@ int pa_raop_client_handle_timing_packet(pa_raop_client *c, const uint8_t packet[
         return 1;
     }
 
-    data = (uint32_t *) (packet + sizeof(timming_header));
+    data = (uint32_t *) (packet + sizeof(udp_timming_header));
     rci = timeval_to_ntp(pa_rtclock_get(&tv));
     /* The market bit is always set (see rfc3550 for packet structure) ! */
     payload = packet[1] ^ 0x80;
     switch (payload) {
-        case PAYLOAD_TIMING_REQUEST:
-            rv = send_timing_packet(c, data, rci);
+        case UDP_PAYLOAD_TIMING_REQUEST:
+            rv = udp_send_timing_packet(c, data, rci);
             break;
-        case PAYLOAD_TIMING_RESPONSE:
+        case UDP_PAYLOAD_TIMING_RESPONSE:
         default:
             pa_log_debug("Got an unexpected payload type on timing channel !");
             return 1;
@@ -1075,7 +1074,7 @@ int pa_raop_client_handle_timing_packet(pa_raop_client *c, const uint8_t packet[
     return rv;
 }
 
-int pa_raop_client_handle_control_packet(pa_raop_client *c, const uint8_t packet[], ssize_t size) {
+int pa_raop_client_udp_handle_control_packet(pa_raop_client *c, const uint8_t packet[], ssize_t size) {
     uint8_t payload = 0;
     int rv = 0;
 
@@ -1089,13 +1088,14 @@ int pa_raop_client_handle_control_packet(pa_raop_client *c, const uint8_t packet
     }
 
     /* The market bit is always set (see rfc3550 for packet structure) ! */
+
     payload = packet[1] ^ 0x80;
     switch (payload) {
-        case PAYLOAD_RETRANSMIT_REQUEST:
+        case UDP_PAYLOAD_RETRANSMIT_REQUEST:
             /* Packet retransmission not implemented yet... */
             /* rv = ... */
             break;
-        case PAYLOAD_RETRANSMIT_REPLY:
+        case UDP_PAYLOAD_RETRANSMIT_REPLY:
         default:
             pa_log_debug("Got an unexpected payload type on control channel !");
             return 1;
@@ -1104,18 +1104,18 @@ int pa_raop_client_handle_control_packet(pa_raop_client *c, const uint8_t packet
     return rv;
 }
 
-int pa_raop_client_get_blocks_size(pa_raop_client *c, size_t *size) {
+int pa_raop_client_udp_get_blocks_size(pa_raop_client *c, size_t *size) {
     int rv = 0;
 
     pa_assert(c);
     pa_assert(size);
 
-    *size = FRAMES_PER_PACKET;
+    *size = UDP_FRAMES_PER_PACKET;
 
     return rv;
 }
 
-int pa_raop_client_send_audio_packet(pa_raop_client *c, pa_memchunk *block, ssize_t *written) {
+int pa_raop_client_udp_send_audio_packet(pa_raop_client *c, pa_memchunk *block, ssize_t *written) {
     uint32_t *buf = NULL;
     ssize_t length = 0;
     int rv = 0;
@@ -1124,24 +1124,24 @@ int pa_raop_client_send_audio_packet(pa_raop_client *c, pa_memchunk *block, ssiz
     pa_assert(block);
 
     /* Sync RTP & NTP timestamp if required. */
-    if (c->first_packet || c->sync_count >= c->sync_interval) {
-        send_sync_packet(c, c->rtptime);
-        c->sync_count = 0;
+    if (c->udp_first_packet || c->udp_sync_count >= c->udp_sync_interval) {
+        udp_send_sync_packet(c, c->rtptime);
+        c->udp_sync_count = 0;
     } else {
-        c->sync_count++;
+        c->udp_sync_count++;
     }
 
     buf = (uint32_t *) pa_memblock_acquire(block->memblock);
     if (buf != NULL && block->length > 0)
-        rv = send_audio_packet(c, buf + block->index, block->length, &length);
+        rv = udp_send_audio_packet(c, buf + block->index, block->length, &length);
     pa_memblock_release(block->memblock);
     block->index += length;
     block->length -= length;
     if (written != NULL)
         *written = length;
 
-    if (c->first_packet)
-        c->first_packet = false;
+    if (c->udp_first_packet)
+        c->udp_first_packet = false;
 
     return rv;
 }
@@ -1256,38 +1256,38 @@ int pa_raop_client_encode_sample(pa_raop_client *c, pa_memchunk *raw, pa_memchun
     return 0;
 }
 
-void pa_raop_client_set_callback(pa_raop_client *c, pa_raop_client_cb_t callback, void *userdata) {
+void pa_raop_client_tcp_set_callback(pa_raop_client *c, pa_raop_client_cb_t callback, void *userdata) {
     pa_assert(c);
 
-    c->callback = callback;
-    c->userdata = userdata;
+    c->tcp_callback = callback;
+    c->tcp_userdata = userdata;
 }
 
-void pa_raop_client_set_closed_callback(pa_raop_client *c, pa_raop_client_closed_cb_t callback, void *userdata) {
+void pa_raop_client_tcp_set_closed_callback(pa_raop_client *c, pa_raop_client_closed_cb_t callback, void *userdata) {
     pa_assert(c);
 
-    c->closed_callback = callback;
-    c->closed_userdata = userdata;
+    c->tcp_closed_callback = callback;
+    c->tcp_closed_userdata = userdata;
 }
 
 
-void pa_raop_client_set_setup_callback(pa_raop_client *c, pa_raop_client_setup_cb_t callback, void *userdata) {
+void pa_raop_client_udp_set_setup_callback(pa_raop_client *c, pa_raop_client_setup_cb_t callback, void *userdata) {
     pa_assert(c);
 
-    c->setup_callback = callback;
-    c->setup_userdata = userdata;
+    c->udp_setup_callback = callback;
+    c->udp_setup_userdata = userdata;
 }
 
-void pa_raop_client_set_record_callback(pa_raop_client *c, pa_raop_client_record_cb_t callback, void *userdata) {
+void pa_raop_client_udp_set_record_callback(pa_raop_client *c, pa_raop_client_record_cb_t callback, void *userdata) {
     pa_assert(c);
 
-    c->record_callback = callback;
-    c->record_userdata = userdata;
+    c->udp_record_callback = callback;
+    c->udp_record_userdata = userdata;
 }
 
-void pa_raop_client_set_disconnected_callback(pa_raop_client *c, pa_raop_client_disconnected_cb_t callback, void *userdata) {
+void pa_raop_client_udp_set_disconnected_callback(pa_raop_client *c, pa_raop_client_disconnected_cb_t callback, void *userdata) {
     pa_assert(c);
 
-    c->disconnected_callback = callback;
-    c->disconnected_userdata = userdata;
+    c->udp_disconnected_callback = callback;
+    c->udp_disconnected_userdata = userdata;
 }
diff --git a/src/modules/raop/raop_client.h b/src/modules/raop/raop_client.h
index 97847d9..5cf1ff7 100644
--- a/src/modules/raop/raop_client.h
+++ b/src/modules/raop/raop_client.h
@@ -41,30 +41,30 @@ int pa_raop_client_connect(pa_raop_client *c);
 int pa_raop_client_flush(pa_raop_client *c);
 int pa_raop_client_teardown(pa_raop_client *c);
 
-int pa_raop_client_can_stream(pa_raop_client *c);
+int pa_raop_client_udp_can_stream(pa_raop_client *c);
 int pa_raop_client_set_volume(pa_raop_client *c, pa_volume_t volume);
 int pa_raop_client_encode_sample(pa_raop_client *c, pa_memchunk *raw, pa_memchunk *encoded);
 
-int pa_raop_client_handle_timing_packet(pa_raop_client *c, const uint8_t packet
+int pa_raop_client_udp_handle_timing_packet(pa_raop_client *c, const uint8_t packet
 [], ssize_t size);
-int pa_raop_client_handle_control_packet(pa_raop_client *c, const uint8_t packet[], ssize_t size);
-int pa_raop_client_get_blocks_size(pa_raop_client *c, size_t *size);
-int pa_raop_client_send_audio_packet(pa_raop_client *c, pa_memchunk *block, ssize_t *written);
+int pa_raop_client_udp_handle_control_packet(pa_raop_client *c, const uint8_t packet[], ssize_t size);
+int pa_raop_client_udp_get_blocks_size(pa_raop_client *c, size_t *size);
+int pa_raop_client_udp_send_audio_packet(pa_raop_client *c, pa_memchunk *block, ssize_t *written);
 
 typedef void (*pa_raop_client_cb_t)(int fd, void *userdata);
-void pa_raop_client_set_callback(pa_raop_client *c, pa_raop_client_cb_t callback, void *userdata);
+void pa_raop_client_tcp_set_callback(pa_raop_client *c, pa_raop_client_cb_t callback, void *userdata);
 
 typedef void (*pa_raop_client_closed_cb_t)(void *userdata);
-void pa_raop_client_set_closed_callback(pa_raop_client *c, pa_raop_client_closed_cb_t callback, void *userdata);
+void pa_raop_client_tcp_set_closed_callback(pa_raop_client *c, pa_raop_client_closed_cb_t callback, void *userdata);
 
 
 typedef void (*pa_raop_client_setup_cb_t)(int control_fd, int timing_fd, void *userdata);
-void pa_raop_client_set_setup_callback(pa_raop_client *c, pa_raop_client_setup_cb_t callback, void *userdata);
+void pa_raop_client_udp_set_setup_callback(pa_raop_client *c, pa_raop_client_setup_cb_t callback, void *userdata);
 
 typedef void (*pa_raop_client_record_cb_t)(void *userdata);
-void pa_raop_client_set_record_callback(pa_raop_client *c, pa_raop_client_record_cb_t callback, void *userdata);
+void pa_raop_client_udp_set_record_callback(pa_raop_client *c, pa_raop_client_record_cb_t callback, void *userdata);
 
 typedef void (*pa_raop_client_disconnected_cb_t)(void *userdata);
-void pa_raop_client_set_disconnected_callback(pa_raop_client *c, pa_raop_client_disconnected_cb_t callback, void *userdata);
+void pa_raop_client_udp_set_disconnected_callback(pa_raop_client *c, pa_raop_client_disconnected_cb_t callback, void *userdata);
 
 #endif
-- 
1.8.1.2



More information about the pulseaudio-discuss mailing list