Commit Graph

58 Commits

Author SHA1 Message Date
ejurgensen
3215d32b57 AirFoil will not return CSeq, so skip checking if it's missing 2013-08-13 22:11:21 +02:00
Kai Elwert
49ab2a3ce4 Allow playback on non apple airplay devices 2013-07-04 14:57:00 +02:00
Julien BLACHE
e2390f9d22 Initialize sockaddr before binding 2011-07-09 11:54:55 +02:00
Julien BLACHE
2cd56dfc6d Bail out early on if artwork format is not supported 2011-04-30 11:41:12 +02:00
Julien BLACHE
a70a45d925 Fix DAAP songlist generation after code move to dmap_common
Handling of the sort tags was left into httpd_daap.c where the code runs
after the song is added to the songlist - effectively adding the sort tags
to the *next* song, leading to incorrect sort tags on the current song.
2011-04-28 18:25:14 +02:00
Julien BLACHE
53588f36af Wire up metadata handling in player and RAOP
This enables sending out metadata to AppleTV.
2011-04-09 10:11:35 +02:00
Julien BLACHE
e3b756c730 Document progress values for AppleTV metadata 2011-04-09 10:11:35 +02:00
Julien BLACHE
1c861a6662 Add support for AppleTV AirTunes metadata in RAOP
The AppleTV gets sent the song metadata (DMAP data), artwork and progress
data during AirTunes streaming. Add support for this in RAOP.
2011-04-09 10:11:35 +02:00
Julien BLACHE
627062cab8 Add wants_metadata flag to struct raop_session 2011-04-09 10:11:35 +02:00
Julien BLACHE
7984b4baea Document RAOP request queueing 2011-04-03 10:45:10 +02:00
Julien BLACHE
961b2484b8 Re-establish closecb only when no requests are in flight 2011-04-03 10:45:03 +02:00
Julien BLACHE
ef52e922b2 Turn req_in_flight into a counter 2011-04-03 10:44:18 +02:00
Julien BLACHE
a4f02ed08d Manage CSeq in raop_add_headers() 2011-04-03 10:43:37 +02:00
Julien BLACHE
7fcb8e4447 Check reply CSeq against request CSeq 2011-04-03 10:42:49 +02:00
Julien BLACHE
f097d80d6a Add optional RTP-Info parameter to raop_send_req_set_parameter() 2011-04-03 10:42:42 +02:00
Julien BLACHE
9c43a9a900 Make SET_PARAMETER content-type an argument to raop_send_req_set_parameter() 2011-04-03 09:54:12 +02:00
Julien BLACHE
5cf5cac9c2 Fix misuse of RAOP_CONNECTED in session state test 2011-03-27 17:04:24 +02:00
Julien BLACHE
5bad343278 Rename RAOP callbacks for consistency 2011-03-26 11:45:17 +01:00
Julien BLACHE
c2579dc0a6 Bring raop_send_req_flush() prototype in line with others 2011-03-26 11:45:17 +01:00
Julien BLACHE
c66496176e Fix debug message loglevel 2011-03-21 18:41:38 +01:00
Julien BLACHE
0d0877de9c Honour IPv6 config option in player/RAOP 2011-03-20 12:20:07 +01:00
Julien BLACHE
ec7c3d108c Let player know about IPv6 status in RAOP 2011-03-15 19:20:38 +01:00
Julien BLACHE
652fa9371f Add terminal \r\n sequence for RAOP volume control on 802.11g ApEx
The 802.11g ApEx seems to require a terminal \r\n sequence, otherwise it
just ignores the setting.
2011-03-04 21:20:07 +01:00
Julien BLACHE
83d966df09 Fix typo in RAOP debug message 2011-03-04 20:47:36 +01:00
Julien BLACHE
13e2b12f9e Make proper use of IN6_ARE_ADDR_EQUAL()
Pass pointers to sin6_addr instead of passing sin6_addr.s6_addr32 which
isn't portable and isn't the proper way to use the macro anyway.
2011-02-24 19:51:37 +01:00
Raivo Hool
1a11efec58 Use sys/endian.h on FreeBSD 2011-02-23 20:44:49 +01:00
Julien BLACHE
fa299a9be9 Add debug message for RTSP requests 2010-12-12 15:06:57 +01:00
Julien BLACHE
1e9078182d Fix RAOP volume printing
Partial revert of 4ac75a316a, going back to
the previous way of computing the RAOP volume. Fixes printing when volume
is 0.0 (would print -0.000000).
2010-12-07 12:49:48 +01:00
Julien BLACHE
02ea6f4823 Downgrade volume computations to float (from double)
Although we lose precision, this is still enough for computing relative,
absolute and RAOP volume and will make a difference on embedded CPUs.
2010-12-04 16:15:49 +01:00
Julien BLACHE
4ac75a316a Modify RAOP volume computation and printing
Compute the absolute value and do not use floor() to print out the
volume.
2010-12-04 16:13:54 +01:00
Julien BLACHE
9e9c3e42cc Rework RAOP volume setting to be per-speaker
Player now pilots RAOP volume setting directly on a per-speaker basis.
2010-12-04 15:08:06 +01:00
Julien BLACHE
aa33b520ed Identify RAOP device type
Identify the device type in the mDNS callback and decide features & quirk
in RAOP based on the identified device type.
2010-10-07 21:06:40 +02:00
Julien BLACHE
3abf62179e Implement RAOP retransmission 2010-10-06 19:30:04 +02:00
Julien BLACHE
10a0b16573 Implement RAOP retransmit buffer 2010-10-06 19:30:03 +02:00
Julien BLACHE
faea2d33a1 Split out RAOP packet sending 2010-10-06 19:30:03 +02:00
Julien BLACHE
385375cdc6 Add RAOP control request handler 2010-10-06 19:30:03 +02:00
Julien BLACHE
a2329dfd3a Use djb_hash(libname) as the RTP SSRC ID 2010-10-03 17:01:08 +02:00
Julien BLACHE
f13a83147d Move code around, no functional changes 2010-10-02 13:18:12 +02:00
Julien BLACHE
65a75dd85f Do not use a scoped address in SDP payload 2010-10-02 12:41:45 +02:00
Julien BLACHE
50a9a3690f RAOP auth quirk for old (802.11g) AirPort Express 2010-09-25 20:57:10 +02:00
Julien BLACHE
cc4e271de1 Add Authorization header to all RTSP requests 2010-09-25 20:57:10 +02:00
Julien BLACHE
d0e0700a13 Move code around, no functional changes 2010-09-25 20:57:10 +02:00
Julien BLACHE
6f642f487b Rework WWW-Authenticate header parsing
Make it work for both
 WWW-Authenticate: Digest realm="raop", nonce="518C974C3847DEAE59B1FE0609C437C702C4BEFE"
