]> git.ipfire.org Git - thirdparty/shairport-sync.git/log
thirdparty/shairport-sync.git
11 years agoReturn a nonzero value on error
James Laird [Mon, 14 Oct 2013 08:50:48 +0000 (19:50 +1100)] 
Return a nonzero value on error

11 years agoMerge OpenBSD audio driver
James Laird [Sat, 12 Oct 2013 01:52:11 +0000 (12:52 +1100)] 
Merge OpenBSD audio driver

11 years agoMake a few fixes debian init script.
Paul Lietar [Thu, 29 Aug 2013 00:20:08 +0000 (02:20 +0200)] 
Make a few fixes debian init script.

Add avahi as a start dependency, fix the provide line.
Also add a note about updating the logrotate file if non-standard
log and error files are used.

12 years agofix shell script
Dimitri Sokolyuk [Thu, 5 Sep 2013 14:34:02 +0000 (16:34 +0200)] 
fix shell script

12 years agotypo
Dimitri Sokolyuk [Thu, 5 Sep 2013 02:13:15 +0000 (04:13 +0200)] 
typo

12 years agoadd support for openbsd sndio sound daemon
Dimitri Sokolyuk [Thu, 5 Sep 2013 01:24:23 +0000 (03:24 +0200)] 
add support for openbsd sndio sound daemon

12 years agoREADME: add debian package suggestions
James Laird [Sun, 25 Aug 2013 12:37:02 +0000 (22:37 +1000)] 
README: add debian package suggestions

12 years agortsp: send responses as single packets
James Laird [Sun, 25 Aug 2013 12:25:00 +0000 (22:25 +1000)] 
rtsp: send responses as single packets

Under some circumstances, RTSP responses would be split into multiple
packets. This causes Airfoil to barf, as it interprets the end of the
packet as the end of the response. Since TCP_CORK is not portable, this
fix buffers the packet on the stack before using a single write.
This fixes issue #213.

12 years agortsp: treat pthread_t as properly opaque
James Laird [Sun, 25 Aug 2013 10:54:58 +0000 (20:54 +1000)] 
rtsp: treat pthread_t as properly opaque

We use the mutex's state to determine whether the playing_thread is
valid or not. Also now use pthread_equal, as we should. Should address
issue #236.

12 years agortsp: don't try and take our own player lock
James Laird [Sun, 25 Aug 2013 10:15:56 +0000 (20:15 +1000)] 
rtsp: don't try and take our own player lock

This can happen during a shutdown triggered by the playing thread. Fixes
issue #233 reported by therealmuffin.

12 years agoMerge pull request #237 from jclehner/1.0-dev
James Laird [Sat, 3 Aug 2013 22:58:55 +0000 (15:58 -0700)] 
Merge pull request #237 from jclehner/1.0-dev

Allow empty SET_PARAMETER request

12 years agoAllow empty SET_PARAMETER request
Joseph C. Lehner [Sat, 3 Aug 2013 15:36:18 +0000 (17:36 +0200)] 
Allow empty SET_PARAMETER request

Certain senders (AirAudio for Android for example) periodically
send SET_PARAMETER requests with Content-Length: 0, to which
shairport responds with an error, making those apps misbehave.

12 years agoMerge pull request #232 from plietar/fix-rtsp-close
James Laird [Tue, 25 Jun 2013 12:05:34 +0000 (05:05 -0700)] 
Merge pull request #232 from plietar/fix-rtsp-close

Reset playing_thread on connection close. Fixes #217

12 years agoReset playing_thread on connection close. Fixes abrasive/shairport#217
Paul Lietar [Tue, 25 Jun 2013 08:52:57 +0000 (10:52 +0200)] 
Reset playing_thread on connection close. Fixes abrasive/shairport#217

pthread seems to reuse thread identifiers (at least on arm).
Reset it to zero after closing a playing connection, or else future
thread might believe they are playing.

