Commit Graph

7965 Commits

Author SHA1 Message Date
Denis Krjuchkov 1003cc9bf9 PollGroupWinSelect: uninline constructor and destructor 2013-12-03 11:41:36 +06:00
Lukas Stabe 0ea5f4ac3a output/openal: check __APPLE__ instead of HAVE_OSX
On OSX, the configure-flag --enable-osx is used to enable the
unsupported osx output. It sets the HAVE_OSX preprocessor define.

src/output/OpenALOutputPlugin.cxx uses this define to determine wether
it is building on OSX, and imports different headers (which have
nothing to do with the osx output) depending on wether or not it is
set.
2013-12-02 13:08:52 +01:00
Max Kellermann 2b717997e2 command: add commands "addtagid", "cleartagid" 2013-12-02 12:50:27 +01:00
Max Kellermann 20ebacf489 Tag: add methods RemoveAll(), RemoveType() 2013-12-02 12:46:48 +01:00
Max Kellermann c6ef0e8887 pcm/Traits: add typedef "sum_type"
Allow 32 bit platforms to use 32 bit instead of 64 bit for summing 24
bit samples.
2013-12-02 11:48:10 +01:00
Max Kellermann f761d583b5 pcm/Traits: use int_leastX_t types 2013-12-02 11:47:17 +01:00
Max Kellermann cee1ac150e pcm/PcmChannels: implement fake N-to-M mapping
This is really just a mono mapper, but the important part is that this
library cannot fail anymore.
2013-12-02 11:42:19 +01:00
Max Kellermann 71b47ae3ef pcm/PcmChannels: use the SampleTraits library 2013-12-02 11:28:54 +01:00
Max Kellermann 36e3fda554 pcm/Traits: add template specialization for FLOAT 2013-12-02 11:26:38 +01:00
Max Kellermann 2b44a2c9bd pcm/PcmChannels: use struct ConstBuffer 2013-12-02 11:21:32 +01:00
Max Kellermann af3b454805 pcm/PcmBuffer: add typed method GetT() 2013-12-02 11:21:32 +01:00
Max Kellermann 3a0f3eaa50 pcm/PcmUtils: use the SampleTraits library 2013-12-02 11:21:32 +01:00
Max Kellermann 80eb8d9e26 pcm/PcmUtils: remove unused function PcmClampN() 2013-12-02 11:21:32 +01:00
Max Kellermann 30c4136c4d pcm/PcmVolume: use the SampleTraits library 2013-12-02 11:21:32 +01:00
Max Kellermann 83e4475021 pcm/PcmFormat: use SampleTraits::long_type in ConvertFromFloat() 2013-12-02 11:21:32 +01:00
Max Kellermann c071d6d9f6 pcm/PcmPrng: add "constexpr" 2013-12-02 11:21:32 +01:00
Denis Krjuchkov 1df426aa5c event: add poll() based PollGroup implementation 2013-12-02 14:39:52 +06:00
Max Kellermann 023482406f pcm/PcmMix: use the SampleTraits library for MixRamp 2013-12-01 22:49:50 +01:00
Max Kellermann 04ba40981f pcm/PcmMix: use the SampleTraits library 2013-12-01 22:44:16 +01:00
Max Kellermann fc10bdf24d pcm/SampleTraits: use 64 bit for S24 long_type 2013-12-01 22:44:16 +01:00
Max Kellermann 28ad79c97a pcm/Traits: add typedef long_type 2013-12-01 19:32:48 +01:00
Max Kellermann 7661ad6653 pcm/Traits: add API documentation 2013-12-01 19:32:00 +01:00
Max Kellermann e1436063ff pcm/PcmFormat: move generic definitions to Traits.hxx 2013-12-01 19:24:37 +01:00
Max Kellermann 3e11a28cd9 pcm/SoxrResampler: new resampler option using libsoxr 2013-12-01 19:13:39 +01:00
Max Kellermann 3ed80f3139 pcm/ConfiguredResampler: convert boolean flag to enum
Prepare for adding more resamplers.
2013-12-01 19:13:39 +01:00
Max Kellermann a698cc8112 doc: move documentation from mpd.conf.5 to the user manual 2013-12-01 19:13:39 +01:00
Max Kellermann 916aaacb68 doc/user: remove obsolete "24_3" option 2013-12-01 19:13:39 +01:00
Max Kellermann aaeb8150b7 NEWS: prepare for 0.19 2013-12-01 19:13:39 +01:00
Max Kellermann 5ba90cd8ea pcm/PcmResampler: convert to abstract interface
The PcmResampler interface is implemented by the two classes
FallbackPcmResampler and LibsampleratePcmResampler.  This prepares for
adding more resampler libraries.
2013-11-30 16:22:57 +01:00
Max Kellermann e9127523db pcm/PcmConvert: move code to new class GluePcmResampler 2013-11-30 14:10:31 +01:00
Max Kellermann 92004f2e7e pcm/PcmConvert: move code to new class PcmChannelsConverter 2013-11-30 13:22:25 +01:00
Max Kellermann 0eefc7a43c pcm/PcmConvert: move code to new class PcmFormatConverter 2013-11-30 13:08:55 +01:00
Max Kellermann 3a666702af pcm/PcmConvert: add AudioFormat parameters
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-30 13:00:41 +01:00
Max Kellermann 3c0c939689 pcm/PcmConvert: use struct ConstBuffer internally 2013-11-29 22:48:23 +01:00
Max Kellermann 413f7c64e5 pcm/PcmDsd: use struct ConstBuffer 2013-11-29 22:06:14 +01:00
Max Kellermann 6f47c1ca20 util/ConstBuffer: new utility class 2013-11-29 22:06:04 +01:00
Max Kellermann abeebfe070 pcm/PcmDsd: make attributes private 2013-11-29 22:05:29 +01:00
Max Kellermann 1a002eb23d PcmConvert: add pcm_convert_global_init()
Wrapper for pcm_resample_global_init(), just in case other PCM
libraries need initialization, too.
2013-11-29 11:00:57 +01:00
Denis Krjuchkov 71bc15aca1 PollGroupEPoll.hxx: add const modifiers where applicable 2013-11-29 15:26:57 +06:00
Denis Krjuchkov 65b24ce557 Clock.cxx: provide all arguments for GetProcessTimes
All parameters seem mandatory, otherwise this call makes MPD crash.
2013-11-29 15:21:31 +06:00
Denis Krjuchkov cfdd5edc49 event: implement PollGroup based on Windows select 2013-11-29 15:05:01 +06:00
Denis Krjuchkov b9035d3e0a configure.ac: code style improvements
Rename HAVE_WINDOWS to host_is_windows for consistency.
Use 'yes' as true value instead of '1' for this variable.
Use test on this variable instead of case where applicable.
2013-11-29 12:30:29 +06:00
Max Kellermann e504913b0f pcm: drop compatibility with libsamplerate older than 0.1.3
Remove compatibility code.
2013-11-28 20:48:02 +01:00
Max Kellermann af4133e3c9 Util/StringUtil: add StringStartsWith()
Replaces GLib's g_str_has_prefix().
2013-11-28 18:48:35 +01:00
Max Kellermann a788b7e747 PcmConvert: fix src_format corruption when converting from DSD
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-28 18:43:33 +01:00
Denis Krjuchkov bb288f0284 event: introduce generic API for internal event loop 2013-11-28 17:06:16 +06:00
Max Kellermann f90abe9530 include cleanup using iwyu 2013-11-28 11:50:54 +01:00
Max Kellermann 47c50c079d decoder/ffmpeg: use IgnoreError instead of local Error instance 2013-11-28 00:05:26 +01:00
Denis Krjuchkov 46bab7e4b9 Add infrastructure for using multiple event loops
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-27 17:28:36 +06:00
Gaetan Bisson 3b0fea5fae input/cdio_paranoia: support libcdio-paranoia 0.90 2013-11-27 08:25:17 +01:00