bluez-alsa: updated patches due to latest bump
[AGL/meta-agl-devel.git] / meta-audio-4a-framework / recipes-connectivity / bluez-alsa / bluez-alsa / 0001-build-and-link-with-a-shared-library.patch
1 From 7625b67a687b7a365d9d758a86ed05e84b2b3a61 Mon Sep 17 00:00:00 2001
2 From: Thierry Bultel <thierry.bultel@iot.bzh>
3 Date: Mon, 3 Dec 2018 14:29:07 +0100
4 Subject: [PATCH 1/3] build and link with a shared library
5
6 Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
7 ---
8  configure.ac                                   |  4 +-
9  includes/bluealsa/bluealsa.h                   | 21 ++++++
10  {src/shared => includes/bluealsa}/ctl-client.h |  2 +-
11  {src/shared => includes/bluealsa}/ctl-proto.h  |  0
12  {src/shared => includes/bluealsa}/defs.h       |  0
13  {src/shared => includes/bluealsa}/ffb.h        |  0
14  {src/shared => includes/bluealsa}/log.h        |  0
15  {src/shared => includes/bluealsa}/rt.h         |  0
16  src/Makefile.am                                | 11 ++-
17  src/asound/Makefile.am                         | 15 ++--
18  src/asound/bluealsa-ctl.c                      |  6 +-
19  src/asound/bluealsa-pcm.c                      | 10 +--
20  src/at.c                                       |  4 +-
21  src/bluealsa.h                                 |  2 +-
22  src/bluealsalib/Makefile.am                    | 50 ++++++++++++++
23  src/bluealsalib/bluealsa.pc.in                 | 12 ++++
24  src/bluez-a2dp.c                               |  2 +-
25  src/bluez.c                                    |  2 +-
26  src/ctl.c                                      |  4 +-
27  src/ctl.h                                      |  2 +-
28  src/io.c                                       |  8 +--
29  src/main.c                                     |  4 +-
30  src/ofono.c                                    |  2 +-
31  src/rfcomm.c                                   |  4 +-
32  src/shared/ctl-client.c                        |  4 +-
33  src/shared/ffb.c                               |  2 +-
34  src/shared/log.c                               |  4 +-
35  src/shared/rt.c                                |  2 +-
36  src/transport.c                                |  2 +-
37  src/utils.c                                    |  2 +-
38  test/Makefile.am                               | 10 ++-
39  test/server-mock.c                             |  3 -
40  test/test-at.c                                 |  1 -
41  test/test-bluealsalib.c                        | 96 ++++++++++++++++++++++++++
42  test/test-io.c                                 |  3 -
43  test/test-utils.c                              |  8 +--
44  utils/Makefile.am                              | 11 ++-
45  utils/aplay.c                                  |  8 +--
46  utils/rfcomm.c                                 |  4 +-
47  39 files changed, 252 insertions(+), 73 deletions(-)
48  create mode 100644 includes/bluealsa/bluealsa.h
49  rename {src/shared => includes/bluealsa}/ctl-client.h (98%)
50  rename {src/shared => includes/bluealsa}/ctl-proto.h (100%)
51  rename {src/shared => includes/bluealsa}/defs.h (100%)
52  rename {src/shared => includes/bluealsa}/ffb.h (100%)
53  rename {src/shared => includes/bluealsa}/log.h (100%)
54  rename {src/shared => includes/bluealsa}/rt.h (100%)
55  create mode 100644 src/bluealsalib/Makefile.am
56  create mode 100644 src/bluealsalib/bluealsa.pc.in
57  create mode 100644 test/test-bluealsalib.c
58
59 diff --git a/configure.ac b/configure.ac
60 index 0bb9452..6323d60 100644
61 --- a/configure.ac
62 +++ b/configure.ac
63 @@ -152,8 +152,10 @@ AC_CONFIG_FILES([
64         Makefile
65         src/Makefile
66         src/asound/Makefile
67 +       src/bluealsalib/Makefile
68         utils/Makefile
69 -       test/Makefile])
70 +       test/Makefile
71 +       src/bluealsalib/bluealsa.pc])
72  AC_OUTPUT
73  
74  # warn user that alsa-lib thread-safety makes troubles
75 diff --git a/includes/bluealsa/bluealsa.h b/includes/bluealsa/bluealsa.h
76 new file mode 100644
77 index 0000000..062856a
78 --- /dev/null
79 +++ b/includes/bluealsa/bluealsa.h
80 @@ -0,0 +1,21 @@
81 +/*
82 + * BlueALSA - bluealsa.h
83 + * Copyright (c) 2018 Thierry Bultel
84 + *
85 + * This file is a part of bluez-alsa.
86 + *
87 + * This project is licensed under the terms of the MIT license.
88 + *
89 + */
90 +
91 +#ifndef BLUEALSA_H
92 +#define BLUEALSA_H
93 +
94 +#include <bluealsa/ctl-client.h>
95 +#include <bluealsa/defs.h>
96 +
97 +typedef int (*transport_update_cb) (struct ba_msg_transport *transports);
98 +
99 +extern int bluelsa_register_transport_update_cb(const char * interfance, transport_update_cb cb);
100 +
101 +#endif
102 diff --git a/src/shared/ctl-client.h b/includes/bluealsa/ctl-client.h
103 similarity index 98%
104 rename from src/shared/ctl-client.h
105 rename to includes/bluealsa/ctl-client.h
106 index 3dc93a6..b8af154 100644
107 --- a/src/shared/ctl-client.h
108 +++ b/includes/bluealsa/ctl-client.h
109 @@ -12,7 +12,7 @@
110  #define BLUEALSA_SHARED_CTLCLIENT_H_
111  
112  #include <stdbool.h>
113 -#include "shared/ctl-proto.h"
114 +#include <bluealsa/ctl-proto.h>
115  
116  int bluealsa_open(const char *interface);
117  
118 diff --git a/src/shared/ctl-proto.h b/includes/bluealsa/ctl-proto.h
119 similarity index 100%
120 rename from src/shared/ctl-proto.h
121 rename to includes/bluealsa/ctl-proto.h
122 diff --git a/src/shared/defs.h b/includes/bluealsa/defs.h
123 similarity index 100%
124 rename from src/shared/defs.h
125 rename to includes/bluealsa/defs.h
126 diff --git a/src/shared/ffb.h b/includes/bluealsa/ffb.h
127 similarity index 100%
128 rename from src/shared/ffb.h
129 rename to includes/bluealsa/ffb.h
130 diff --git a/src/shared/log.h b/includes/bluealsa/log.h
131 similarity index 100%
132 rename from src/shared/log.h
133 rename to includes/bluealsa/log.h
134 diff --git a/src/shared/rt.h b/includes/bluealsa/rt.h
135 similarity index 100%
136 rename from src/shared/rt.h
137 rename to includes/bluealsa/rt.h
138 diff --git a/src/Makefile.am b/src/Makefile.am
139 index fb1241d..5626ae5 100644
140 --- a/src/Makefile.am
141 +++ b/src/Makefile.am
142 @@ -2,12 +2,9 @@
143  # Copyright (c) 2016-2018 Arkadiusz Bokowy
144  
145  bin_PROGRAMS = bluealsa
146 -SUBDIRS = asound
147 +SUBDIRS = bluealsalib asound
148  
149  bluealsa_SOURCES = \
150 -       shared/ffb.c \
151 -       shared/log.c \
152 -       shared/rt.c \
153         at.c \
154         bluealsa.c \
155         bluez.c \
156 @@ -34,7 +31,8 @@ AM_CFLAGS = \
157         @APTX_CFLAGS@ \
158         @LDAC_CFLAGS@ \
159         @LDAC_ABR_CFLAGS@ \
160 -       @SBC_CFLAGS@
161 +       @SBC_CFLAGS@ \
162 +       -I$(top_srcdir)/includes
163  
164  LDADD = \
165         @BLUEZ_LIBS@ \
166 @@ -44,4 +42,5 @@ LDADD = \
167         @APTX_LIBS@ \
168         @LDAC_LIBS@ \
169         @LDAC_ABR_LIBS@ \
170 -       @SBC_LIBS@
171 +       @SBC_LIBS@ \
172 +       bluealsalib/libbluealsa.la
173 diff --git a/src/asound/Makefile.am b/src/asound/Makefile.am
174 index 923d884..24618f1 100644
175 --- a/src/asound/Makefile.am
176 +++ b/src/asound/Makefile.am
177 @@ -5,32 +5,35 @@ EXTRA_DIST = 20-bluealsa.conf
178  
179  asound_module_ctl_LTLIBRARIES = libasound_module_ctl_bluealsa.la
180  asound_module_pcm_LTLIBRARIES = libasound_module_pcm_bluealsa.la
181 +
182  asound_module_conf_DATA = 20-bluealsa.conf
183  
184  libasound_module_ctl_bluealsa_la_SOURCES = \
185 -       ../shared/ctl-client.c \
186 -       ../shared/log.c \
187         bluealsa-ctl.c
188 +
189  libasound_module_pcm_bluealsa_la_SOURCES = \
190 -       ../shared/ctl-client.c \
191 -       ../shared/log.c \
192 -       ../shared/rt.c \
193         bluealsa-pcm.c
194  
195  asound_module_ctldir = @ALSA_PLUGIN_DIR@
196  asound_module_pcmdir = @ALSA_PLUGIN_DIR@
197 +
198  asound_module_confdir = @ALSA_CONF_DIR@
199  
200  AM_CFLAGS = \
201         -I$(top_srcdir)/src \
202 +       -I$(top_srcdir)/includes \
203         @ALSA_CFLAGS@ \
204         @BLUEZ_CFLAGS@ \
205         @GLIB2_CFLAGS@
206  
207 -AM_LDFLAGS = -module -avoid-version
208 +AM_LDFLAGS = \
209 +       -module \
210 +       -avoid-version  \
211 +       ../bluealsalib/libbluealsa.la
212  
213  libasound_module_ctl_bluealsa_la_LIBADD = \
214         @ALSA_LIBS@
215 +
216  libasound_module_pcm_bluealsa_la_LIBADD = \
217         @ALSA_LIBS@ \
218         @BLUEZ_LIBS@
219 diff --git a/src/asound/bluealsa-ctl.c b/src/asound/bluealsa-ctl.c
220 index f4a0181..1b9d124 100644
221 --- a/src/asound/bluealsa-ctl.c
222 +++ b/src/asound/bluealsa-ctl.c
223 @@ -19,9 +19,9 @@
224  #include <alsa/asoundlib.h>
225  #include <alsa/control_external.h>
226  
227 -#include "shared/ctl-client.h"
228 -#include "shared/ctl-proto.h"
229 -#include "shared/log.h"
230 +#include <bluealsa/ctl-client.h>
231 +#include <bluealsa/ctl-proto.h>
232 +#include <bluealsa/log.h>
233  
234  
235  enum ctl_elem_type {
236 diff --git a/src/asound/bluealsa-pcm.c b/src/asound/bluealsa-pcm.c
237 index 258aebd..42cb61d 100644
238 --- a/src/asound/bluealsa-pcm.c
239 +++ b/src/asound/bluealsa-pcm.c
240 @@ -23,11 +23,11 @@
241  #include <alsa/asoundlib.h>
242  #include <alsa/pcm_external.h>
243  
244 -#include "shared/ctl-client.h"
245 -#include "shared/ctl-proto.h"
246 -#include "shared/defs.h"
247 -#include "shared/log.h"
248 -#include "shared/rt.h"
249 +#include <bluealsa/ctl-client.h>
250 +#include <bluealsa/ctl-proto.h>
251 +#include <bluealsa/defs.h>
252 +#include <bluealsa/log.h>
253 +#include <bluealsa/rt.h>
254  
255  
256  struct bluealsa_pcm {
257 diff --git a/src/at.c b/src/at.c
258 index e3d1703..bda2255 100644
259 --- a/src/at.c
260 +++ b/src/at.c
261 @@ -16,8 +16,8 @@
262  #include <stdio.h>
263  #include <string.h>
264  
265 -#include "shared/defs.h"
266 -#include "shared/log.h"
267 +#include <bluealsa/defs.h>
268 +#include <bluealsa/log.h>
269  
270  
271  /**
272 diff --git a/src/bluealsa.h b/src/bluealsa.h
273 index 7968ba9..7eee34f 100644
274 --- a/src/bluealsa.h
275 +++ b/src/bluealsa.h
276 @@ -27,7 +27,7 @@
277  #include "bluez.h"
278  #include "bluez-a2dp.h"
279  #include "transport.h"
280 -#include "shared/ctl-proto.h"
281 +#include <bluealsa/ctl-proto.h>
282  
283  struct ba_config {
284  
285 diff --git a/src/bluealsalib/Makefile.am b/src/bluealsalib/Makefile.am
286 new file mode 100644
287 index 0000000..11d9e00
288 --- /dev/null
289 +++ b/src/bluealsalib/Makefile.am
290 @@ -0,0 +1,50 @@
291 +# BlueALSA - Makefile.am
292 +# Copyright (c) 2018 Thiery Bultel (thierry.bultel@iot.bzh)
293 +
294 +bluealsalib_LTLIBRARIES = libbluealsa.la
295 +
296 +libbluealsa_la_SOURCES = \
297 +       ../shared/ctl-client.c \
298 +       ../shared/ffb.c \
299 +       ../shared/log.c \
300 +       ../shared/rt.c
301 +
302 +EXTRA_DIST=bluealsa.pc.in
303 +
304 +pkgconfigdir = $(libdir)/pkgconfig
305 +pkgconfig_DATA = bluealsa.pc
306 +
307 +AM_CFLAGS = \
308 +       -I$(top_srcdir)/src \
309 +       -I$(top_srcdir)/includes \
310 +       @ALSA_CFLAGS@ \
311 +       @BLUEZ_CFLAGS@ \
312 +       @GLIB2_CFLAGS@
313 +
314 +libbluealsa_la_LIBADD = \
315 +       @ALSA_LIBS@ \
316 +       @BLUEZ_LIBS@
317 +
318 +libbluealsa_la_LDFLAGS = \
319 +       $(AM_LDFLAGS) \
320 +       -version-info 1:0:0
321 +
322 +bluealsalibdir = $(libdir)
323 +
324 +# install path for published headers
325 +bluealsalibincludedir=$(includedir)/bluealsa
326 +
327 +bluealsalib_headers_dir=../../includes/bluealsa
328 +
329 +bluealsalib_headers = \
330 +       $(bluealsalib_headers_dir)/bluealsa.h \
331 +       $(bluealsalib_headers_dir)/ctl-client.h \
332 +       $(bluealsalib_headers_dir)/ctl-proto.h \
333 +       $(bluealsalib_headers_dir)/defs.h \
334 +       $(bluealsalib_headers_dir)/ffb.h \
335 +       $(bluealsalib_headers_dir)/log.h \
336 +       $(bluealsalib_headers_dir)/rt.h
337 +
338 +libbluealsa_la_SOURCES += $(bluealsalib_headers)
339 +
340 +bluealsalibinclude_HEADERS = $(bluealsalib_headers)
341 diff --git a/src/bluealsalib/bluealsa.pc.in b/src/bluealsalib/bluealsa.pc.in
342 new file mode 100644
343 index 0000000..93c3c4a
344 --- /dev/null
345 +++ b/src/bluealsalib/bluealsa.pc.in
346 @@ -0,0 +1,12 @@
347 +prefix=@prefix@
348 +exec_prefix=@exec_prefix@
349 +libdir=@libdir@
350 +includedir=@includedir@
351 +
352 +Name: alsa
353 +Description: Bluez-Alsa - Library
354 +Version: @VERSION@
355 +Requires:
356 +Libs: -L${libdir} -lbluealsa
357 +#Libs.private: @ALSA_DEPLIBS@
358 +Cflags: -I${includedir}/bluealsa
359 diff --git a/src/bluez-a2dp.c b/src/bluez-a2dp.c
360 index 5f81e6e..4c7b07b 100644
361 --- a/src/bluez-a2dp.c
362 +++ b/src/bluez-a2dp.c
363 @@ -13,7 +13,7 @@
364  #endif
365  
366  #include "bluez-a2dp.h"
367 -#include "shared/defs.h"
368 +#include <bluealsa/defs.h>
369  
370  static const a2dp_sbc_t a2dp_sbc = {
371         .frequency =
372 diff --git a/src/bluez.c b/src/bluez.c
373 index 537f0fe..591fdce 100644
374 --- a/src/bluez.c
375 +++ b/src/bluez.c
376 @@ -24,7 +24,7 @@
377  #include "ctl.h"
378  #include "transport.h"
379  #include "utils.h"
380 -#include "shared/log.h"
381 +#include <bluealsa/log.h>
382  
383  
384  /**
385 diff --git a/src/ctl.c b/src/ctl.c
386 index ae2b812..dd3ab45 100644
387 --- a/src/ctl.c
388 +++ b/src/ctl.c
389 @@ -32,8 +32,8 @@
390  #include "hfp.h"
391  #include "transport.h"
392  #include "utils.h"
393 -#include "shared/defs.h"
394 -#include "shared/log.h"
395 +#include <bluealsa/defs.h>
396 +#include <bluealsa/log.h>
397  
398  /* Special PCM type for internal usage only. */
399  #define BA_PCM_TYPE_RFCOMM 0x1F
400 diff --git a/src/ctl.h b/src/ctl.h
401 index 0e3c46b..593a9fd 100644
402 --- a/src/ctl.h
403 +++ b/src/ctl.h
404 @@ -11,7 +11,7 @@
405  #ifndef BLUEALSA_CTL_H_
406  #define BLUEALSA_CTL_H_
407  
408 -#include "shared/ctl-proto.h"
409 +#include <bluealsa/ctl-proto.h>
410  
411  /* Indexes of special file descriptors in the poll array. */
412  #define CTL_IDX_SRV 0
413 diff --git a/src/io.c b/src/io.c
414 index b3d7ac9..f81eeb0 100644
415 --- a/src/io.c
416 +++ b/src/io.c
417 @@ -44,10 +44,10 @@
418  #include "bluealsa.h"
419  #include "transport.h"
420  #include "utils.h"
421 -#include "shared/defs.h"
422 -#include "shared/ffb.h"
423 -#include "shared/log.h"
424 -#include "shared/rt.h"
425 +#include <bluealsa/defs.h>
426 +#include <bluealsa/ffb.h>
427 +#include <bluealsa/log.h>
428 +#include <bluealsa/rt.h>
429  
430  
431  /**
432 diff --git a/src/main.c b/src/main.c
433 index 35e6702..9cef402 100644
434 --- a/src/main.c
435 +++ b/src/main.c
436 @@ -37,8 +37,8 @@
437  #endif
438  #include "transport.h"
439  #include "utils.h"
440 -#include "shared/defs.h"
441 -#include "shared/log.h"
442 +#include <bluealsa/defs.h>
443 +#include <bluealsa/log.h>
444  
445  
446  static char *get_a2dp_codecs(
447 diff --git a/src/ofono.c b/src/ofono.c
448 index 902d099..bfd4e39 100644
449 --- a/src/ofono.c
450 +++ b/src/ofono.c
451 @@ -27,7 +27,7 @@
452  #include "ctl.h"
453  #include "ofono-iface.h"
454  #include "transport.h"
455 -#include "shared/log.h"
456 +#include <bluealsa/log.h>
457  
458  #define OFONO_FAKE_DEV_ID 0xffff
459  
460 diff --git a/src/rfcomm.c b/src/rfcomm.c
461 index a86ae61..2d76725 100644
462 --- a/src/rfcomm.c
463 +++ b/src/rfcomm.c
464 @@ -17,11 +17,11 @@
465  #include <string.h>
466  #include <unistd.h>
467  
468 +#include <bluealsa/defs.h>
469  #include "bluealsa.h"
470  #include "ctl.h"
471  #include "utils.h"
472 -#include "shared/defs.h"
473 -#include "shared/log.h"
474 +#include <bluealsa/log.h>
475  
476  
477  /**
478 diff --git a/src/shared/ctl-client.c b/src/shared/ctl-client.c
479 index 6cf9402..2da9a54 100644
480 --- a/src/shared/ctl-client.c
481 +++ b/src/shared/ctl-client.c
482 @@ -8,7 +8,7 @@
483   *
484   */
485  
486 -#include "shared/ctl-client.h"
487 +#include <bluealsa/ctl-client.h>
488  
489  #include <errno.h>
490  #include <fcntl.h>
491 @@ -19,7 +19,7 @@
492  #include <sys/types.h>
493  #include <sys/un.h>
494  
495 -#include "shared/log.h"
496 +#include <bluealsa/log.h>
497  
498  
499  /**
500 diff --git a/src/shared/ffb.c b/src/shared/ffb.c
501 index b31d7d1..ab50f4a 100644
502 --- a/src/shared/ffb.c
503 +++ b/src/shared/ffb.c
504 @@ -8,7 +8,7 @@
505   *
506   */
507  
508 -#include "shared/ffb.h"
509 +#include "../../includes/bluealsa/ffb.h"
510  
511  
512  /**
513 diff --git a/src/shared/log.c b/src/shared/log.c
514 index 65f0fea..884540c 100644
515 --- a/src/shared/log.c
516 +++ b/src/shared/log.c
517 @@ -8,7 +8,7 @@
518   *
519   */
520  
521 -#include "shared/log.h"
522 +#include <bluealsa/log.h>
523  
524  #include <pthread.h>
525  #include <stdarg.h>
526 @@ -17,7 +17,7 @@
527  #include <string.h>
528  #include <syslog.h>
529  
530 -#include "shared/rt.h"
531 +#include <bluealsa/rt.h>
532  
533  
534  /* internal logging identifier */
535 diff --git a/src/shared/rt.c b/src/shared/rt.c
536 index edcbebc..40bd721 100644
537 --- a/src/shared/rt.c
538 +++ b/src/shared/rt.c
539 @@ -8,7 +8,7 @@
540   *
541   */
542  
543 -#include "shared/rt.h"
544 +#include <bluealsa/rt.h>
545  
546  #include <stdlib.h>
547  
548 diff --git a/src/transport.c b/src/transport.c
549 index 7253925..1617dd1 100644
550 --- a/src/transport.c
551 +++ b/src/transport.c
552 @@ -34,7 +34,7 @@
553  #include "io.h"
554  #include "rfcomm.h"
555  #include "utils.h"
556 -#include "shared/log.h"
557 +#include <bluealsa/log.h>
558  
559  
560  static const char *transport_type_to_string(enum ba_transport_type type) {
561 diff --git a/src/utils.c b/src/utils.c
562 index 70d069e..27459d2 100644
563 --- a/src/utils.c
564 +++ b/src/utils.c
565 @@ -24,7 +24,7 @@
566  
567  #include "a2dp-codecs.h"
568  #include "bluez.h"
569 -#include "shared/log.h"
570 +#include <bluealsa/log.h>
571  
572  
573  /**
574 diff --git a/test/Makefile.am b/test/Makefile.am
575 index 104dc63..8f7b2eb 100644
576 --- a/test/Makefile.am
577 +++ b/test/Makefile.am
578 @@ -6,7 +6,8 @@ TESTS = \
579         test-ctl \
580         test-io \
581         test-pcm \
582 -       test-utils
583 +       test-utils \
584 +       test-bluealsalib
585  
586  check_PROGRAMS = \
587         server-mock \
588 @@ -14,7 +15,8 @@ check_PROGRAMS = \
589         test-ctl \
590         test-io \
591         test-pcm \
592 -       test-utils
593 +       test-utils \
594 +       test-bluealsalib
595  
596  check_LTLIBRARIES = \
597         aloader.la
598 @@ -25,6 +27,7 @@ aloader_la_LDFLAGS = \
599  
600  AM_CFLAGS = \
601         -I$(top_srcdir)/src \
602 +       -I$(top_srcdir)/includes \
603         @AAC_CFLAGS@ \
604         @ALSA_CFLAGS@ \
605         @APTX_CFLAGS@ \
606 @@ -46,4 +49,5 @@ LDADD = \
607         @GLIB2_LIBS@ \
608         @LDAC_ABR_LIBS@ \
609         @LDAC_LIBS@ \
610 -       @SBC_LIBS@
611 +       @SBC_LIBS@ \
612 +       ../src/bluealsalib/libbluealsa.la
613 diff --git a/test/server-mock.c b/test/server-mock.c
614 index 8c3a90e..c88fa35 100644
615 --- a/test/server-mock.c
616 +++ b/test/server-mock.c
617 @@ -31,9 +31,6 @@
618  #include "../src/rfcomm.c"
619  #include "../src/transport.c"
620  #include "../src/utils.c"
621 -#include "../src/shared/ffb.c"
622 -#include "../src/shared/log.c"
623 -#include "../src/shared/rt.c"
624  
625  static const a2dp_sbc_t cconfig = {
626         .frequency = SBC_SAMPLING_FREQ_44100,
627 diff --git a/test/test-at.c b/test/test-at.c
628 index 8cff264..a847c22 100644
629 --- a/test/test-at.c
630 +++ b/test/test-at.c
631 @@ -11,7 +11,6 @@
632  #include <check.h>
633  
634  #include "../src/at.c"
635 -#include "../src/shared/log.c"
636  
637  START_TEST(test_at_build) {
638  
639 diff --git a/test/test-bluealsalib.c b/test/test-bluealsalib.c
640 new file mode 100644
641 index 0000000..d5fa3ff
642 --- /dev/null
643 +++ b/test/test-bluealsalib.c
644 @@ -0,0 +1,96 @@
645 +/*
646 + * test-bluealsalib.c
647 + * Copyright (c) 2018 Thierry Bultel
648 + *
649 + * This file is a part of bluez-alsa.
650 + *
651 + * This project is licensed under the terms of the MIT license.
652 + *
653 + */
654 +
655 +// TODO monitor all available interfaces
656 +const char * ba_interface = "hci0";
657 +
658 +#include <bluealsa/bluealsa.h>
659 +#include <bluealsa/log.h>
660 +#include <pthread.h>
661 +#include <errno.h>
662 +#include <poll.h>
663 +
664 +
665 +static void * monitor_thread_entry(void* arg) {
666 +       debug("...");
667 +
668 +       int ba_fd, ba_event_fd;
669 +       enum ba_event transport_mask = BA_EVENT_TRANSPORT_ADDED | BA_EVENT_TRANSPORT_CHANGED|BA_EVENT_TRANSPORT_REMOVED;
670 +
671 +       if ((ba_fd = bluealsa_open(ba_interface)) == -1) {
672 +               error("BlueALSA connection failed: %s", strerror(errno));
673 +               goto fail;
674 +       }
675 +
676 +       if ((ba_event_fd = bluealsa_open(ba_interface)) == -1) {
677 +               error("BlueALSA connection failed: %s", strerror(errno));
678 +               goto fail;
679 +       }
680 +
681 +       if (bluealsa_subscribe(ba_event_fd, transport_mask) == -1) {
682 +               error("BlueALSA subscription failed: %s", strerror(errno));
683 +               goto fail;
684 +       }
685 +
686 +goto init;
687 +
688 +       while (true) {
689 +
690 +               struct ba_msg_event event;
691 +               struct ba_msg_transport *transports;
692 +               ssize_t ret;
693 +               size_t i;
694 +
695 +               struct pollfd pfds[] = {{ ba_event_fd, POLLIN, 0 }};
696 +               if (poll(pfds, ARRAYSIZE(pfds), -1) == -1 && errno == EINTR)
697 +                       continue;
698 +
699 +               while ((ret = recv(ba_event_fd, &event, sizeof(event), MSG_DONTWAIT)) == -1 && errno == EINTR)
700 +                       continue;
701 +               if (ret != sizeof(event)) {
702 +                       error("Couldn't read event: %s", strerror(ret == -1 ? errno : EBADMSG));
703 +                       goto fail;
704 +               }
705 +
706 +init:
707 +               debug("Fetching available transports");
708 +               if ((ret = bluealsa_get_transports(ba_fd, &transports)) == -1) {
709 +                       error("Couldn't get transports: %s", strerror(errno));
710 +                       goto fail;
711 +               }
712 +
713 +               debug("Got %d transports", ret);
714 +
715 +               for (int ix=0; ix<ret; ix++) {
716 +                       char addr[18];
717 +                       struct ba_msg_transport * transport = &transports[ix];
718 +                       ba2str(&transport->addr, addr);
719 +                       info("Transport %d: type %d, dev %s", ix, transport->type, addr);
720 +               }
721 +
722 +       }
723 +
724 +fail:
725 +       info("exit");
726 +       return NULL;
727 +}
728 +
729 +int main(int argc, char * argv[]) {
730 +       printf("%s... !\n", argv[0]);
731 +
732 +       pthread_t monitor;
733 +       if (pthread_create(&monitor, NULL, monitor_thread_entry, NULL) == -1) {
734 +               debug("failed to create the monitor thread");
735 +               goto fail;
736 +       }
737 +       pthread_join(monitor, NULL);
738 +fail:
739 +       return 0;
740 +}
741 diff --git a/test/test-io.c b/test/test-io.c
742 index d913d2f..8ebb1d8 100644
743 --- a/test/test-io.c
744 +++ b/test/test-io.c
745 @@ -21,9 +21,6 @@
746  #include "../src/rfcomm.c"
747  #include "../src/transport.c"
748  #include "../src/utils.c"
749 -#include "../src/shared/ffb.c"
750 -#include "../src/shared/log.c"
751 -#include "../src/shared/rt.c"
752  
753  static const a2dp_sbc_t config_sbc_44100_stereo = {
754         .frequency = SBC_SAMPLING_FREQ_44100,
755 diff --git a/test/test-utils.c b/test/test-utils.c
756 index b704b42..46475f1 100644
757 --- a/test/test-utils.c
758 +++ b/test/test-utils.c
759 @@ -10,11 +10,11 @@
760  
761  #include <check.h>
762  
763 +#include <bluealsa/defs.h>
764 +#include <bluealsa/ffb.h>
765 +#include <bluealsa/rt.h>
766 +
767  #include "../src/utils.c"
768 -#include "../src/shared/defs.h"
769 -#include "../src/shared/ffb.c"
770 -#include "../src/shared/log.c"
771 -#include "../src/shared/rt.c"
772  
773  START_TEST(test_dbus_profile_object_path) {
774  
775 diff --git a/utils/Makefile.am b/utils/Makefile.am
776 index 256689a..a6d132c 100644
777 --- a/utils/Makefile.am
778 +++ b/utils/Makefile.am
779 @@ -6,32 +6,31 @@ bin_PROGRAMS =
780  if ENABLE_APLAY
781  bin_PROGRAMS += bluealsa-aplay
782  bluealsa_aplay_SOURCES = \
783 -       ../src/shared/ctl-client.c \
784 -       ../src/shared/ffb.c \
785 -       ../src/shared/log.c \
786         aplay.c
787  bluealsa_aplay_CFLAGS = \
788         -I$(top_srcdir)/src \
789 +       -I$(top_srcdir)/includes \
790         @ALSA_CFLAGS@ \
791         @BLUEZ_CFLAGS@ \
792         @GIO2_CFLAGS@
793  bluealsa_aplay_LDADD = \
794         @ALSA_LIBS@ \
795         @BLUEZ_LIBS@ \
796 -       @GIO2_LIBS@
797 +       @GIO2_LIBS@ \
798 +       ../src/bluealsalib/libbluealsa.la
799  endif
800  
801  if ENABLE_RFCOMM
802  bin_PROGRAMS += bluealsa-rfcomm
803  bluealsa_rfcomm_SOURCES = \
804 -       ../src/shared/ctl-client.c \
805 -       ../src/shared/log.c \
806         rfcomm.c
807  bluealsa_rfcomm_CFLAGS = \
808         -I$(top_srcdir)/src \
809 +       -I$(top_srcdir)/includes \
810         @BLUEZ_CFLAGS@
811  bluealsa_rfcomm_LDADD = \
812         @BLUEZ_LIBS@ \
813 +       ../src/bluealsalib/libbluealsa.la \
814         -lreadline
815  endif
816  
817 diff --git a/utils/aplay.c b/utils/aplay.c
818 index f792ce6..4b1372e 100644
819 --- a/utils/aplay.c
820 +++ b/utils/aplay.c
821 @@ -25,10 +25,10 @@
822  #include <alsa/asoundlib.h>
823  #include <gio/gio.h>
824  
825 -#include "shared/ctl-client.h"
826 -#include "shared/defs.h"
827 -#include "shared/ffb.h"
828 -#include "shared/log.h"
829 +#include <bluealsa/ctl-client.h>
830 +#include <bluealsa/defs.h>
831 +#include <bluealsa/ffb.h>
832 +#include <bluealsa/log.h>
833  
834  struct pcm_worker {
835         struct ba_msg_transport transport;
836 diff --git a/utils/rfcomm.c b/utils/rfcomm.c
837 index cc31f46..38e3b30 100644
838 --- a/utils/rfcomm.c
839 +++ b/utils/rfcomm.c
840 @@ -24,8 +24,8 @@
841  #include <readline/readline.h>
842  #include <readline/history.h>
843  
844 -#include "shared/ctl-client.h"
845 -#include "shared/log.h"
846 +#include <bluealsa/ctl-client.h>
847 +#include <bluealsa/log.h>
848  
849  static char *strtrim(char *str) {
850         while (isspace(*str))
851 -- 
852 2.16.4
853