12 years agodaemon, shairport: POSIX compatibility fix
James Laird [Fri, 21 Jun 2013 09:42:00 +0000 (19:42 +1000)] 
daemon, shairport: POSIX compatibility fix

12 years agoDo not print daemon's pid after forking if a pidfile is used.
Paul Lietar [Thu, 20 Jun 2013 17:09:17 +0000 (19:09 +0200)] 
Do not print daemon's pid after forking if a pidfile is used.

12 years agoAdd a logrotate script.
Paul Lietar [Thu, 20 Jun 2013 16:35:02 +0000 (18:35 +0200)] 
Add a logrotate script.

12 years agoAdd and init script for debian.
Paul Lietar [Thu, 20 Jun 2013 16:00:33 +0000 (18:00 +0200)] 
Add and init script for debian.

12 years agoOnly ignore files in top directory.
Paul Lietar [Thu, 20 Jun 2013 15:59:14 +0000 (17:59 +0200)] 
Only ignore files in top directory.

For some reason, git ignored all subdirectories. This fixes it.

12 years agoIn daemon mode, send error messages to parent to write them on stderr.
Paul Lietar [Thu, 20 Jun 2013 18:23:38 +0000 (20:23 +0200)] 
In daemon mode, send error messages to parent to write them on stderr.

This allows to get a better error message than "Spawning the daemon failed."
when initialization fails.

The error message is sent through the pipe. When init is OK, just send
a null byte.

12 years agoconfigure: clean up pkg-config code into a function
James Laird [Thu, 20 Jun 2013 08:43:36 +0000 (18:43 +1000)] 
configure: clean up pkg-config code into a function

12 years agoMakefile: force rebuild after reconfigure
James Laird [Thu, 20 Jun 2013 08:33:51 +0000 (18:33 +1000)] 
Makefile: force rebuild after reconfigure

12 years agoaudio_ao, audio_pulse: make usage indent consistent
James Laird [Thu, 20 Jun 2013 08:24:04 +0000 (18:24 +1000)] 
audio_ao, audio_pulse: make usage indent consistent

12 years agoconfigure: fix message
James Laird [Thu, 20 Jun 2013 08:18:20 +0000 (18:18 +1000)] 
configure: fix message

12 years agoTODO updates (nearly there!)
James Laird [Thu, 20 Jun 2013 08:06:00 +0000 (18:06 +1000)] 
TODO updates (nearly there!)

12 years agoREADME.md: updates
James Laird [Thu, 20 Jun 2013 08:03:00 +0000 (18:03 +1000)] 
README.md: updates

12 years agoAlsa output driver
Muffinman [Thu, 20 Jun 2013 08:13:23 +0000 (18:13 +1000)] 
Alsa output driver

Based on a bit of code of @Skaman and bit of mine, I've added support
for mixer and audio Alsa support.

12 years agocheck supplied AP name length to comply with mDNS spec.
James Laird [Thu, 20 Jun 2013 07:20:33 +0000 (17:20 +1000)] 
check supplied AP name length to comply with mDNS spec.

12 years agoshairport: do not try and deinit output if it hasn't been set yet
James Laird [Thu, 20 Jun 2013 07:20:01 +0000 (17:20 +1000)] 
shairport: do not try and deinit output if it hasn't been set yet

12 years agoTiny cleanup for merge
James Laird [Thu, 20 Jun 2013 07:07:34 +0000 (17:07 +1000)] 
Tiny cleanup for merge

12 years agoUse line buffering on log files.
Paul Lietar [Tue, 11 Jun 2013 15:04:59 +0000 (17:04 +0200)] 
Use line buffering on log files.
This makes sure the contents are written on the disk, so the user can
read the log.

12 years agoSupport log redirection to a file.
Paul Lietar [Tue, 11 Jun 2013 13:33:36 +0000 (15:33 +0200)] 
Support log redirection to a file.

