Sebastian Thorarensen
d6553fc6a7
ConfigData: Add support for signed integers
...
Now config_param::GetBlockValue() can be used to get signed integers
from the configuration.
2013-10-19 16:11:33 +02:00
Ben Boeckel
fc9014f7ec
PlayerThread: Only drop 0 length packets without tags
...
Fixes a regression from 752dfb3d95
which
caused the current chunk to be flushed as soon as new replaygain
information was found. If this occurs on a tag chunk, it has no data
(length 0) and is then skipped before pushing it to all of the outputs.
This change allows 0-length chunks through if they contain a tag and
they are now appearing in mplayer and mpv properly.
2013-10-19 15:45:11 +02:00
Max Kellermann
b39ab76118
Util/CharUtil: new library replacing g_ascii_isX()
2013-10-19 15:36:47 +02:00
Max Kellermann
90777f78c9
playlist/(Ext)M3u: use strchug_fast()
2013-10-19 15:36:47 +02:00
Max Kellermann
7cb803ad5c
test/test_pcm: use C++11 random instead of GLib
2013-10-19 15:05:48 +02:00
Max Kellermann
8e063829c4
encoder/{opus,vorbis}: new serial generator replacing g_random_int()
2013-10-19 14:43:24 +02:00
Max Kellermann
139c6be370
encoder/wave: include cleanup
2013-10-19 02:05:44 +02:00
Sebastian Thorarensen
b6ac249c3c
decoder/mikmod: Add loop configuration parameter
...
This patch allows the user to configure the mikmod decoder plugin to loop
modules. It adds a configuration parameter to the mikmod decoder called
"loop" which can be "no" (the old behaviour, default) or "yes" to allow
modules to use backward loops.
2013-10-18 14:23:24 +02:00
Max Kellermann
5e103b5fb7
filter/route: merge the two loops, one-pass parsing
2013-10-18 12:24:49 +02:00
Max Kellermann
de5be62da5
filter/route: allocate "sources" statically
...
Worst-case allocation using MAX_CHANNELS.
2013-10-18 12:24:47 +02:00
Max Kellermann
b5f608d026
filter/route: use int8_t instead of signed char
2013-10-18 12:24:47 +02:00
Max Kellermann
58fe352fda
util/StringUtil: rename strchug_fast_c() to strchug_fast()
...
Overload the name.
2013-10-18 12:24:47 +02:00
Max Kellermann
b105093dcd
ZeroconfAvahi: convert avahiRunning to a "bool"
2013-10-18 10:50:14 +02:00
Max Kellermann
d1c401fe7a
ZeroconfAvahi: integrate into the EventLoop
...
Finally fixes the regression by commit c1f4f1fd
.
2013-10-18 09:16:55 +02:00
Max Kellermann
964aa42b04
test/run_avahi: new debug program
2013-10-18 09:01:34 +02:00
Max Kellermann
bf8660b21c
test/run_inotify: use SignalMonitor
2013-10-18 08:56:25 +02:00
Max Kellermann
43863a70c8
SignalMonitor: add SignalMonitorGetEventLoop()
...
Eliminate the global variable "shutdown_loop".
2013-10-18 08:44:40 +02:00
Max Kellermann
bd5a70c712
input/curl: use MultiSocketMonitor constants instead of GLib
2013-10-18 08:30:44 +02:00
Max Kellermann
909ff4b8a9
valgrind.suppressions: add g_get_home_dir suppression
2013-10-18 01:14:31 +02:00
Max Kellermann
bcfc62a3f2
PlaylistEdit, QueueSave: free the Song object after Append()
...
Fix for a major memory leak.
2013-10-18 01:12:47 +02:00
Max Kellermann
d1924867db
valgrind.suppressions: add libGnuTLS suppression
2013-10-18 01:00:20 +02:00
Max Kellermann
abfbd55305
fs/Path: rename to AllocatedPath
...
The new class Path only holds a string pointer without being
responsible for allocation/deallocation. The FileSystem.hxx library
accepts Path arguments instead of AllocatedPath, to avoid forcing
callers to allocate another string object.
2013-10-17 23:43:46 +02:00
Max Kellermann
b3611524f4
fs/Path: move definitions to struct PathTraits
2013-10-17 23:23:25 +02:00
Max Kellermann
a63613dba0
fs/Path: include clenaup
2013-10-17 23:20:26 +02:00
Max Kellermann
7fec2b02d4
fs/Charset: GetFSCharset() returns "utf-8" by default
...
If fs_charset is empty, i.e. we're using the default "utf-8",
GetFSCharset() should return exactly that instead of an empty
std::string.
2013-10-17 22:47:09 +02:00
Max Kellermann
608a98c873
fs/Charset: default filesystem charset is UTF-8
...
Implement a fast path for UTF-8 which leaves fs_charset empty, and
don't assign a value to fs_charset if there's no configuration.
2013-10-17 22:42:22 +02:00
Max Kellermann
f951e5356b
fs/Charset: don't allow nullptr arguments
2013-10-17 22:39:06 +02:00
Max Kellermann
080ee87e07
fs/Path: move configuration code to Config.cxx
2013-10-17 22:29:03 +02:00
Max Kellermann
fa60b9ae94
fs/Path: move path_domain to Domain.hxx
2013-10-17 22:20:53 +02:00
Max Kellermann
0d33ae52c6
fs/Path: make fs_charset static
2013-10-17 22:10:27 +02:00
Max Kellermann
77e4b28092
fs/Path: include cleanup
2013-10-17 22:08:57 +02:00
Max Kellermann
4817437d31
fs/Limits: convert macro to "constexpr"
2013-10-17 22:08:56 +02:00
Max Kellermann
354b5a9365
fs/Path: move MPD_PATH_MAX to Limits.hxx
2013-10-17 22:00:01 +02:00
Max Kellermann
58502b38d3
*: use std::numeric_limits
2013-10-17 21:53:19 +02:00
Max Kellermann
d44880dfa9
UpdateGlue: handle update id management
...
Add UpdateQueueItem::id to keep track of the id in every item.
Replaces thhe hack in update_queue_push().
2013-10-17 21:45:53 +02:00
Max Kellermann
0c63632cc2
UpdateGlue: pass UpdateQueueItem around
...
Fixes a few kludges and avoids GLib allocation.
2013-10-17 21:45:42 +02:00
Max Kellermann
b93523c0b1
UpdateGlue: never pass null to update_enqueue()
2013-10-17 21:45:41 +02:00
Max Kellermann
7ef40de98b
UpdateQueue: use std::string and std::queue
2013-10-17 21:13:40 +02:00
Max Kellermann
196ec25682
Mapper: use std::string
2013-10-17 19:54:58 +02:00
Max Kellermann
c85af12d45
StickerDatabase: return std::string
2013-10-17 19:39:23 +02:00
Max Kellermann
e452d1f5b4
StickerDatabase: add pure/const attributes
2013-10-17 19:39:22 +02:00
Max Kellermann
ffea268d2e
PlayerControl: GetError() returns an Error, not a char*
2013-10-17 19:34:59 +02:00
Max Kellermann
8e676db633
Thread/Thread: replacement library for GThread
2013-10-17 19:29:47 +02:00
Max Kellermann
f6d74012b7
util/Error: add method SetLastError()
2013-10-17 19:29:38 +02:00
Max Kellermann
32dfc11c23
Main: use ThreadId instead of GThread*
2013-10-17 19:28:34 +02:00
Max Kellermann
aad0ea6e23
Makefile.am: move sources to libthread.a
2013-10-17 19:26:23 +02:00
Max Kellermann
05de2e998c
InputStream: use int64_t instead of goffset
...
Decouple some more from GLib.
2013-10-17 10:45:10 +02:00
Max Kellermann
24780d99e6
input_plugin: rename struct to "InputPlugin"
2013-10-17 10:20:57 +02:00
Max Kellermann
7c1cf61728
thread/{Cond,Mutex}: use "class" instead of "typedef"
...
Allows forward-declaration.
2013-10-17 10:06:31 +02:00
Max Kellermann
eb10d08671
CueParser: use std::string
2013-10-17 01:34:10 +02:00