Julien BLACHE
edfcf955a7
Replace device autoselect deadline with a boolean flag
...
Devices can be autoselected until we first get into the PLAY_PLAYING state.
This avoids having to check the player state when adding devices.
2010-12-02 19:53:36 +01:00
Julien BLACHE
25cdedc343
Remove device list lock (dev_lck)
...
No longer necessary now that all device list operations happen in the
player thread.
2010-12-02 19:53:36 +01:00
Julien BLACHE
320d3b9dde
Manage devices entirely in the player thread
...
Provide non-blocking player commands to the mDNS callback to manage
the device list. All operations on the device list now happen in the
player thread.
2010-12-02 19:52:45 +01:00
Julien BLACHE
389e3f1123
Introduce non-blocking commands
2010-12-02 19:51:50 +01:00
Julien BLACHE
ec4299e6c7
Turn speaker enumeration into a sync command
2010-12-02 19:51:08 +01:00
Julien BLACHE
418e818bee
Move code around, no functional changes
2010-11-28 17:37:48 +01:00
Julien BLACHE
c3e24a0d9a
Hide get_pos() debug messages behind DEBUG_SYNC
2010-11-28 17:33:19 +01:00
Julien BLACHE
12daf7237e
Downgrade debug message priority
2010-11-28 17:33:07 +01:00
Julien BLACHE
45e3d55ee0
Enumerate all active or advertised speakers
...
We need to include speakers that are currently active in our enumeration,
even if they're not advertising anymore; until the session is declared failed
by RAOP, we are streaming to this device, even if it's not advertising
anymore - which may be a temporary condition.
2010-11-28 17:33:00 +01:00
Julien BLACHE
c70caad87e
Disable session expiration
...
Auto-logout currently doesn't work as expected and breaks streaming etc once
the timeout occurs. Disable it until we can make it work as expected.
Maybe we'll need to upgrade the DAAP version.
2010-11-11 10:44:57 +01:00
Julien BLACHE
8cc3d4841f
Move last_active check into raop_device_find_or_new()
...
Removes some of the clutter in the mDNS callback and ensures the check is only
done for new devices.
2010-11-02 19:13:46 +01:00
Kai Elwert
6bfc4a65e2
Implement sort=artist for DACP/player
2010-10-26 18:06:36 +02:00
Peter
204a756283
Fallback to the Master mixer element if PCM is not available
...
When using PulseAudio through ALSA, the mixer doesn't have a PCM element;
fallback to Master in this case.
2010-10-24 18:53:58 +02:00
Julien BLACHE
791a2770f0
Document new artwork behaviour
2010-10-24 18:48:55 +02:00
Peter
4f164b939c
Add support for JPEG artwork and cover.{png,jpg} album artwork
2010-10-24 18:44:53 +02:00
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