12 years agoRemove pid file when exiting.
Paul Lietar [Tue, 11 Jun 2013 13:04:31 +0000 (15:04 +0200)] 
Remove pid file when exiting.

12 years agoMove daemon related code to a separate file.
Paul Lietar [Wed, 19 Jun 2013 16:08:02 +0000 (18:08 +0200)] 
Move daemon related code to a separate file.

12 years agoAdd support to write pid to pidfile when running in daemon mode.
Paul Lietar [Mon, 10 Jun 2013 13:15:51 +0000 (15:15 +0200)] 
Add support to write pid to pidfile when running in daemon mode.

12 years agoRevert "Fix pulse audio output driver in daemon mode."
James Laird [Wed, 19 Jun 2013 15:51:25 +0000 (01:51 +1000)] 
Revert "Fix pulse audio output driver in daemon mode."

This reverts commit 8045e00d4f3d694cff99c30e3a5cd63eca3b4e5c.
Now, pulseaudio can be initialised at startup, thus detecting connection
errors early.

Conflicts:
audio_pulse.c

12 years agoMerge pull request #223 from plietar/pulseaudio
James Laird [Wed, 19 Jun 2013 15:37:09 +0000 (08:37 -0700)] 
Merge pull request #223 from plietar/pulseaudio

Add a PulseAudio output driver, courtesy of Paul Lietar

12 years agodaemonising: fork before doing any audio init
James Laird [Wed, 19 Jun 2013 15:06:45 +0000 (01:06 +1000)] 
daemonising: fork before doing any audio init

12 years agoaudio: update usage messages
James Laird [Wed, 19 Jun 2013 15:06:08 +0000 (01:06 +1000)] 
audio: update usage messages

12 years agoadd long options, and update usage message
James Laird [Wed, 19 Jun 2013 14:48:20 +0000 (00:48 +1000)] 
add long options, and update usage message

12 years agogetopt_long: neater errors
James Laird [Wed, 19 Jun 2013 14:28:17 +0000 (00:28 +1000)] 
getopt_long: neater errors

12 years agoadd getopt_long implementation and detection
James Laird [Wed, 19 Jun 2013 13:43:31 +0000 (23:43 +1000)] 
add getopt_long implementation and detection

12 years agopulseaudio: Make the application name configurable
Paul Lietar [Wed, 19 Jun 2013 08:48:04 +0000 (10:48 +0200)] 
pulseaudio: Make the application name configurable

If no name is specified, use the AirPlay access point name.

12 years agopulseaudio: fix option parsing
Paul Lietar [Wed, 19 Jun 2013 08:22:51 +0000 (10:22 +0200)] 
pulseaudio: fix option parsing

12 years agoao, shairport: fix option parsing
James Laird [Wed, 19 Jun 2013 03:56:11 +0000 (13:56 +1000)] 
ao, shairport: fix option parsing

- don't push unrecognised args to the audio driver
- get ao to parse from first argument
- ao checks for unrecognised options

12 years agoMerge pull request #224 from plietar/fix-libao-driver-check
James Laird [Wed, 19 Jun 2013 03:20:44 +0000 (20:20 -0700)] 
Merge pull request #224 from plietar/fix-libao-driver-check

Fix libao output driver.

12 years agoFix pulse audio output driver in daemon mode.
Paul Lietar [Tue, 11 Jun 2013 14:47:41 +0000 (16:47 +0200)] 
Fix pulse audio output driver in daemon mode.
libpulse was initialized before the fork. This caused calls to libpulse
made after the fork fail.
Now initialize lib pulse when we need it, after the fork.

12 years agoAdd a PulseAudio output driver.
Paul Lietar [Sun, 9 Jun 2013 18:23:03 +0000 (20:23 +0200)] 
Add a PulseAudio output driver.
It uses libpulse's synchronous API, to output to PulseAudio
without using libao.

