Commit Graph

2503 Commits

Author SHA1 Message Date
ejurgensen
cba9bc05e9 Expire sessions without strict timeout (closes #163) 2015-10-03 10:00:42 +02:00
ejurgensen
ebba164a0d Change MPD deinit position so it matches the init order, and so it will not get called if httpd fails to start 2015-09-29 23:14:44 +02:00
ejurgensen
5125e24cfe Let db_build_query_index_clause() always return an initialized idx, even on failure 2015-09-29 22:51:23 +02:00
chme
cf70c514b6 Fix memory leak if index clause is used 2015-09-29 22:43:32 +02:00
chme
a1e2f53ab1 Fix memory leak if index clause is used 2015-09-29 22:42:53 +02:00
chme
0245813d34 Fix memory leak when parsing smart playlists 2015-09-29 22:42:30 +02:00
chme
1ed240d92c Fix memory leak due to missing free for evconnlistener 2015-09-29 22:42:09 +02:00
ejurgensen
6c26d87997 Make some global vars in lastfm.c static 2015-09-28 21:22:51 +02:00
ejurgensen
4db6318a82 Fix issue where volume gets set to -1 on startup of raop devices 2015-09-27 15:24:04 +02:00
ejurgensen
50bcdd2551 Plug minor memleaks in cache.c 2015-09-23 22:29:17 +02:00
ejurgensen
294d7a270f Protect against possible segfault if the artwork pixel format is unknown
- thank you groinwood for reporting this bug
2015-08-24 21:27:55 +02:00
ejurgensen
317ad2ba41 Always treat podcasts, audiobooks and compilations as audio, even if video stream is present 2015-08-05 22:36:28 +02:00
ejurgensen
68912efa1f Enable resuming playback from saved position for certain media kinds (eg audiobooks) 2015-08-04 22:33:32 +02:00
ejurgensen
7881df67f6 Hack to push live ICY metadata/artwork to remote clients 2015-07-31 14:43:22 +02:00
ejurgensen
1fe6521aff Remove libevent 1 support in httpd_dacp 2015-07-30 22:50:11 +02:00
ejurgensen
3ba76e8f40 Remove libevent 1 support in httpd_daap 2015-07-29 23:05:47 +02:00
ejurgensen
7e9cf80ec0 Reorganize configure.ac according to subject (and my taste) 2015-07-21 23:00:55 +02:00
ejurgensen
bf72547b9b Drop legacy FLAC, Musepack and WMA file scanners (ffmpeg/libav can do this now) 2015-07-21 22:16:50 +02:00
chme
c6851eac9b [mpd] use the same image size as in raop_metadata_prepare (max 600x600)
to increase artwork cache hits
2015-07-18 07:34:48 +02:00
chme
1ab318d725 [mpd] support serving artwork over http 2015-07-18 07:17:21 +02:00
ejurgensen
d870b97142 Remove LastFM thread now that it can run from the worker thread 2015-06-27 23:24:07 +02:00
ejurgensen
b6703ab7cd Don't retrieve ICY StreamUrls without jpg/png extension (don't want to risk initiating a major, useless download) 2015-06-20 23:11:18 +02:00
ejurgensen
ec0ba2c5fa Fix problem where the http client would ignore the last line in a m3u because of missing CRLF (issue #169) 2015-06-18 23:03:11 +02:00
chme
ceca9135c5 [mpd] add special handling to command "lsinfo" if the root directory was
passed as argument.

Clients like ympd and ncmpcpp are relying on this (deprecated) behavior
2015-06-14 07:11:17 +02:00
chme
b9b3671d58 [mpd] add support for command "decoders" 2015-06-14 07:11:17 +02:00
chme
426e827712 [mpd] Return whole queue for command "playlistinfo" if given argument is
-1 (not a valid position in the queue)
2015-06-13 14:38:56 +02:00
ejurgensen
879c2ef350 Avoid cache regeneration triggering during db_query_run (in case the query is long running, like db_files_update_songalbumid might be) 2015-06-08 23:07:56 +02:00
ejurgensen
335517a2e8 Prevent this database deadlock:
1. bulk scan begins transaction, locking the db
2. cache regeneration is triggered, but waits for db to unlock
3. bulk scan calls cache_artwork_ping, which can't return because cache thread is waiting
-> scan thread is waiting for cache thread, which is waiting for scan thread
2015-06-08 22:24:33 +02:00
ejurgensen
4fffc057b6 Change queue_remove() to fix segfault because source_head/shuffle_head could become invalid, and to protect against invalid input in general (ref issue #160).
Also try to failsafe source_position() and implement next_ps() all around.
2015-06-08 00:21:49 +02:00
ejurgensen
3dde23e060 Include terminating null in u8_normalize - not necessary now, but just to be safe 2015-06-06 14:47:54 +02:00
ejurgensen
6224fdb025 UTF-8 conversion was returning string without null termination (thank you @stephan-01010011, ref pr #168) 2015-06-06 14:22:24 +02:00
ejurgensen
a9437acc1a Rework pr #162 to avoid mem leaks and string termination problems 2015-06-05 23:55:57 +02:00
ejurgensen
7d231b992b Fix typo 2015-06-04 22:17:49 +02:00
ejurgensen
cd14522915 Swap misplaced args in db.c 2015-06-04 22:10:30 +02:00
ejurgensen
271c5ff344 Change DB upgrade from v18->v19 to v18->v18.01 2015-06-04 21:58:01 +02:00
chme
7cd96690c0 Remove file extension for playlists from virtual_path during scan and
update db to v19 removing the file extensions from the stored playlists

An existing file extension in the virtual path leads to wrong entries in
MPDroid (and mpd does also not return the file extension).
2015-06-04 08:11:46 +02:00
ejurgensen
3655e26703 Code style 2015-06-02 23:10:04 +02:00
ejurgensen
64ef66f030 Merge pull request #162 from stephan-01010011/master
Fixed bug that caused icy header metadata to be not correctly encoded
2015-06-03 00:05:56 +03:00
ejurgensen
7a0dfef136 Add sub-sorting when sort=artists, because otherwise Tunesremote SE will not play the artist's tracks in proper order 2015-06-01 23:36:16 +02:00
stephan-01010011
32727bd296 Fixed bug that caused icy header metadata to be not correctly
encoded/converted. Characters above x7F were replaced by '?' character
although the rfc defines a ISO−8859−1 encoding for descriptive
field-content.

According to rfc2616 the field-content is defined as follows:
<the OCTETs making up the field-value and consisting of either *TEXT or
combinations of token, separators, and quoted-string>
The TEXT rule is only used for descriptive field contents and values
that are not intended to be interpreted by the message parser. Words of
*TEXT MAY contain characters from character sets other than ISO- 8859-1
only when encoded according to the rules of RFC 2047.

In the previous implementation the icy metadata was converted based on
fromcode "ascii".

Following incoming icy header field-values should be encoded as
"ISO−8859−1" before adding them to the metadata structure.

- misc.c unicode_fixup_string enhanced by an additional parameter to
define the fromcode
- misc.h unicode_fixup_string prototype updated
- filescanner.c function fixup_tags updated to stay compatible to the
previous implementation using fromcode "ascii"
- db.c function unicode_fixup_mfi updated to stay compatible to the
previous implementation using fromcode "ascii"
- http.c function metadata_header_get enhanced to encode the header
field-content as "ISO−8859−1" to comply with rfc2616
2015-05-31 14:05:31 +01:00
chme
7f09438621 [mpd] support "date" argument in find and search commands 2015-05-30 05:56:53 +02:00
chme
2a04740ca2 [mpd] support "file" argument in list command 2015-05-30 05:56:52 +02:00
chme
4299de5ac7 [mpd] implement plchanges to report all songs in the queue as changed
(ignores the playlist version parameter).

This is necessary in order to get mpd clients (e. g. sonata) relying on
this command to display the queue.
2015-05-30 05:33:32 +02:00
ejurgensen
4a50a7a326 [spotify] Improve Spotify loading efficiency and set time_added so smart playlists will work 2015-05-29 19:47:53 +02:00
ejurgensen
40d7d044be Lower log severity of message in spotify.c 2015-05-27 20:32:27 +02:00
ejurgensen
a1e417c571 Rename count_info to fix issue #157 2015-05-26 21:24:10 +02:00
ejurgensen
8dd1e0fde2 Fix problem introduced with commit 475d5db where genres and composers don't get sorted 2015-05-26 21:10:28 +02:00
ejurgensen
79cdfebf34 Merge pull request #150 from chme/mpdidle
Add support for mpd idle command
2015-05-21 22:31:03 +02:00
ejurgensen
d6828b90fc Merge pull request #149 from chme/mpdcommands
Add support for additional mpd commands
2015-05-21 22:30:49 +02:00
chme
8c12929b91 Added source code comments, return error value if adding/removing a
listener failed
2015-05-21 07:57:18 +02:00