aboutsummaryrefslogtreecommitdiffstats
path: root/src/input (unfollow)
Commit message (Collapse)AuthorFilesLines
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
2013-10-21input/curl: don't use GLib's typedef "gushort"Max Kellermann1-1/+2
2013-10-21util/NumberParser: utilities for parsing numbers from ASCII stringsMax Kellermann1-3/+3
2013-10-20Util/ASCII: add function StringEqualsCaseASCII()Max Kellermann1-7/+8
Replaces GLib's g_ascii_strcasecmp().
2013-10-19*: use nullptr instead of NULLMax Kellermann1-34/+34
2013-10-19input/cdio: use class AllocatedPathMax Kellermann1-10/+9
2013-10-19input/curl: use std::string for meta_nameMax Kellermann1-9/+5
Automatic memory management.
2013-10-19decoder/gme,input/curl,...: use static buffers instead of g_strdup_printf()Max Kellermann1-9/+7
2013-10-19Util/CharUtil: new library replacing g_ascii_isX()Max Kellermann1-2/+3
2013-10-18input/curl: use MultiSocketMonitor constants instead of GLibMax Kellermann1-3/+6
2013-10-17fs/Path: move definitions to struct PathTraitsMax Kellermann2-4/+4
2013-10-17InputStream: use int64_t instead of goffsetMax Kellermann5-10/+17
Decouple some more from GLib.
2013-10-17input_plugin: rename struct to "InputPlugin"Max Kellermann15-19/+17
2013-10-17ArchiveLookup: return const stringsMax Kellermann1-2/+2
2013-10-16system/ByteOrder: new library for byte ordering / endianessMax Kellermann1-2/+3
Replacing GLib macros.
2013-10-15Archive*: move archive_domain to ArchiveDomain.cxxMax Kellermann1-3/+1
Merge duplicate symbol.
2013-10-15input/*: don't allocate attribute "mime"Max Kellermann4-6/+6
This was a memory leak, because "mime" was a std::string which created another copy and discarded the allocated buffer.
2013-10-14fs/Path: add method IsAbsolute()Max Kellermann2-2/+4