Home | History | Annotate | only in /src/usr.sbin/bta2dpd
History log of /src/usr.sbin/bta2dpd
RevisionDateAuthorComments
 1.1 28-Jan-2017  nat branches: 1.1.2; 1.1.4;
bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.1.4.2 28-Jan-2017  nat 1866567
 1.1.4.1 28-Jan-2017  nat file Makefile was added on branch bouyer-socketcan on 2017-01-28 16:55:55 +0000
 1.1.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.1 28-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:06 +0000
 1.4 14-Sep-2021  rillig bta2dpd: fix lint build
 1.3 27-Jul-2019  nakayama Add option -D to run in the background using daemon(3).
Also changed the message output to using syslog(3).
 1.2 28-Jan-2017  christos branches: 1.2.2; 1.2.4; 1.2.16;
Fix the build (objdirs)
 1.1 28-Jan-2017  nat bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.2.16.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.2.4.2 28-Jan-2017  christos 1888332
 1.2.4.1 28-Jan-2017  christos file Makefile was added on branch bouyer-socketcan on 2017-01-28 23:19:21 +0000
 1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.1 28-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:06 +0000
 1.4 14-May-2020  msaitoh Remove extra semicolon.
 1.3 05-Aug-2019  maya Avoid read overflows
 1.2 25-Jul-2018  kamil Avoid potential undefined behavior in bta2dpd(8)

The operator >> causes implicit promotion to int.

There is need to cast the result back to uint8_t in order to save the
return value to a data undef a pointe of type uint8_t.

Requested by GCC when building with Undefined Behavior Sanitizer.
 1.1 28-Jan-2017  nat branches: 1.1.2; 1.1.4; 1.1.14; 1.1.16;
bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.1.16.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.1.16.1 10-Jun-2019  christos Sync with HEAD
 1.1.14.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.4.2 28-Jan-2017  nat 1866567
 1.1.4.1 28-Jan-2017  nat file avdtp.c was added on branch bouyer-socketcan on 2017-01-28 16:55:55 +0000
 1.1.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.1 28-Jan-2017  pgoyette file avdtp.c was added on branch pgoyette-localcount on 2017-03-20 06:58:06 +0000
 1.2 06-Jan-2025  mlelstv Fix typo, add new signal definitions.
 1.1 28-Jan-2017  nat branches: 1.1.2; 1.1.4; 1.1.28;
bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.1.28.1 02-Aug-2025  perseant Sync with HEAD
 1.1.4.2 28-Jan-2017  nat 1866567
 1.1.4.1 28-Jan-2017  nat file avdtp_signal.h was added on branch bouyer-socketcan on 2017-01-28 16:55:55 +0000
 1.1.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.1 28-Jan-2017  pgoyette file avdtp_signal.h was added on branch pgoyette-localcount on 2017-03-20 06:58:06 +0000
 1.10 20-Jul-2023  nat Fix formatting.

XXX pullup-10.
 1.9 20-Jul-2023  nat Add BUGS section to manual page.

This notes the problems with playback from file on certain devices.

XXX pullup-10
 1.8 22-Jun-2023  nat Bump date for previous commit.

XXX pullup-10.
 1.7 20-Jun-2023  nat Manual page fixups.

Fix EXAMPLES section.

Use correct flags when used with pad(4).
Use correct encoding format (sinear_le).

XXX pullup-10.
 1.6 02-Dec-2021  andvar branches: 1.6.2;
bta2dpd(8): s/conection/connection/
 1.5 07-Mar-2021  nat Intoduce "-n" switch.

Running btat2dpd with "-n" especially for use with pad(4) will stop bta2dpd
from exiting upon a read error from pad(4) devices.

This is to compenstate for the behaviour in NetBSD current that pad(4) will
no longer output 0's when its corresponding audio(4) device is not active.

I believe that this new pad(4) behaviour is not present in -9 and -8.

While here I've improved its function as a daemon and it should reconnect to
bluetooth speakers when they are disconnected/reconnected.

Reported and tested by reinoud@ and maya@
 1.4 27-Jul-2019  nakayama Add option -D to run in the background using daemon(3).
