summaryrefslogtreecommitdiff
path: root/src/input
AgeCommit message (Collapse)Author
2019-12-24input/curl: remove unnecessary InvalidateSockets() callMax Kellermann
Like fe598e7d30d82794560df053623a16fee8d3fb9c
2019-12-16input: add missing boost meson dependencyJacob Vosmaer
2019-08-06input/cdio_paranoia: drop support for libcdio-paranoia older than 10.2+0.93+1Max Kellermann
Version 10.2+0.93+1 was released five years ago in 2014 and is the first version to feature cdio_cddap_free_messages(). There is no way to check the libcdio-paranoia version at compile time, so let's just remove support for older versions instead of attempting to fix the cdio_cddap_free_messages() check at build time. Closes https://github.com/MusicPlayerDaemon/MPD/issues/613
2019-06-26input/tidal: deprecated because Tidal has changed the protocolMax Kellermann
See https://github.com/MusicPlayerDaemon/MPD/issues/545
2019-05-17input/buffered: check error in IsAvailable()Max Kellermann
2019-05-16input/buffered: rethrow read_error in Check()Max Kellermann
2019-05-16input/buffered: wake up client thread on seek errorMax Kellermann
2019-05-16input/buffered: fix deadlock bugMax Kellermann
2019-04-23input/smbclient: wrap in MaybeBufferedInputStreamMax Kellermann
This enables the input buffer for remote files and caches file contents in MPD. Closes https://github.com/MusicPlayerDaemon/MPD/issues/376
2019-03-29input/curl: use std::throw_with_nested() instead of logging the exceptionMax Kellermann
Let the caller decide what to do with the original exception.
2019-03-29input/smbclient: use std::throw_with_nested() to construct PluginUnavailableMax Kellermann
Preserve the original exception.
2019-02-05input/Init: add RAII classMax Kellermann
2019-01-22input/buffered: implement seeking to end of fileMax Kellermann
Previously, a seek to the end of the file would cause an assertion failure in SparseMap::Check() because the given offset was invalid. Closes #453
2019-01-21input/CdioParanoia: C++ wrappers for libcdio typesMax Kellermann
2019-01-21input/CdioParanoia: use the new function namesMax Kellermann
2019-01-21input/CdioParanoia: use cdio_cddap_free_messages() on recent library versionsMax Kellermann
2019-01-21input/CdioParanoia: remove useless cdda_messages() callMax Kellermann
2019-01-21input/CdioParanoia: detect libcdio version at compile timeMax Kellermann
libcdio_paranoia was split from libcdio in version 90, and at the same time, the header was moved from cdio/paranoia.h to cdio/paranoia/paranoia.h. We can easily detect this version at compile time which is faster than configure time.
2019-01-20input/CdioParanoia: add `const` to pointerMax Kellermann
2019-01-20input/CdioParanoia: make variables more localMax Kellermann
2018-12-09Add boost_dep in subdir meson.build filesJacob Vosmaer
2018-11-19check.h: remove obsolete headerMax Kellermann
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints.
2018-11-11{output,mixer}/alsa: use snd_pcm_poll_descriptors_revents()Max Kellermann
This call was missing, causing very high CPU usage when the ALSA output plugin was used with dmix. Closes #391
2018-11-11lib/alsa/NonBlock: move the functions into a class managing the stateMax Kellermann
2018-10-31*: copyright year 2018Max Kellermann
2018-10-29Merge branch 'v0.20.x'Max Kellermann
2018-10-29input/CdioParanoia: parse_cdio_uri() returns CdioUriMax Kellermann
The `bool` return value isn't used anymore, so we can just return the parsed object instead of passing it as an output parameter.
2018-10-29input/CdioParanoia: rename struct cdio_uri to CdioUriMax Kellermann
2018-10-29input/CdioParanoia: use StringAfterPrefixIgnoreCase()Max Kellermann
2018-10-29configure.ac: add `-funwind-tables` to work around clang bugMax Kellermann
Replaces the workaround from commit 751fff07fb28720156d0d1dc833a2b6534959a0d which fixed only one of many crash locations. See: https://github.com/MusicPlayerDaemon/MPD/issues/373 https://github.com/android-ndk/ndk/issues/831 https://bugs.llvm.org/show_bug.cgi?id=32611
2018-10-25input/Registry: add missing includeMax Kellermann
2018-10-25decoder/Thread: reimplement HasRemoteTagScanner() using the InputPlugin listMax Kellermann
2018-10-24input/Plugin: add attribute `prefixes`Max Kellermann
2018-10-23Merge tag 'v0.20.22'Max Kellermann
release v0.20.22
2018-10-23input/Error: work around clang bug leading to crashMax Kellermann
Closes #373
2018-10-16input/Error: add `noexcept`Max Kellermann
2018-10-14build with Meson instead of autotoolsMax Kellermann
So long, autotools! This is my last MPD related project to migrate away from it. It has its strengths, but also very obvious weaknesses and weirdnesses. Today, many of its quirks are not needed anymore, and are cumbersome and slow. Now welcome our new Meson overlords!
2018-10-07Remove some extraneous leftover debuggingAndrew Basterfield
2018-10-06Set cdrive speed hint for cdparanoiaAndrew Basterfield
2018-08-20Compiler.h: move to util/Max Kellermann
2018-08-17Merge tag 'v0.20.21'Max Kellermann
release v0.20.21
2018-08-17android: raise minSdkVersion to 21Max Kellermann
The number of MPD installs on Android < 5.0 is negligible, and that API version introduces lots of useful features for MPD.
2018-08-02Merge branch 'v0.20.x'Max Kellermann
2018-08-02case-insensitive URI scheme comparisonMax Kellermann
Required according to RFC 3986: > An implementation should accept uppercase letters as equivalent to > lowercase in scheme names Closes #330
2018-07-26input/qobuz: initialize the libgcrypt libraryMax Kellermann
2018-07-26lib/gcrypt/MD5: return a StringBufferMax Kellermann
2018-07-25input/buffered: fix bogus offset after Seek()Max Kellermann
Instead of copying the offset from our `input`, copy the requested offset to our `offset` attribute. By the time Seek() finishes, our input's offset may have advanced already, having read some more data, thus giving us a bogus offset. This fixes spurious decoder failues (closes #320).
2018-07-18fs/Path: add method ToUTF8Throw()Max Kellermann
2018-07-18config/Migrate: library to migrate deprecated settingsMax Kellermann
2018-07-17input/Init: use struct ConfigDataMax Kellermann