Commit Graph

2711 Commits

Author SHA1 Message Date
Julien BLACHE efcd463946 Add indexes for playlists 2011-09-10 12:56:30 +02:00
Julien BLACHE 664067fd88 Rewrite group queries, remove JOIN, add index
SQLite has trouble optimizing the query when written with JOIN, but does
pretty well using the indexes when written without JOIN. Add an index for
the query, too.
2011-09-10 12:56:30 +02:00
Julien BLACHE cbc7108fcf Use table aliases in all queries, update RSP & DAAP filters to match 2011-09-10 12:56:30 +02:00
Julien BLACHE 617c026060 Add covering indexes for *{,_sort} fields
These indexes help queries searching on these fields and will act as covering
indexes for sort strings, too.
2011-09-10 12:56:30 +02:00
Julien BLACHE becdfdb062 Add new indexes for general speedup
An index on songalbumid helps for joins on songalbumid on the files table; a
covering index on disabled+media_kind+songalbumid helps in numerous queries
all over the place.
2011-09-10 12:56:30 +02:00
Julien BLACHE 1dfd27090e Speedup startup rescan 2011-09-10 12:56:30 +02:00
Julien BLACHE 96c367f556 Kill useless database indexes 2011-09-10 12:56:30 +02:00
Julien BLACHE 333b7710bc Queries must hit SQLITE_DONE to execute profiling callback 2011-09-10 12:56:30 +02:00
Julien BLACHE d05634fddd Print query execution time in milliseconds 2011-09-10 12:56:29 +02:00
Julien BLACHE a2b7b811b8 Add query plan to DB profiling callback 2011-09-10 12:56:29 +02:00
Julien BLACHE 181b1e772f Add a logdomain for DB performance data 2011-09-10 12:56:29 +02:00
Peter Carmichael 6e10252021 Perform post-bulk-scan DB maintenance 2011-09-10 12:56:29 +02:00
Julien BLACHE 1909623d43 Run ANALYZE after DB startup 2011-09-10 12:56:29 +02:00
Peter Carmichael 3caae459be Add DB maintenance routines 2011-09-10 12:56:29 +02:00
Julien BLACHE 0b2df54524 libav 0.7: switch to generic AVDictionary for metadata handling 2011-09-10 12:48:14 +02:00
Julien BLACHE a2f409dd0a libav 0.7: use av_dump_format() instead of dump_format() 2011-09-10 12:48:14 +02:00
Julien BLACHE ed20d3f7de libav 0.7: use av_get_bytes_per_sample() instead of av_get_bits_per_sample_fmt() 2011-09-10 12:48:14 +02:00
Julien BLACHE bb8f9de8ec libav 0.7: use avformat_write_header() instead of av_write_header() 2011-09-10 12:48:14 +02:00
Julien BLACHE dbe22c2c02 libav 0.7: use avformat_open_input() instead of av_open_input_file() 2011-09-10 12:48:14 +02:00
Anthony Doko 29fe36522d Add TV metadata patch for libav 0.7 2011-08-27 18:22:23 +02:00
Craig Markwardt 732ec9239a Enable dynamic library updating
Modifications to db.c to enable the DAAP server to determine when
the media library has changed, and notify clients via an update.
Updates should show up to clients within 10 seconds.

Tested on iTunes 9.2.1
2011-08-24 00:47:27 -04:00
Craig Markwardt 7a021b2332 Fix 30 minute iTunes/DAAP time-out problem
httpd_daap now responds to client "update" requests.  Previously,
these requests were queued without response, and the client
closed the control session after 30 minutes of inactivity.  This
modification pushes out an update response when a new database
revision becomes available, or 25 minutes, whichever comes sooner.
This change set does not monitor the database state, so dynamic
updates to a library listing do not occur.  What you see at login
to the server is what you get.

