Commit Graph
47 Commits
Author SHA1 Message Date
Mike Brady 96d38fad61 When option -t is set to zero, allow a session to be interrupted. 2014-09-04 14:40:36 +01:00
Mike Brady 0a583f1b55 Quieten an incorrect compiler warning 2014-08-28 18:33:36 +01:00
Mike Brady b25f92e51e Add support for PolarSSL, quieten some error messages. 2014-08-24 16:26:44 +01:00
Mike Brady 32448afc4a If there is a gap in audio for more than 4 seconds, it tears down the connection. 2014-06-04 22:12:30 +01:00
Mike Brady 9cebc59b86 quieten very chatty debug messaging. 2014-05-27 08:14:21 +00:00
Mike Brady af40a978c1 Begin adding 'device busy' status. 2014-05-27 08:16:02 +01:00
Mike Brady 35fdae7a0a Add handling of User-Agent, and select an appropriate latency. 2014-05-25 18:49:57 +01:00
Mike Brady 1a0932d92a Remove extra returns and generally clean up some debug messages. 2014-05-19 19:12:13 +01:00
Mike Brady 2098d3df27 Turn off debug messages. 2014-05-07 15:49:04 +01:00
Mike Brady ed29fa0a73 Remove chatty debug messages. 2014-05-05 21:28:23 +01:00
Mike Brady 9a5e313d93 Improve error detection. 2014-05-05 21:19:58 +01:00
Mike Brady 2d5e1dda9a Add control and timing port functionality 2014-04-30 20:44:04 +01: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 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
Joseph C. Lehner 62472b5b58 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.
2013-08-03 17:36:18 +02:00
Paul Lietar fc2272a2a8 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.
2013-06-25 10:57:22 +02:00
James Laird 24d81c0450 daemonising: fork before doing any audio init 2013-06-20 01:06:45 +10: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 8259ae60e8 die/warn functions now have implicit newline at the end 2013-06-04 00:30:17 +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 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 9894b52b7b restore '-d' (daemonise) flag 2013-04-14 20:17:40 +10:00
James Laird 47853a05c5 rtsp: cleanup debug message 2013-04-08 19:58:58 +10:00
James Laird dd23199752 cleanups 2013-04-04 08:57:00 +11:00
Brendan Shanks 66ccc1ef0e Merge remote-tracking branch 'abrasive/1.0-dev' into 1.0-dev 2013-04-03 08:43:52 -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 0f7b32ab6d debug: multilevel debug functions 2013-04-03 21:54:45 +11:00
Quentin SmartandJames Laird f01b957fcd rtsp: fix endian bug in challenge computation
on MIPS platform the IP address was reversed...
2013-04-03 21:34:02 +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
Brendan Shanks a6f48e8d53 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.
2013-04-02 11:00:00 -07:00
Brendan Shanks 9896ed828a 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.
2013-04-02 10:39:30 -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 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 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 cf8401dbc8 Add copyright notices. 2013-04-01 21:57:11 +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
James Laird a2fb5d219d Refactor and rewrite.
Perl script is removed in favour of C. Stale documentation and initfiles
are removed for now also.

C interface works, but still needs work (for example, mDNS is missing) -
see TODO.
2013-04-01 18:57:08 +11:00