and
 WWW-Authenticate: Digest realm="raop" nonce="3328882a152ab0b51bc16b15a038b3bb"

802.11g and 802.11n AirPort Express, respectively.
2010-09-25 20:57:10 +02:00
Julien BLACHE
9a01a0e0d7 Kill RAOP sessions at deinit 2010-07-30 22:18:06 +02:00
Julien BLACHE
51f879cb32 Turn flags into bitfields to reduce struct sizes 2010-07-30 19:09:09 +02:00
Julien BLACHE
7a09ee4092 Add support for streaming unencrypted audio 2010-07-30 19:09:09 +02:00
Julien BLACHE
e106beb631 Rename, rearrange and make more use of the AIRTUNES_V2_* #defines 2010-07-30 18:34:59 +02:00
Julien BLACHE
a678f5c99b Relax Audio-Latency header check
Older G-only AirPort Express devices do not have an Audio-Latency header in
their RECORD reply.
2010-07-17 08:27:36 +02:00
Julien BLACHE
c4e4db0728 Complete IPv6 handling in the timing sync service
This commit adds the missing bits that should have been part of
commit efbea91ed4 when IPv6 support was
introduced. Oops.
2010-07-11 20:30:00 +02:00
Julien BLACHE
e2712cae0d Handle IPv6 scoped addresses 2010-07-10 12:36:47 +02:00