12 years agoFix libao output driver.
Paul Lietar [Sun, 9 Jun 2013 18:32:29 +0000 (20:32 +0200)] 
Fix libao output driver.

The driver id returned by libao wasn't checked correctly.
When the driver did not exist, libao returns a negative number. The
libao output driver checked for a non zero id.
This caused shairport to refuse to use the first driver, and not fail
when using a non-existant driver.

12 years agortsp: track and join all RTSP threads
James Laird [Fri, 7 Jun 2013 01:20:18 +0000 (11:20 +1000)] 
rtsp: track and join all RTSP threads

12 years agortsp: do not race accept() and select()
James Laird [Fri, 7 Jun 2013 00:53:06 +0000 (10:53 +1000)] 
rtsp: do not race accept() and select()

12 years agortp/rtsp: more debugging in verbose mode
James Laird [Thu, 6 Jun 2013 15:47:27 +0000 (01:47 +1000)] 
rtp/rtsp: more debugging in verbose mode

12 years agoconfigure: do not default openssl libs, cleanup messages
James Laird [Thu, 6 Jun 2013 14:48:01 +0000 (00:48 +1000)] 
configure: do not default openssl libs, cleanup messages

12 years agoadd native avahi-client support
James Laird [Mon, 3 Jun 2013 15:28:30 +0000 (01:28 +1000)] 
add native avahi-client support

requires extra packages on some systems, eg. libavahi-client-dev on
Debian/Ubuntu.

12 years agoTODO updated
James Laird [Mon, 3 Jun 2013 14:25:39 +0000 (00:25 +1000)] 
TODO updated

12 years agodie/warn functions now have implicit newline at the end
James Laird [Mon, 3 Jun 2013 14:18:46 +0000 (00:18 +1000)] 
die/warn functions now have implicit newline at the end

12 years agoadd a pipe/FIFO audio backend
James Laird [Mon, 3 Jun 2013 14:14:13 +0000 (00:14 +1000)] 
add a pipe/FIFO audio backend

12 years agoLICENSES updated w/ alac.c pointer
James Laird [Mon, 3 Jun 2013 13:43:35 +0000 (23:43 +1000)] 
LICENSES updated w/ alac.c pointer

12 years agoprovide -B/-E for running shell commands on begin/end of playing
James Laird [Mon, 3 Jun 2013 13:41:16 +0000 (23:41 +1000)] 
provide -B/-E for running shell commands on begin/end of playing

Implements functionality described by MaZderMind <github@mazdermind.de>
in issue #201.

12 years agomdns: die iff the MDNS advertising process dies
James Laird [Mon, 3 Jun 2013 12:51:53 +0000 (22:51 +1000)] 
mdns: die iff the MDNS advertising process dies

and not if any other child does!

12 years agochange default port to 5002
James Laird [Mon, 3 Jun 2013 11:47:03 +0000 (21:47 +1000)] 
change default port to 5002

As in the previous version. Fixes #214.

12 years agowhitespace fixes
James Laird [Mon, 13 May 2013 23:14:27 +0000 (09:14 +1000)] 
whitespace fixes

12 years agortsp: cleaner bind handling
James Laird [Mon, 13 May 2013 23:11:28 +0000 (09:11 +1000)] 
rtsp: cleaner bind handling

- nicer debug messages
- arbitrary number of addresses, for multihomed hosts
- get rid of AI_ADDRCONFIG

12 years agoPKGBUILD: architecture armhf -> armv6h
James Laird [Fri, 3 May 2013 00:26:54 +0000 (10:26 +1000)] 
PKGBUILD: architecture armhf -> armv6h

12 years agoTODO updates
James Laird [Sun, 14 Apr 2013 10:22:10 +0000 (20:22 +1000)] 
TODO updates

12 years agorestore '-d' (daemonise) flag
James Laird [Sun, 14 Apr 2013 10:17:40 +0000 (20:17 +1000)] 
restore '-d' (daemonise) flag

