aboutsummaryrefslogtreecommitdiffstats
path: root/src/input (unfollow)
Commit message (Collapse)AuthorFilesLines
2014-03-02InputPlugin: allow init() to soft-failMax Kellermann6-16/+65
Add enum InputResult which is a tri-state. Input plugins may now fail and just become unavailable.
2014-03-01util/{Const,Writable}Buffer: add operator[]Max Kellermann1-1/+1
2014-02-22input/curl: include cleanupMax Kellermann1-1/+0
2014-02-08input/nfs: move nfs_domain to lib/nfs/Domain.cxxMax Kellermann1-3/+1
2014-02-08ArchivePlugin: pass Path to open()Max Kellermann1-1/+2
2014-02-08ArchivePlugin: rename struct archive_plugin to ArchivePluginMax Kellermann1-1/+1
2014-02-06*/smbclient: protect all libsmbclient calls with a mutexMax Kellermann1-0/+9
libsmbclient is not thread-safe nor reentrant. We must protect all function calls with a global mutex, unfortunately.
2014-02-06input/nfs: new plugin using libnfsMax Kellermann3-0/+234
2014-01-25input/smbclient: move code to lib/smbclient/Init.cxxMax Kellermann1-19/+2
2014-01-24ConfigGlobal: add config_find_block()Max Kellermann1-34/+1
Merge duplicate code.
2014-01-24DespotifyUtils, Expat: move to lib/Max Kellermann1-1/+1
2014-01-24Input*: move to input/Max Kellermann29-20/+1027
2014-01-24Config*: move to config/Max Kellermann2-4/+4
2014-01-24archive/*: move to archive/plugins/Max Kellermann1-5/+5
2014-01-14input/alsa: fix memory leakMax Kellermann1-1/+1
Don't duplicate the MIME type when it gets passed to a std::string.
2014-01-13input/despotify: change name to "despotify"Max Kellermann1-1/+1
The name "spt" didn't make much sense for this plugin.
2014-01-13copyright year 2014Max Kellermann20-20/+20
2014-01-08DespotifyUtils: return Tag, not pointerMax Kellermann1-5/+6
2014-01-08DespotifyUtils: pass const ds_track referenceMax Kellermann1-1/+1
2014-01-08tag/TagBuilder: overload Commit() returning a Tag objectMax Kellermann1-1/+1
2014-01-08tag/TagBuilder: rename Commit() to CommitNew()Max Kellermann1-1/+1
2014-01-08input/AlsaInputPlugin: remove unnecessary alsa s/w param setting to fix high ↵Steven O'Brien1-9/+0
CPU load issue
2014-01-07util/Alloc: new library replacing GLib's g_malloc()Max Kellermann1-6/+7
2014-01-06input/AlsaInputPlugin.cxx: use I/O thread to poll for available dataSteven O'Brien1-55/+289
[mk: modified to use MultiSocketMonitor instead of SocketMonitor]
2014-01-06event/SocketMonitor: don't close the socket automaticallyMax Kellermann1-2/+0
Users now have to call Close() explicitly. This simplifies using the class, as most users have automatic socket management already, and Steal() had to be used often.
2013-12-29input/smbclient: new input pluginMax Kellermann2-0/+228
2013-12-21input/alsa: fix build with gcc 4.6Max Kellermann1-12/+12
2013-12-19add draft ALSA input pluginSteven O'Brien2-0/+234
I've created an elementary input plugin that plays sound from the soundcard, so you can use MPD to listen to anything connected to the line-in jack, or to Video4Linux FM radio cards that send audio through the soundcard. There has been a small number of posts here in the past requesting line-in input, so here is a first, simplistic stab at it. The patch adds a new sheme, alsa://, which causes mpd to play data read directly from a souncdard. It defaults to hw:0,0, but you can pass any ALSA device name in the URI. So, using mpc for example: mpc add alsa:// mpc play will play from device hw:0,0. To use a diffferent device: mpc add alsa://hw:1,0
2013-12-17input/cdio: fix typo in #include pathMax Kellermann1-1/+1
Broken by commit 3b0fea5f
2013-12-14input/despotify: don't log "eof" flag after setting itMax Kellermann1-1/+1
2013-12-14input/despotify: convert to classMax Kellermann1-45/+73
2013-12-05fs/Traits: split PathTraits type into PathTraitsFS and PathTraitsUTF8Denis Krjuchkov2-2/+2
2013-12-03input/curl: use class TagBuilderMax Kellermann1-4/+10
2013-11-28Util/StringUtil: add StringStartsWith()Max Kellermann4-17/+16
Replaces GLib's g_str_has_prefix().
2013-11-28include cleanup using iwyuMax Kellermann5-8/+0
2013-11-27input/cdio_paranoia: support libcdio-paranoia 0.90Gaetan Bisson1-0/+5
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-07input/cdio_paranoia: add setting "default_byte_order"Max Kellermann1-2/+26
Allows big-endian users to configure the fallback byte order to little-endian. Without this setting, MPD assumes native byte order if the CD drive can't decide.
2013-11-07input/curl: unregister removed sockets from epollMax Kellermann1-1/+9
Fixes a crash bug. See code comment.
2013-11-06input/curl: fix bug with redirected streamsMax Kellermann1-110/+138
Migrate from the old curl_multi_perform() API to the newer curl_multi_socket_action() API (since CURL 7.16). This allows working around a bug with HTTP redirections with epoll: when CURL closes a socket and the new one happens to have the same file number, MPD did not have a chance to remove the old one from epoll and subsequently attempted to use EPOLL_CTL_MOD, which was not allowed by epoll, because it's a new socket now.
2013-11-06input/curl: move code into class CurlMultiMax Kellermann1-43/+66
Move all global variables there, and keep just one global variable: the pointer to the CurlMulti instance. Prepares for the next commit.
2013-11-06input/curl: remove the global list of requestsMax Kellermann1-13/+0
Unused.
2013-11-06input/curl: don't abort all requests on curl_multi_perform() errorMax Kellermann1-40/+7
Eliminate some complicated code that's not worth the trouble.
2013-11-06input/curl: use CURLOPT_PRIVATEMax Kellermann1-5/+7
Replaces the loop in input_curl_find_request().
2013-10-30*: update copyright year to 2013Max Kellermann2-2/+2
2013-10-28*: use nullptr instead of NULLMax Kellermann3-14/+14
2013-10-23input_stream: rename struct to InputStreamMax Kellermann9-59/+59
2013-10-23InputInternal: remove obsolete libraryMax Kellermann7-7/+0