Commit Graph

45 Commits

Author SHA1 Message Date
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
Julien BLACHE
7d858d6c9f Add support for IPv6 RAOP sessions 2010-05-14 17:38:16 +02:00
Julien BLACHE
b1d265b0ea Add IPv6 support for AirTunes streaming 2010-05-14 17:38:10 +02:00
Julien BLACHE
efbea91ed4 Run control and timing services on v4 and v6
Add pointers to the RAOP services (control & timing) to raop_session;
depending on the family, raop_session_make() will set them to the proper
services.
2010-05-14 17:38:05 +02:00
Julien BLACHE
4a199cdcce Introduce struct raop_service for timing & control services 2010-05-14 17:38:00 +02:00
Julien BLACHE
b8238e6a78 Add IPv6 support to player and RAOP for device discovery 2010-05-14 17:37:55 +02:00
Julien BLACHE
c2ae855a28 Always re-add timing event instead of returning on error 2010-05-13 17:16:44 +02:00
Julien BLACHE
1a829d69a0 Do not free evrtsp_request after make_request() call
At that point, the request has been added to the connection and will be
freed when the connection is freed.
2010-05-08 12:16:54 +02:00
Julien BLACHE
d335b2d331 Add RAOP implementation, with AirTunes v2 streaming 2010-05-02 11:44:43 +02:00