Tested against iTunes 9.2.1; a connection stays up for hours,
regardless whether a song is being played or not.
2011-08-24 00:27:49 -04:00
Julien BLACHE 4472f9e955 Fix infinite loop on unknown DACP property
Missing strtok_r() call in the !dpm case.
2011-08-15 12:50:43 +02:00
Julien BLACHE 177d444f9f Bump version to 0.18 2011-08-07 11:20:38 +02:00
Julien BLACHE e9c87d1a2f ChangeLog for forked-daapd 0.18 2011-08-07 11:20:14 +02:00
Julien BLACHE bea6bc762a Update copyright message 2011-07-09 12:12:59 +02:00
Julien BLACHE f08c18a5ed Add config knob for mixer channel name (ALSA/Linux only)
In some complex ALSA setups, using PCM or Master is not the right thing
to do, so allow a custom mixer element name to be specified in the config
file for this use case.

Request and initial patch by Kurt Vanderlinden <kurt.vanderlinden@skynet.be>.
2011-07-09 12:12:58 +02:00
Julien BLACHE 77cb2d403b Remove getpwnam() call, use runas_{uid,gid} from conffile.h 2011-07-09 12:12:58 +02:00
Julien BLACHE 4b950aa151 Remove getpwnam() call from logger, use runas_{uid,gid} from conffile.h 2011-07-09 12:02:09 +02:00
Julien BLACHE a40f3f0629 Resolve runas username when loading configuration and export uid/gid 2011-07-09 12:02:09 +02:00
Julien BLACHE 6feac7dd45 Do not elevate privileges to reopen the log file
Instead, set ownership and permissions at startup and rely on logrotate
recreating a new log file with appropriate permissions after that.
2011-07-09 12:02:09 +02:00
Julien BLACHE 8310bc226d Plug leaks, avahi_strdup() not necessary here 2011-07-09 11:54:55 +02:00
Julien BLACHE 87bd2b8ec4 Plug leak of pl_base 2011-07-09 11:54:55 +02:00
Julien BLACHE e2390f9d22 Initialize sockaddr before binding 2011-07-09 11:54:55 +02:00
Julien BLACHE 17d4153b81 Adapt for new input methods in ANTLR 3.4 2011-06-24 19:34:11 +02:00
Julien BLACHE 55d6205cf8 Add explicit initialization for return values
Plain types were automatically initialized to NULL up to and including
ANTLR 3.2, but this changed (for the better) in later versions.
2011-06-24 19:34:05 +02:00
Julien BLACHE 59c0547d28 Bump version to 0.17 2011-06-16 18:25:31 +02:00
Julien BLACHE ce7decf8dd ChangeLog for forked-daapd 0.17 2011-06-16 18:24:34 +02:00
Julien BLACHE f1e6d76b5c Document output device selection in Remote 2011-06-16 18:22:16 +02:00
Julien BLACHE 759cc55b0f Fix bad parameters in I_LAST index clause 2011-06-05 11:04:57 +02:00
Julien BLACHE de4d5d0f4c libav 0.7: Metadata string for disc can be "disc/totaldisc"
Pointed out by Raivo Hool; since we don't have a choice of performing or
not performing the metadata conversion, we will get "disc/totaldisc" for
ID3 files.
2011-06-04 12:09:38 +02:00
Julien BLACHE 1bea809078 Make disc parsing code generic, too 2011-06-04 12:08:50 +02:00
Julien BLACHE e4f38e856a Mark libav 0.7 as supported 2011-06-02 22:16:53 +02:00
Julien BLACHE a453e0e4ac libav 0.7: Use AVIO with libavformat >= 53 2011-06-02 22:16:53 +02:00
Julien BLACHE 6aa45c0b0c libav 0.7: Add AVIO interface to evbuffer, replacing ffmpeg_url_evbuffer 2011-06-02 22:16:53 +02:00
Julien BLACHE 6797e65861 libav 0.7: Silence const vs. non-const warning 2011-06-02 22:16:53 +02:00
Julien BLACHE 74b7c69828 libav 0.7: Metadata string for track can be "track/totaltrack" 2011-06-02 22:16:53 +02:00
Julien BLACHE 57e569aeb5 Make track parsing code generic 2011-06-02 22:16:53 +02:00
Julien BLACHE 3caf3df662 libav 0.7: Add new generic metadata names 2011-06-02 22:16:53 +02:00
Julien BLACHE b46afdc150 libav 0.7: Calling av_metadata_conv() is no longer needed 2011-06-02 22:16:52 +02:00