aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-12-01pcm/PcmMix: use the SampleTraits libraryMax Kellermann1-21/+29
2013-12-01pcm/SampleTraits: use 64 bit for S24 long_typeMax Kellermann1-1/+1
2013-12-01pcm/Traits: add typedef long_typeMax Kellermann1-0/+13
2013-12-01pcm/Traits: add API documentationMax Kellermann1-0/+24
2013-12-01pcm/PcmFormat: move generic definitions to Traits.hxxMax Kellermann2-45/+72
2013-12-01pcm/SoxrResampler: new resampler option using libsoxrMax Kellermann3-0/+162
2013-12-01pcm/ConfiguredResampler: convert boolean flag to enumMax Kellermann1-13/+31
Prepare for adding more resamplers.
2013-11-30pcm/PcmResampler: convert to abstract interfaceMax Kellermann17-886/+694
The PcmResampler interface is implemented by the two classes FallbackPcmResampler and LibsampleratePcmResampler. This prepares for adding more resampler libraries.
2013-11-30pcm/PcmConvert: move code to new class GluePcmResamplerMax Kellermann4-139/+152
2013-11-30pcm/PcmConvert: move code to new class PcmChannelsConverterMax Kellermann4-66/+222
2013-11-30pcm/PcmConvert: move code to new class PcmFormatConverterMax Kellermann4-68/+243
2013-11-30pcm/PcmConvert: add AudioFormat parametersMax Kellermann2-53/+53
Don't use src_format. In the middle of Convert(), the current AudioFormat has already been modified, it's now something in between src_format and dest_format. This simplifies keeping track of what remains to be done.
2013-11-29pcm/PcmConvert: use struct ConstBuffer internallyMax Kellermann2-61/+36
2013-11-29pcm/PcmDsd: use struct ConstBufferMax Kellermann3-25/+26
2013-11-29util/ConstBuffer: new utility classMax Kellermann1-0/+118
2013-11-29pcm/PcmDsd: make attributes privateMax Kellermann1-1/+2
2013-11-29PcmConvert: add pcm_convert_global_init()Max Kellermann3-2/+11
Wrapper for pcm_resample_global_init(), just in case other PCM libraries need initialization, too.
2013-11-29PollGroupEPoll.hxx: add const modifiers where applicableDenis Krjuchkov1-2/+2
2013-11-29Clock.cxx: provide all arguments for GetProcessTimesDenis Krjuchkov1-2/+2
All parameters seem mandatory, otherwise this call makes MPD crash.
2013-11-29event: implement PollGroup based on Windows selectDenis Krjuchkov4-0/+330
2013-11-28pcm: drop compatibility with libsamplerate older than 0.1.3Max Kellermann1-20/+0
Remove compatibility code.
2013-11-28Util/StringUtil: add StringStartsWith()Max Kellermann16-60/+68
Replaces GLib's g_str_has_prefix().
2013-11-28PcmConvert: fix src_format corruption when converting from DSDMax Kellermann2-6/+12
Method PcmConvert::Convert() modifies the src_format variable. This used to be a parameter, however commit d2679f59c made it an attribute instead. The modification to src_format persisted, and the next call would return garbage.
2013-11-28event: introduce generic API for internal event loopDenis Krjuchkov6-55/+147
2013-11-28include cleanup using iwyuMax Kellermann185-337/+113
2013-11-27Add infrastructure for using multiple event loopsDenis Krjuchkov13-113/+215
This change adds two configuration options: --with-eventloop=[glib|internal|auto] --with-pollmethod=[epoll|auto] First allows switching between GLib event loop and internal one. Second chooses backend to use for internal event loop. Conditional compilation symbols are changed accordingly. Additional helper macro MPD_OPTIONAL_FUNC_NODEF is added as well.
2013-11-26HttpdOutputPlugin.cxx: fix null pointer dereferenceDenis Krjuchkov1-1/+2
2013-11-26Main.cxx: initialize winsock before creating IO threadDenis Krjuchkov1-1/+1
Otherwise sockets can't be created during IO thread initialization.
2013-11-25Volume, Output: use new class PeriodClock instead of GTimerMax Kellermann10-58/+172
2013-11-25ClientNew: fix nullptr dereference after g_get_prgname() failureMax Kellermann1-1/+3
Hard-code the program name to "mpd" instead of using g_get_prgname(). The latter has become useless since this GLib variable doesn't get initialized anymore.
2013-11-24archive/iso9660: remove pointless formulaMax Kellermann1-2/+0
2013-11-24archive/iso9660: use reference instead of pointerMax Kellermann1-6/+6
2013-11-24archive/iso9660: convert structs to classesMax Kellermann1-18/+35
2013-11-24DatabaseGlue: make GetDatabase() "gcc_const"Max Kellermann1-1/+1
This variable is initialized once on startup. It will never change.
2013-11-24Stats: use monotonic clock instead of GTimerMax Kellermann5-15/+36
Reduce GLib usage.
2013-11-24Stats: use GetProcessTimes() on WIN32 to determine MPD uptimeMax Kellermann3-2/+51
Don't use GTimer if the operating system is able to tell us the uptime.
2013-11-24event: add API documentationMax Kellermann5-1/+38
2013-11-24event/SocketMonitor: add missing spaceMax Kellermann2-4/+4
2013-11-24CommandLine: new command line parserDenis Krjuchkov5-87/+353
This implementation behaves mostly identical to old parser. Few observable differences: - There are no option groups (single group is used for all options) - Option --stdout is hidden (it has been obsolete for a long time) - MPD executable name (mpd) is hardcoded for simplicity
2013-11-23archive/iso9660: simplify _read()Max Kellermann1-14/+15
2013-11-23decoder/{dsf,dsdiff}: eliminate useless assignmentsMax Kellermann2-5/+4
2013-11-23archive/iso9660: eliminate useless assignmentsMax Kellermann1-4/+2
2013-11-23input/curl: work around stream resume bug (fixed in libcurl 7.32.0)Max Kellermann1-0/+17
2013-11-23input/curl: add global variable "curl_version"Max Kellermann1-0/+7
2013-11-23input/curl: dump version numberMax Kellermann1-0/+8
2013-11-22PcmResampleLibsamplerate: clip 24 bit dataMax Kellermann3-2/+47
Using pcm_resample_lsr_32() for 24 bit samples works, but may cause 24 bit overflows. This commit makes 24 bit a special case with explicit clipping.
2013-11-22PcmResample: un-inline Resample24()Max Kellermann2-7/+13
2013-11-22PcmUtils: add function PcmClampN()Max Kellermann1-0/+12
2013-11-22db/proxy: implement method GetUpdateStamp()Max Kellermann1-2/+7
2013-11-22DatabasePlugin: add method GetUpdateStamp()Max Kellermann6-26/+26
Refactor SimpleDatabase::GetLastModified() to be generic for all plugins. Remove the SimpleDatabase assumption from db_stats_print(), allowing it to be implemented by all database plugins.