100 Commits
Author SHA1 Message Date
James Laird b2c7bf111c do not restart syscalls on SIGUSR1
SIGUSR1 is used to interrupt calls and shut down cleanly.
2013-10-27 10:17:46 +11:00
James Laird f0d8a69368 don't use "let" in configure script
bash-ism snuck into a nominally POSIX-compliant script
2013-10-24 08:09:10 +11:00
James Laird 83846ce3a3 fix compile warning in rtsp.c 2013-10-24 08:08:40 +11:00
James Laird 361cfb05e9 mdns_tinysvcmdns: fix on BSDs 2013-10-23 10:25:30 +11:00
James Laird 0292293227 remove unused variable 2013-10-23 10:22:17 +11:00
James Laird e074967b3e dns_sd: don't require C99 2013-10-22 10:44:40 +11:00
James Laird 82518dc334 whitespace cleanups 2013-10-22 10:44:40 +11:00
James Laird 28b4e6dde2 Return a nonzero value on error 2013-10-14 19:50:48 +11:00
James Laird 3b028bc337 Merge OpenBSD audio driver 2013-10-12 12:53:01 +11:00
James Laird bb04e3b071 README: add debian package suggestions 2013-08-25 22:37:02 +10:00
James Laird 5ed2af178a 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.
2013-08-25 22:27:51 +10:00
James Laird c267c8e4c3 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.
2013-08-25 21:02:57 +10:00
James Laird 3019a8526b 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.
2013-08-25 20:30:42 +10:00
James Laird 928dc8024c Merge pull request #237 from jclehner/1.0-dev
Allow empty SET_PARAMETER request
2013-08-03 15:58:55 -07:00
James Laird 159ab91602 Merge pull request #232 from plietar/fix-rtsp-close
Reset playing_thread on connection close. Fixes #217
2013-06-25 05:05:34 -07:00
James Laird fd14f2ef7b daemon, shairport: POSIX compatibility fix 2013-06-21 19:42:00 +10:00
James Laird 2ffcaa075d configure: clean up pkg-config code into a function 2013-06-20 18:43:36 +10:00
James Laird affeab54c9 Makefile: force rebuild after reconfigure 2013-06-20 18:33:51 +10:00
James Laird 984909668d audio_ao, audio_pulse: make usage indent consistent 2013-06-20 18:30:42 +10:00
James Laird 5431aeb510 configure: fix message 2013-06-20 18:30:42 +10:00
James Laird 4a168e1a1a TODO updates (nearly there!) 2013-06-20 18:30:42 +10:00
James Laird c7bebe37f3 README.md: updates 2013-06-20 18:30:42 +10:00
James Laird 9340e5b897 check supplied AP name length to comply with mDNS spec. 2013-06-20 17:20:33 +10:00
James Laird 3281242b91 shairport: do not try and deinit output if it hasn't been set yet 2013-06-20 17:20:01 +10:00
James Laird d845e92eae Tiny cleanup for merge 2013-06-20 17:09:13 +10:00
James Laird c7d93b363a Revert "Fix pulse audio output driver in daemon mode."
This reverts commit 8045e00d4f.
Now, pulseaudio can be initialised at startup, thus detecting connection
errors early.

Conflicts:
	audio_pulse.c
