Commit Graph

2747 Commits

Author SHA1 Message Date
Julien BLACHE
ee10bcf968 Rework target size determination
Move the code out of artwork_rescale() and into artwork_get(). Properly
implement "PNG prefers even row count" to avoid artifacts.
2010-10-24 17:38:12 +02:00
Julien BLACHE
fa868c5c7a Make Murmur hash functions static 2010-10-24 16:37:36 +02:00
Julien BLACHE
2be812e04d Fix 32bit MurmurHash64 routines
Properly handle the tail of the data buffer, accessing the tail as an
unsigned char array instead of a uint32_t array.

Issue spotted by Peter Carmichael.
2010-10-23 18:36:10 +02:00
Kai Elwert
65c8924898 Add daap.songalbumartist to the list of supported DAAP query fields 2010-10-09 16:32:27 +02:00
Kai Elwert
e5af78fe9f Implement sort=artist for DAAP queries 2010-10-09 16:06:00 +02:00
Kai Elwert
ee7b976eeb Advertise DAAP updates support in server-info
We don't send out DAAP updates, but Remote requires this to work.
2010-10-09 15:54:53 +02:00
Julien BLACHE
a8e7a7aeeb Fix missing command_init() call in player_playback_next() 2010-10-07 21:06:40 +02: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
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