Skip to contentSkip to conversation

New A2DP related progress

Bluez-devel Applied Frédéric DALLEAU 2 participants 2 messages Jul 28, 2006

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi all, Brad, Matthew, Fabien,

My latest work on a2dp daemon. I got good sound on both pc and arm!! Features a volume control plugin.

Stereo stream is still inverted.
There is also a parasite sound that you hear when silence is sent. Both are certainly related! minor cracks when starting a stream.

Matthew, bmp does work well if esd is selected as output. This is due to difference in alsa data transfer (SND_PCM_ACCESS_RW_INTERLEAVED vs SND_PCM_ACCESS_MMAP_INTERLEAVED). I will have a look later.

Fabien, I successfully used alsamixer to configure volume on my device. Do you know of other software that would allow mixing for any control device? I cannot tell xmms to use the device.

Brad, as usual tarball :D available : http://fdalleau.free.fr/btsco.tar.gz, and a patch attached.

Hope you like it!
Frédéric

? .deps
? Makefile
? Makefile.in
? aclocal.m4
? autom4te.cache
? config.guess
? config.h
? config.h.in
? config.log
? config.status
? config.sub
? configure
? depcomp
? install-sh
? libtool
? missing
? mkinstalldirs
? stamp-h
? stamp-h.in
? alsa-plugins/.deps
? alsa-plugins/Makefile
? alsa-plugins/Makefile.in
? avdtp/.deps
? avdtp/Makefile
? avdtp/Makefile.in
? sbc/.deps
? sbc/Makefile
? sbc/Makefile.in
Index: configure.in
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/configure.in,v retrieving revision 1.11

configure.in +1 -1
diff -u -r1.11 configure.in
@@ -5,7 +5,7 @@
 AC_PREREQ(2.50)
 AC_INIT()
 
-AM_INIT_AUTOMAKE(btsco, 0.2)
+AM_INIT_AUTOMAKE(btsco, 0.42)
 AM_CONFIG_HEADER(config.h)
 
 if (test "${CFLAGS}" = ""); then

Index: alsa-plugins/Makefile.am
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/alsa-plugins/Makefile.am,v retrieving revision 1.3

Makefile.am +10 -6
diff -u -r1.3 Makefile.am
@@ -1,5 +1,6 @@
 libasound_module_pcm_a2dp_la_LDFLAGS = -module -avoid-version -export-dynamic
 libasound_module_pcm_a2dpd_la_LDFLAGS = -module -avoid-version -export-dynamic
+libasound_module_ctl_a2dpd_la_LDFLAGS = -module -avoid-version -export-dynamic
 libasound_module_pcm_headset_la_LDFLAGS = -module -avoid-version -export-dynamic
 
 if ALSAPLUGIN
@@ -8,20 +9,23 @@
 
 alsadir = $(libdir)/alsa-lib
 
-alsa_LTLIBRARIES = libasound_module_pcm_a2dp.la libasound_module_pcm_a2dpd.la libasound_module_pcm_headset.la
+alsa_LTLIBRARIES = libasound_module_pcm_a2dp.la libasound_module_pcm_a2dpd.la libasound_module_ctl_a2dpd.la libasound_module_pcm_headset.la
 
 libasound_module_pcm_a2dp_la_SOURCES = pcm_a2dp.c
 libasound_module_pcm_a2dp_la_LIBADD = @ALSA_LIBS@ @BLUEZ_LIBS@ -lsbc -lpthread
 
-libasound_module_pcm_a2dpd_la_SOURCES = pcm_a2dpd.c
-libasound_module_pcm_a2dpd_la_LIBADD = @ALSA_LIBS@ @BLUEZ_LIBS@ -lsbc -lpthread
+libasound_module_pcm_a2dpd_la_SOURCES = pcm_a2dpd.c a2dp_timer.c a2dp_ipc.c
+libasound_module_pcm_a2dpd_la_LIBADD = @ALSA_LIBS@ -lrt
+
+libasound_module_ctl_a2dpd_la_SOURCES = ctl_a2dpd.c a2dp_ipc.c
+libasound_module_ctl_a2dpd_la_LIBADD = @ALSA_LIBS@
 
 libasound_module_pcm_headset_la_SOURCES = pcm_headset.c
 libasound_module_pcm_headset_la_LIBADD = @ALSA_LIBS@ @BLUEZ_LIBS@ -lpthread
 