12 years agoplayer: more robust seq_t handling
James Laird [Mon, 8 Apr 2013 22:38:40 +0000 (08:38 +1000)] 
player: more robust seq_t handling

12 years agoplayer: remove redundant code path for fetch/play thread
James Laird [Mon, 8 Apr 2013 10:51:01 +0000 (20:51 +1000)] 
player: remove redundant code path for fetch/play thread

conditional wait code was redundant since a contributed change that
plays silence if nothing is in the buffer. that also broke the buffer
fill estimator reset pathway.

12 years agortsp: cleanup debug message
James Laird [Mon, 8 Apr 2013 09:58:58 +0000 (19:58 +1000)] 
rtsp: cleanup debug message

12 years agoplayer: cleanups
James Laird [Mon, 8 Apr 2013 09:58:16 +0000 (19:58 +1000)] 
player: cleanups

should get rid of some sign issues in debug messages on ARM

12 years agoplayer: fix missing frame at stream startup
James Laird [Mon, 8 Apr 2013 09:56:59 +0000 (19:56 +1000)] 
player: fix missing frame at stream startup

12 years agoscripts: add PKGBUILD and systemd service
James Laird [Mon, 8 Apr 2013 09:27:34 +0000 (19:27 +1000)] 
scripts: add PKGBUILD and systemd service

12 years agoMakefile: create target directory if needs be
James Laird [Mon, 8 Apr 2013 08:58:38 +0000 (18:58 +1000)] 
Makefile: create target directory if needs be

12 years agoMakefile: add install target
James Laird [Mon, 8 Apr 2013 08:52:57 +0000 (18:52 +1000)] 
Makefile: add install target

12 years agocleanups
James Laird [Wed, 3 Apr 2013 21:57:00 +0000 (08:57 +1100)] 
cleanups

12 years agoMerge pull request #200 from mrpippy/1.0-dev
James Laird [Wed, 3 Apr 2013 21:51:42 +0000 (14:51 -0700)] 
Merge pull request #200 from mrpippy/1.0-dev

Compile fixes for OpenBSD, and call freeaddrinfo() in rtp.c

12 years agoCall freeaddrinfo() in rtp.c
Brendan Shanks [Wed, 3 Apr 2013 15:53:53 +0000 (08:53 -0700)] 
Call freeaddrinfo() in rtp.c

Plug a (small) memory leak from getaddrinfo()

12 years agoMerge remote-tracking branch 'abrasive/1.0-dev' into 1.0-dev
Brendan Shanks [Wed, 3 Apr 2013 15:43:52 +0000 (08:43 -0700)] 
Merge remote-tracking branch 'abrasive/1.0-dev' into 1.0-dev

12 years agortsp: safer buffer handling
James Laird [Wed, 3 Apr 2013 12:35:14 +0000 (23:35 +1100)] 
rtsp: safer buffer handling

12 years agortsp: handle volume messages
James Laird [Wed, 3 Apr 2013 12:34:58 +0000 (23:34 +1100)] 
rtsp: handle volume messages

12 years agoplayer: talk about established buffer fill preference
James Laird [Wed, 3 Apr 2013 10:54:58 +0000 (21:54 +1100)] 
player: talk about established buffer fill preference

12 years agodebug: multilevel debug functions
James Laird [Wed, 3 Apr 2013 10:54:45 +0000 (21:54 +1100)] 
debug: multilevel debug functions

12 years agortp: don't resync on mystery resend-related packet
James Laird [Wed, 3 Apr 2013 10:38:32 +0000 (21:38 +1100)] 
rtp: don't resync on mystery resend-related packet

12 years agortsp: fix endian bug in challenge computation
Quentin Smart [Wed, 3 Apr 2013 10:14:31 +0000 (23:14 +1300)] 
rtsp: fix endian bug in challenge computation

on MIPS platform the IP address was reversed...