2013-06-20 01:51:25 +10:00
James Laird cb14d56a5b Merge pull request #223 from plietar/pulseaudio
Add a PulseAudio output driver, courtesy of Paul Lietar
2013-06-19 08:37:09 -07:00
James Laird 24d81c0450 daemonising: fork before doing any audio init 2013-06-20 01:06:45 +10:00
James Laird a38a03ed7d audio: update usage messages 2013-06-20 01:06:08 +10:00
James Laird b8e8a22cc2 add long options, and update usage message 2013-06-20 00:48:20 +10:00
James Laird d699d43551 getopt_long: neater errors 2013-06-20 00:28:17 +10:00
James Laird 3aa8bab70b add getopt_long implementation and detection 2013-06-20 00:23:00 +10:00
James Laird 706e4d6518 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
2013-06-19 13:56:11 +10:00
James Laird 7f7dd51761 Merge pull request #224 from plietar/fix-libao-driver-check
Fix libao output driver.
2013-06-18 20:20:44 -07:00
James Laird 38799dc1b1 rtsp: track and join all RTSP threads 2013-06-07 11:32:14 +10:00
James Laird f39b236a87 rtsp: do not race accept() and select() 2013-06-07 10:53:06 +10:00
James Laird e15614d17e rtp/rtsp: more debugging in verbose mode 2013-06-07 01:47:27 +10:00
James Laird e1d6d19a20 configure: do not default openssl libs, cleanup messages 2013-06-07 00:48:01 +10:00
James Laird f6eddb84fd add native avahi-client support
requires extra packages on some systems, eg. libavahi-client-dev on
Debian/Ubuntu.
2013-06-04 01:31:46 +10:00
James Laird 8d04ac0a29 TODO updated 2013-06-04 00:30:17 +10:00
James Laird 8259ae60e8 die/warn functions now have implicit newline at the end 2013-06-04 00:30:17 +10:00
James Laird 0129db088f add a pipe/FIFO audio backend 2013-06-04 00:30:17 +10:00
James Laird 57247db9d9 LICENSES updated w/ alac.c pointer 2013-06-04 00:30:17 +10:00
James Laird 3c8c9ed4b5 provide -B/-E for running shell commands on begin/end of playing
Implements functionality described by MaZderMind <github@mazdermind.de>
in issue #201.
2013-06-04 00:27:15 +10:00
James Laird c5b1f979e4 mdns: die iff the MDNS advertising process dies
and not if any other child does!
2013-06-04 00:26:55 +10:00
James Laird d52125eca2 change default port to 5002
As in the previous version. Fixes #214.
2013-06-03 21:47:17 +10:00
James Laird 98da1d2f66 whitespace fixes 2013-05-14 09:14:27 +10:00
James Laird d5b17e2c23 rtsp: cleaner bind handling
- nicer debug messages
- arbitrary number of addresses, for multihomed hosts
- get rid of AI_ADDRCONFIG
2013-05-14 09:11:28 +10:00
James Laird 38969f2314 PKGBUILD: architecture armhf -> armv6h 2013-05-03 10:26:54 +10:00
James Laird 0e7f99a201 TODO updates 2013-04-14 20:22:10 +10:00
James Laird 9894b52b7b restore '-d' (daemonise) flag 2013-04-14 20:17:40 +10:00
James Laird a9c40871de player: more robust seq_t handling 2013-04-09 08:38:40 +10:00
James Laird 9bfa48f100 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.
2013-04-08 20:51:01 +10:00
James Laird 47853a05c5 rtsp: cleanup debug message 2013-04-08 19:58:58 +10:00
James Laird 9b9680819a player: cleanups
should get rid of some sign issues in debug messages on ARM
2013-04-08 19:58:16 +10:00
James Laird 9a041f26ce player: fix missing frame at stream startup 2013-04-08 19:56:59 +10:00
James Laird 92516596f0 scripts: add PKGBUILD and systemd service 2013-04-08 19:27:34 +10:00
James Laird 5f041a5adb Makefile: create target directory if needs be 2013-04-08 18:58:38 +10:00
James Laird 0ee4efb002 Makefile: add install target 2013-04-08 18:54:39 +10:00
James Laird dd23199752 cleanups 2013-04-04 08:57:00 +11:00
James Laird ae3fcd1cc9 Merge pull request #200 from mrpippy/1.0-dev
Compile fixes for OpenBSD, and call freeaddrinfo() in rtp.c
2013-04-03 14:51:42 -07:00
James Laird 171e5d42ef rtsp: safer buffer handling 2013-04-03 23:35:14 +11:00
James Laird d3e89828c5 rtsp: handle volume messages 2013-04-03 23:34:58 +11:00
James Laird 7a2434aef7 player: talk about established buffer fill preference 2013-04-03 21:54:58 +11:00
James Laird 0f7b32ab6d debug: multilevel debug functions 2013-04-03 21:54:45 +11:00
James Laird 6090b490ed rtp: don't resync on mystery resend-related packet 2013-04-03 21:38:32 +11:00
James Laird 89611b826f rtsp: add a Session header to keep iTunes happy
With thanks to Quentin Smart (sm3rt) for the fix.
2013-04-03 20:27:34 +11:00
James Laird 4daa5a2ecc readme: ditch simultaneous streams 2013-04-03 19:45:09 +11:00
James Laird b976bb727f Merge pull request #194 from MaZderMind/ReadmeUpdate
readme: remove perl-script, mention build process and iPhones
2013-04-03 01:38:24 -07:00
James Laird 4ba36e493a Merge pull request #192 from MaZderMind/MakefileChanges
Makefile cleanups
2013-04-02 16:55:09 -07:00
James Laird 9d3009eac9 Merge pull request #193 from MaZderMind/getoptint
change getopt return storage from char to int
2013-04-02 16:54:10 -07:00
James Laird 2e2dde1daa rtsp: set playing_thread safely 2013-04-02 22:57:01 +11:00
James Laird 958a1612ed fix compile warning 2013-04-02 22:55:25 +11:00
James Laird 4e59846703 fix audio buffer allocation
...and make the implicit data dependency on frame_bytes more obvious
2013-04-02 22:54:18 +11:00
James Laird c53054ec0a use AI_ADDRCONFIG with getaddrinfo()
Fixes IPv4 systems with IPv6 present but disabled.
Fix courtesy of Quentin Smart (sm3rt)
2013-04-02 21:39:53 +11:00
James Laird 4a752e67e4 fix IPv6 support 2013-04-02 21:32:56 +11:00
James Laird e6e95a2a8b Fix hw_addr handling 2013-04-02 21:31:57 +11:00
James Laird 1eca354f62 shutdown cleanups
now calls shairport_shutdown() when dying
2013-04-02 21:27:14 +11:00
James Laird 7603ca6f61 enable -v switch for verbosity 2013-04-02 20:30:26 +11:00
James Laird bfd7c14a1a configure: always generate config.h 2013-04-02 20:19:06 +11:00
James Laird 7f6d353229 configure script: portability fix 2013-04-02 20:14:58 +11:00
James Laird 0cf3a0c10d rtsp: remove include of malloc.h
stdlib.h provides malloc, and Apple have removed malloc.h entirely.
2013-04-02 19:41:03 +11:00
James Laird 7db07766d3 rename arguments for compatibility with old version 2013-04-02 10:09:48 +11:00
James Laird 9b9899b843 ao: actually use the options we collect 2013-04-02 08:45:32 +11:00
James Laird cb1bfbad95 Makefile: configure for libraries properly 2013-04-02 00:16:03 +11:00
James Laird 31d2570f3d ao: shutdown properly 2013-04-01 23:17:15 +11:00
James Laird 370f9d2fcb readability cleanup 2013-04-01 23:09:40 +11:00
James Laird 8a3f2fad16 generate hw_addr from apname 2013-04-01 23:06:55 +11:00
James Laird c627bae022 player: avoid leaking memory 2013-04-01 23:04:54 +11:00
James Laird e736802ee1 mdns: NULL-terminate argv lists 2013-04-01 22:57:46 +11:00
James Laird 42b4e67f9a usage: usage of default buffer_start_fill was wrong 2013-04-01 22:57:18 +11:00
James Laird cbe204d2ba usage: default buffer_start_fill was wrong 2013-04-01 22:08:58 +11:00
James Laird cf8401dbc8 Add copyright notices. 2013-04-01 21:57:11 +11:00
James Laird 69c9d7224e TODO updates
lots knocked off the list!
2013-04-01 21:46:21 +11:00
James Laird b509a644d0 cleanups 2013-04-01 21:44:58 +11:00
James Laird efe7d2c63c ao: add option parsing 2013-04-01 21:44:30 +11:00
James Laird f39ff3a44e main: add option parsing 2013-04-01 21:44:14 +11:00
James Laird 9b33878c59 audio: output selection functionality 2013-04-01 21:43:24 +11:00
James Laird 86e94064c0 fix potential deadlock while shutting down 2013-04-01 20:08:28 +11:00
James Laird 04b142dbe3 rewrite: add mDNS registration 2013-04-01 20:08:05 +11:00