-noinst_PROGRAMS = a2dpd
-a2dpd_SOURCES = a2dpd.c a2dplib.c
-a2dpd_LDADD = @BLUEZ_LIBS@ -lsbc -lpthread
+bin_PROGRAMS = a2dpd
+a2dpd_SOURCES = a2dpd.c a2dplib.c a2dp_timer.c a2dp_ipc.c
+a2dpd_LDADD = @BLUEZ_LIBS@ -lsbc -lpthread -lrt
 
 AM_CFLAGS = @ALSA_CFLAGS@ @BLUEZ_CFLAGS@ -pthread
 

Index: alsa-plugins/a2dp_ipc.c
===================================================================
RCS file: alsa-plugins/a2dp_ipc.c

a2dp_ipc.c new file +173 -0

173 lines not on this page · raw message

Index: alsa-plugins/a2dp_ipc.h
===================================================================
RCS file: alsa-plugins/a2dp_ipc.h

a2dp_ipc.h new file +39 -0
diff -N alsa-plugins/a2dp_ipc.h
@@ -0,0 +1,39 @@
+/*
+*
+*  A2DPD - Bluetooth A2DP daemon for Linux
+*
+*  Copyright (C) 2006  Frédéric DALLEAU <[email protected]>
+*
+*  This program is free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  This program is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  You should have received a copy of the GNU General Public License
+*  along with this program; if not, write to the Free Software
+*  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+
+#ifndef __A2DP_IPC_H__
+#define __A2DP_IPC_H__
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+int make_udp_socket();
+int make_client_socket();
+int make_server_socket();
+void setup_socket(int sockfd);
+void close_socket(int sockfd);
+int accept_socket(int sockfd);
+int send_socket(int sockfd, void* buffer, int size);
+int recv_socket(int sockfd, void* buffer, int size);
+
+#endif

Index: alsa-plugins/a2dp_timer.c
===================================================================
RCS file: alsa-plugins/a2dp_timer.c

a2dp_timer.c new file +122 -0

122 lines not on this page · raw message

Index: alsa-plugins/a2dp_timer.h
===================================================================
RCS file: alsa-plugins/a2dp_timer.h

a2dp_timer.h new file +75 -0

75 lines not on this page · raw message

Index: alsa-plugins/a2dpd.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/alsa-plugins/a2dpd.c,v retrieving revision 1.1

a2dpd.c +302 -301

825 lines not on this page · raw message

Index: alsa-plugins/a2dpd_protocol.h
===================================================================
RCS file: alsa-plugins/a2dpd_protocol.h

a2dpd_protocol.h new file +54 -0

54 lines not on this page · raw message

Index: alsa-plugins/a2dplib.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/alsa-plugins/a2dplib.c,v retrieving revision 1.1

a2dplib.c +893 -1391

1,669 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

Index: alsa-plugins/a2dplib.h
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/alsa-plugins/a2dplib.h,v retrieving revision 1.1

a2dplib.h +1 -32
diff -u -r1.1 a2dplib.h

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Index: alsa-plugins/a2dplib.o
===================================================================
RCS file: alsa-plugins/a2dplib.o
diff -N alsa-plugins/a2dplib.o
Binary files /tmp/cvsL1OoEg and /dev/null differ
Index: alsa-plugins/ctl_a2dpd.c
===================================================================
RCS file: alsa-plugins/ctl_a2dpd.c

ctl_a2dpd.c new file +330 -0

330 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

Index: alsa-plugins/pcm_a2dpd.c
===================================================================
RCS file: /cvsroot/bluetooth-alsa/btsco/alsa-plugins/pcm_a2dpd.c,v retrieving revision 1.1

pcm_a2dpd.c +142 -528

670 lines not on this page · raw message

The rest of this diff is not shown. View the raw message.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel

Part of the diff is not shown here. View the raw message.

Applied
#1 lore raw

Fr=E9d=E9ric

Quoted 2 lines

My latest work on a2dp daemon. I got good sound on both pc and arm!! Features a volume control plugin.

good job... it sounds much improved. the changes in pacing that were causing fluctuations in the playing rate seem to have been all ironed out with this latest one.

I applied it to cvs.

Brad

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3DDE=
VDEV
_______________________________________________
Bluez-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bluez-devel