12 years agortsp: add a Session header to keep iTunes happy
James Laird [Wed, 3 Apr 2013 09:27:34 +0000 (20:27 +1100)] 
rtsp: add a Session header to keep iTunes happy

With thanks to Quentin Smart (sm3rt) for the fix.

12 years agoreadme: ditch simultaneous streams
James Laird [Wed, 3 Apr 2013 08:45:09 +0000 (19:45 +1100)] 
readme: ditch simultaneous streams

12 years agoMerge pull request #194 from MaZderMind/ReadmeUpdate
James Laird [Wed, 3 Apr 2013 08:38:24 +0000 (01:38 -0700)] 
Merge pull request #194 from MaZderMind/ReadmeUpdate

readme: remove perl-script, mention build process and iPhones

12 years agoMerge pull request #192 from MaZderMind/MakefileChanges
James Laird [Tue, 2 Apr 2013 23:55:09 +0000 (16:55 -0700)] 
Merge pull request #192 from MaZderMind/MakefileChanges

Makefile cleanups

12 years agoMerge pull request #193 from MaZderMind/getoptint
James Laird [Tue, 2 Apr 2013 23:54:10 +0000 (16:54 -0700)] 
Merge pull request #193 from MaZderMind/getoptint

change getopt return storage from char to int

12 years agoremove perl-script from readme, mention build process and iPhones
MaZderMind [Tue, 2 Apr 2013 21:11:36 +0000 (23:11 +0200)] 
remove perl-script from readme, mention build process and iPhones

12 years agochange getopt return from char to int
MaZderMind [Tue, 2 Apr 2013 20:33:50 +0000 (22:33 +0200)] 
change getopt return from char to int

12 years agodon't fail clean target, when binary does not exist
MaZderMind [Tue, 2 Apr 2013 20:11:56 +0000 (22:11 +0200)] 
don't fail clean target, when binary does not exist

12 years agoadd default target w/ name 'all'
MaZderMind [Tue, 2 Apr 2013 20:11:24 +0000 (22:11 +0200)] 
add default target w/ name 'all'

12 years agoDefine AI_ADDRCONFIG (needed for OpenBSD and NetBSD)
Brendan Shanks [Tue, 2 Apr 2013 18:00:00 +0000 (11:00 -0700)] 
Define AI_ADDRCONFIG (needed for OpenBSD and NetBSD)

AI_ADDRCONFIG is not supported by some BSDs (OpenBSD and NetBSD).
It's not a critical flag, so define it to 0 just to fix the compile
error.

12 years agoAdd #includes for OpenBSD
Brendan Shanks [Tue, 2 Apr 2013 17:39:30 +0000 (10:39 -0700)] 
Add #includes for OpenBSD

Add includes for <sys/types.h> and <netinet/in.h> to rtp.c and rtsp.c, needed
for the declarations of IPPROTO_TCP, IPV6_V6ONLY, and others.

12 years agortsp: set playing_thread safely
James Laird [Tue, 2 Apr 2013 11:57:01 +0000 (22:57 +1100)] 
rtsp: set playing_thread safely

12 years agofix compile warning
James Laird [Tue, 2 Apr 2013 11:55:25 +0000 (22:55 +1100)] 
fix compile warning

12 years agofix audio buffer allocation
James Laird [Tue, 2 Apr 2013 11:54:18 +0000 (22:54 +1100)] 
fix audio buffer allocation

...and make the implicit data dependency on frame_bytes more obvious

12 years agouse AI_ADDRCONFIG with getaddrinfo()
James Laird [Tue, 2 Apr 2013 10:38:02 +0000 (21:38 +1100)] 
use AI_ADDRCONFIG with getaddrinfo()

Fixes IPv4 systems with IPv6 present but disabled.
Fix courtesy of Quentin Smart (sm3rt)

12 years agofix IPv6 support
James Laird [Tue, 2 Apr 2013 10:32:56 +0000 (21:32 +1100)] 
fix IPv6 support