Commit Graph

2288 Commits

Author SHA1 Message Date
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 309ad6060e RAOP device discovery rework, rework add/update 2010-09-30 19:24:34 +02:00
Julien BLACHE 48de711301 RAOP device discovery rework, remove add/remove branch & reindent 2010-09-30 19:18:49 +02:00
Julien BLACHE 999066d703 RAOP device discovery rework, split remove code 2010-09-30 19:15:17 +02:00
Julien BLACHE 01df67ceb6 Move last_active check into the device add case 2010-09-30 19:08:43 +02:00
Kai Elwert cd8686be82 Add DB profiling support 2010-09-29 18:56:38 +02:00
Julien BLACHE 5c81144beb Revert to standard SQLite functions for DB startup, creation and upgrade
No need to use the blocking variants here as there is no concurrency during
DB startup.
2010-09-29 18:26:31 +02:00
Julien BLACHE b79cf13c95 Remove custom collation and custom daap_songalbumid() function code 2010-09-28 18:39:43 +02:00
Julien BLACHE da0011de3b Load our SQLite extension 2010-09-28 18:38:10 +02:00
Julien BLACHE 517f11c691 Add the SQLite extension to the build 2010-09-28 18:35:25 +02:00
Julien BLACHE 743476fec0 Add SQLite extension
Move the custom collation and daap_songalbumid() function to a custom SQLite
extension. This will make it possible to use them both from any SQLite client
or frontend.
2010-09-28 18:33:32 +02:00
Julien BLACHE a4c74c2063 Use AF_UNSPEC instead of -1 as error code for family 2010-09-26 14:52:41 +02:00
Julien BLACHE a3d549bd37 Reduce stack usage for boolean flags 2010-09-25 20:57:10 +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 2d139d77a5 Export evrtsp_method() 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 f7c2bf756a Remove duplicate mstm tag in server-info reply 2010-09-18 22:50:26 +02:00
Julien BLACHE 8411aa48b7 Keep Avahi code inside mdns_avahi.c 2010-09-18 17:25:50 +02:00
Julien BLACHE 7ba3b23f63 Rename mdns_avahi.h to mdns.h 2010-09-18 17:24:34 +02:00
Julien BLACHE 33d51f0652 Add key/value functions & data types 2010-09-18 17:24:33 +02:00
Julien BLACHE aa57931879 Fix typo in goto label name 2010-09-17 12:21:05 +02:00
Julien BLACHE d5d1a2d3cb Move code around, no functional changes 2010-09-15 19:05:39 +02:00
Julien BLACHE 1f3e79d2c2 Document ffmpeg 0.5.1+ requirement 2010-09-15 18:22:07 +02:00
Julien BLACHE 5155bc05ef Add check for av_lockmgr_register() in libavcodec (ffmpeg 0.5.1+) 2010-09-15 18:21:19 +02:00
Julien BLACHE b05d173139 Add a lock manager callback for ffmpeg 2010-09-15 18:20:23 +02:00
Julien BLACHE 235e13ef70 Call avcodec_init() 2010-09-15 18:17:35 +02:00
Julien BLACHE 748a208796 Fix gcrypt_init_fail error path
Set ret to EXIT_FAILURE and swap the gcrypt_init_fail and signal_block_fail
labels so they appear in the correct (reverse) order. No impact.
2010-09-15 18:05:20 +02:00
Julien BLACHE ce683b26ab Add configure checks for timerfd 2010-09-14 22:39:22 +02:00
Julien BLACHE bc443752b3 Move eventfd checks to the Linux-specific portion of configure 2010-09-14 22:35:48 +02:00
Julien BLACHE 75fb755db7 Assign ms to target_pts to ensure full 64bit computation of target_pts
Clang produced interesting results without this (or casting ms to int64_t),
as the seek target got mis-computed and fell short of the requested seek
target in ms (ex. wanted 18569 ms -> got 555 ms).
2010-09-13 22:06:53 +02:00
Julien BLACHE 115ded61d0 Move code around, no functional changes
Assign start_time right at the start, making the target_pts computation more
obvious wrt start_time and showing the symmetry of the target_pts and got_pts
computations.
2010-09-13 22:06:52 +02:00
Julien BLACHE d1af41f0e7 Fix got_pts computation wrt start_time
Substract start_time from got_pts after actually getting got_pts, and then
rescale the result.
2010-09-13 22:06:12 +02:00
Julien BLACHE bff494ac5d Use a union for command argument in struct player_command 2010-09-13 19:08:29 +02:00
Julien BLACHE 7f79ca5709 Modify player commands to use per-command lock & condition
This makes the player commands usable in a concurrent multithread setup, which
was not the case with the global command+lock+condition due to the time it
could take the player thread to act upon the command event. This left a wide
open window for race conditions with other threads locking cmd_lck before the
player thread had a go at it.
2010-09-13 19:07:00 +02:00
Julien BLACHE 942f3e4aad Modify player-to-DACP status update communication
Have DACP set a callback (through a sync_command() setter) into the player
instead of setting an fd without any locking. All the code now lies in DACP
instead of being split between DACP and the player.
2010-09-13 18:40:41 +02:00
Julien BLACHE 90b13b1855 Remove checks for evhttp.h and libevent_extra
We're using our internal copy of evhttp anyway, so there's no point in keeping
the checks. We're not likely to switch back to the stock evhttp anytime soon.
2010-09-12 18:46:38 +02:00
Julien BLACHE b78b90ad0e Remove useless #include <evhttp.h> 2010-09-12 18:43:22 +02:00
Julien BLACHE 01b42d3108 Fix typo, checking for evbuf instead of update 2010-09-12 17:31:31 +02:00
Julien BLACHE c6c53e6a28 Fix integer type mismatch in SQL query
sample_count is uint64, not int.
2010-09-10 20:58:10 +02:00
Julien BLACHE b1e57f8f6a Factor out common code in RSP 2010-09-10 18:47:43 +02:00
Julien BLACHE 0cb62fdabf Bind IPv4 server first, to avoid v4compat 2010-09-10 18:47:43 +02:00
Julien BLACHE e9b8fd8bd7 Check for both ip6-localhost and localhost 2010-09-10 18:47:42 +02:00
Julien BLACHE 053b8df4ba Factor out common code to increase playcount while streaming 2010-09-10 18:47:42 +02:00