Also changed the message output to using syslog(3).
 1.3 15-May-2018  nat branches: 1.3.2;
Use the correct tag options.
 1.2 28-Jan-2017  wiz branches: 1.2.2; 1.2.4; 1.2.14;
Sort SYNOPSIS, descriptions, SEE ALSO.
Use more macros.
Fix sections.
New sentence, new line.
Various other improvements.
 1.1 28-Jan-2017  nat bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.2.14.1 21-May-2018  pgoyette Sync with HEAD
 1.2.4.2 28-Jan-2017  wiz 1888347
 1.2.4.1 28-Jan-2017  wiz file bta2dpd.8 was added on branch bouyer-socketcan on 2017-01-28 23:52:46 +0000
 1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.1 28-Jan-2017  pgoyette file bta2dpd.8 was added on branch pgoyette-localcount on 2017-03-20 06:58:06 +0000
 1.3.2.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.2.1 24-Jul-2023  martin Pull up following revision(s) (requested by nat in ticket #241):

usr.sbin/bta2dpd/bta2dpd/bta2dpd.8: revision 1.7
usr.sbin/bta2dpd/bta2dpd/bta2dpd.8: revision 1.8
usr.sbin/bta2dpd/bta2dpd/bta2dpd.8: revision 1.9
usr.sbin/bta2dpd/bta2dpd/bta2dpd.8: revision 1.10

Manual page fixups.

Fix EXAMPLES section.

Use correct flags when used with pad(4).
Use correct encoding format (sinear_le).

Bump date for previous commit.

Add BUGS section to manual page.
This notes the problems with playback from file on certain devices.

Fix formatting.
 1.9 24-Jun-2023  msaitoh Fix typo.
 1.8 07-Mar-2021  nat Intoduce "-n" switch.

Running btat2dpd with "-n" especially for use with pad(4) will stop bta2dpd
from exiting upon a read error from pad(4) devices.

This is to compenstate for the behaviour in NetBSD current that pad(4) will
no longer output 0's when its corresponding audio(4) device is not active.

I believe that this new pad(4) behaviour is not present in -9 and -8.

While here I've improved its function as a daemon and it should reconnect to
bluetooth speakers when they are disconnected/reconnected.

Reported and tested by reinoud@ and maya@
 1.7 31-May-2020  nat Avoid running of the end of the array if a file cannot be opened.

Found by plunky@.
 1.6 27-Jul-2019  nakayama branches: 1.6.2;
Add option -D to run in the background using daemon(3).
Also changed the message output to using syslog(3).
 1.5 13-Jan-2018  nat branches: 1.5.4;
Set size of mtusize before calling getsockopt to obtain mtu size.
 1.4 27-Aug-2017  nat Connection state machine improvement upon transition from AVDTP_OPEN to
AVDTP_START/SUSPEND.
 1.3 27-May-2017  nat branches: 1.3.2;
Streaming channel is now opened in blocking mode again.
Removal of a hack in sbc_encode now that pad(4) is fixed.
 1.2 12-Feb-2017  nat branches: 1.2.2; 1.2.4;
RTP timestamp is now set correctly. The streaming socket is set to non
block blocking and connection state machinre improvement.
 1.1 28-Jan-2017  nat bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.2.4.2 12-Feb-2017  nat 1888342
 1.2.4.1 12-Feb-2017  nat file bta2dpd.c was added on branch bouyer-socketcan on 2017-02-12 08:25:32 +0000
 1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.1 12-Feb-2017  pgoyette file bta2dpd.c was added on branch pgoyette-localcount on 2017-03-20 06:58:06 +0000
 1.3.2.3 31-May-2020  martin Pull up following revision(s) (requested by nat in ticket #1553):

usr.sbin/bta2dpd/bta2dpd/bta2dpd.c: revision 1.7

Avoid running of the end of the array if a file cannot be opened.
Found by plunky@.
 1.3.2.2 16-Jan-2018  martin Pull up following revision(s) (requested by nat in ticket #500):
usr.sbin/bta2dpd/bta2dpd/bta2dpd.c: revision 1.5
Set size of mtusize before calling getsockopt to obtain mtu size.
 1.3.2.1 31-Aug-2017  martin Pull up following revision(s) (requested by nat in ticket #242):
usr.sbin/bta2dpd/bta2dpd/bta2dpd.c: revision 1.4
Connection state machine improvement upon transition from AVDTP_OPEN to
AVDTP_START/SUSPEND.
 1.5.4.1 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.2.1 31-May-2020  martin Pull up following revision(s) (requested by nat in ticket #937):

usr.sbin/bta2dpd/bta2dpd/bta2dpd.c: revision 1.7

Avoid running of the end of the array if a file cannot be opened.
Found by plunky@.
 1.13 21-Jul-2023  nat Reorder for readability.

No functional change intended.

XXX pullup-10.
 1.12 20-Jul-2023  nat Add thottling when playing from file.

This avoids rapid playback when playing from file with affected devices.

Playback using pad(4) is still preferred ad gives a better result.
Playback from pad(4) is unaffected by this change.

XXX pullup-10.
 1.11 28-May-2023  mlelstv With the latest changes, pad(4) will return partial reads to allow a
more fine grained pacing of audio data. But this broke bta2dpd which
relied on full buffers returned (like reading from a file).

Replace the single read() in bta2dpd with a loop that fetches a full
buffer. This restores the old behaviour but loops in userland instead
of the kernel at the cost of a few extra system calls.
 1.10 21-Sep-2019  nat branches: 1.10.8;
Fix off by one in sbc encoder. Test mode transmission and reception
works again.

XXX pullup -8 and -9.
 1.9 05-Aug-2019  maya Consistent indentation / whitespace
 1.8 05-Aug-2019  maya KNF for loops
 1.7 05-Aug-2019  maya Remove duplicate check for curpkt > 13

We already guarantee this above:
if (numpkts < 1 || numpkts > 13) {
return -1;
 1.6 27-Jul-2019  maya branches: 1.6.2;
Whitespace
 1.5 31-Mar-2019  nat Opps... Remove extra ')'
 1.4 31-Mar-2019  nat Remove dead code from sbc decoder.

Found by Hans Petter Selasky.
 1.3 27-May-2017  nat branches: 1.3.2; 1.3.10;
Streaming channel is now opened in blocking mode again.
Removal of a hack in sbc_encode now that pad(4) is fixed.
 1.2 12-Feb-2017  nat branches: 1.2.2; 1.2.4;
RTP timestamp is now set correctly. The streaming socket is set to non
block blocking and connection state machinre improvement.
 1.1 28-Jan-2017  nat bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.2.4.2 12-Feb-2017  nat 1888342
 1.2.4.1 12-Feb-2017  nat file sbc_encode.c was added on branch bouyer-socketcan on 2017-02-12 08:25:32 +0000
 1.2.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.2.2.1 12-Feb-2017  pgoyette file sbc_encode.c was added on branch pgoyette-localcount on 2017-03-20 06:58:06 +0000
 1.3.10.2 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.3.10.1 10-Jun-2019  christos Sync with HEAD
 1.3.2.1 27-Sep-2019  martin Pull up following revision(s) (requested by nat in ticket #1393):

usr.sbin/bta2dpd/bta2dpd/sbc_encode.c: revision 1.10

Fix off by one in sbc encoder. Test mode transmission and reception
works again.

XXX pullup -8 and -9.
 1.6.2.1 27-Sep-2019  martin Pull up following revision(s) (requested by nat in ticket #254):

usr.sbin/bta2dpd/bta2dpd/sbc_encode.c: revision 1.10

Fix off by one in sbc encoder. Test mode transmission and reception
works again.
XXX pullup -8 and -9.
 1.10.8.2 24-Jul-2023  martin Pull up following revision(s) (requested by nat in ticket #240):

usr.sbin/bta2dpd/bta2dpd/sbc_encode.c: revision 1.12
usr.sbin/bta2dpd/bta2dpd/sbc_encode.c: revision 1.13

Add thottling when playing from file.
This avoids rapid playback when playing from file with affected devices.

Playback using pad(4) is still preferred ad gives a better result.

Playback from pad(4) is unaffected by this change.

Reorder for readability.
No functional change intended.
 1.10.8.1 28-May-2023  martin Pull up following revision(s) (requested by nat in ticket #184):

usr.sbin/bta2dpd/bta2dpd/sbc_encode.c: revision 1.11

With the latest changes, pad(4) will return partial reads to allow a
more fine grained pacing of audio data. But this broke bta2dpd which
relied on full buffers returned (like reading from a file).

Replace the single read() in bta2dpd with a loop that fetches a full
buffer. This restores the old behaviour but loops in userland instead
of the kernel at the cost of a few extra system calls.
 1.1 28-Jan-2017  nat branches: 1.1.2; 1.1.4;
bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.1.4.2 28-Jan-2017  nat 1866567
 1.1.4.1 28-Jan-2017  nat file sbc_encode.h was added on branch bouyer-socketcan on 2017-01-28 16:55:55 +0000
 1.1.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.1 28-Jan-2017  pgoyette file sbc_encode.h was added on branch pgoyette-localcount on 2017-03-20 06:58:06 +0000
 1.2 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.1 28-Jan-2017  nat branches: 1.1.2; 1.1.4; 1.1.14;
bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.1.14.1 02-May-2018  pgoyette Synch with HEAD
 1.1.4.2 28-Jan-2017  nat 1866567
 1.1.4.1 28-Jan-2017  nat file Makefile was added on branch bouyer-socketcan on 2017-01-28 16:55:55 +0000
 1.1.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.1 28-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:07 +0000
 1.3 30-Jan-2017  christos branches: 1.3.2; 1.3.4;
dedup.
 1.2 30-Jan-2017  jakllsch Improve portability baseline of bta2dpd's cosdata-gen and sbc_crc-gen hostprogs.

XXX why are these being generated at build time?
 1.1 28-Jan-2017  nat bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.3.4.2 30-Jan-2017  christos 3966
 1.3.4.1 30-Jan-2017  christos file cosdata.c was added on branch bouyer-socketcan on 2017-01-30 15:50:22 +0000
 1.3.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.3.2.1 30-Jan-2017  pgoyette file cosdata.c was added on branch pgoyette-localcount on 2017-03-20 06:58:07 +0000
 1.2 01-May-2018  christos Create a new bsd.hostinit.mk file and put the build definitions for all host
programs there; make all Makefiles that use bsd.hostprog.mk include it.
Namely turn off MKREPRO and don't make lint, man pages, info files etc.
Remove the Makefile.inc files that contained these same settings, and
remove the settings from Makefile.host
 1.1 28-Jan-2017  nat branches: 1.1.2; 1.1.4; 1.1.14;
bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.1.14.1 02-May-2018  pgoyette Synch with HEAD
 1.1.4.2 28-Jan-2017  nat 1866567
 1.1.4.1 28-Jan-2017  nat file Makefile was added on branch bouyer-socketcan on 2017-01-28 16:55:55 +0000
 1.1.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.1.2.1 28-Jan-2017  pgoyette file Makefile was added on branch pgoyette-localcount on 2017-03-20 06:58:07 +0000
 1.3 30-Jan-2017  christos branches: 1.3.2; 1.3.4;
KNF.
 1.2 30-Jan-2017  jakllsch Improve portability baseline of bta2dpd's cosdata-gen and sbc_crc-gen hostprogs.

XXX why are these being generated at build time?
 1.1 28-Jan-2017  nat bta2dpd - Bluetooth Advand Audio Distribution (A2DP) Profile Daemon.

bta2dpd allows you to stream audio to and from bluetooth devices.
It features high quality stereo audio and is intended for use with pad(4)
device.

As discussed on current-users@ and tech-userlevel@
 1.3.4.2 30-Jan-2017  christos 767
 1.3.4.1 30-Jan-2017  christos file sbc_crc.c was added on branch bouyer-socketcan on 2017-01-30 15:56:45 +0000
 1.3.2.2 20-Mar-2017  pgoyette Sync with HEAD
 1.3.2.1 30-Jan-2017  pgoyette file sbc_crc.c was added on branch pgoyette-localcount on 2017-03-20 06:58:07 +0000

RSS XML Feed