| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| | |
This is a trivial function. Merge some duplicate code, e.g. the
g_cond_broadcast() call.
|
| | |
|
| |
| |
| |
| |
| | |
Update the struct attributes, important for facades like the "rewind"
plugin. To replace buffer().
|
| | |
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
configure.ac
src/output_control.c
|
| |
| |
| |
| |
| | |
Be sure to stop the operation at some point when the server isn't
responding.
|
| |
| |
| |
| |
| | |
Background buffering and better timeout handling. This patch sort of
obsoletes the input_plugin method buffer().
|
| |
| |
| |
| |
| |
| | |
Assume the flag is true when the "easy" CURL handle is NULL. That
way, we don't need to keep track if CURL has sent us the "DONE"
information yet.
|
| |
| |
| |
| |
| |
| | |
Release it immediately when end-of-file has been reached. We don't
need that handle anymore, because the rest is delivered from the
buffers.
|
| |
| |
| |
| | |
Allow closing the handle while preserving the remaining buffers.
|
| |
| |
| |
| | |
Remove a cast.
|
| |
| |
| |
| | |
Let the caller know what happened, he's responsible for logging.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
To demonstrate the new I/O thread. libsoup is well-integrated into
the GLib main loop, which made this plugin pretty easy to write.
As a side effect, we have to initialize the I/O thread in all debug
programs that use the input API.
|
| | |
|
|\| |
|
| | |
|
| |
| |
| |
| |
| | |
FFmpeg/libav have dropped AVIO_RDONLY in favor of AVIO_FLAG_READ. This
patch fixes that in MPD.
|
| |
| |
| |
| | |
URLContext is deprecated.
|
| |
| |
| |
| |
| | |
All modern distros ship 0.5, so there's no need to support old and buggy
ffmpeg versions.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For Spotify tracks. Uses a spt URI, so with mpc you can play tracks
with e.g.,
mpc add spt://spotify:track:5qENVY0YEdZ7fiuOax70x1
mpc play
Uses the pcm_decoder_plugin for the output
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I wanted mpd to play a mp3 stream from a music website. The stream is
only available to subscribers, which restriction is enforced through
normal http authentication. However, the URL I get from the website
is not the final URL of the stream, but a generic URL which points to
the real one through a redirect (code 301). Thus, I cannot predict
the final URL, and so I cannot use the username:password hack to force
the authentication, and mpd (libcurl on mpds behalf) fails to grab the
stream.
libcurl allows the option CURLOPT_NETRC to be set and then the
credentials can be stored in the good old .netrc file (in this case it
would be ~mpd/.netrc, of course). But mpd doesn't set this option. I
think it should.
|
| |
| |
| |
| |
| | |
Seems like we forgot to give this module a name... this can crash MPD
on startup.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Was missing.
|
| |
| |
| |
| | |
Another build fix.
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
audio CD's
|
|\
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
|
| |
| |
| |
| |
| | |
The assertion added in MPD 0.15.14 was too much, it failed when the
MIME type of a stream was NULL.
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
src/decoder_control.c
src/decoder_control.h
src/input/rewind_input_plugin.c
src/output_control.c
src/output_thread.c
src/player_thread.c
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Duplicate the "mime" attribute of the inner input_stream object,
instead of copying the pointer.
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
src/input/rewind_input_plugin.c
src/output/httpd_output_plugin.c
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
The assumption that MIME type is set only once is not valid with CURL,
as URL redirections may update the MIME type.
This fixes bug #3044.
|
| |
| |
| |
| |
| |
| |
| | |
According to the CURL web site, curl_multi_timeout() was added in
version 7.15.4:
http://curl.haxx.se/libcurl/c/curl_multi_timeout.html
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some users reported that MPD crashes when using a new CURL version
with the threaded DNS resolver enabled. It seems that
curl_multi_fdset() returns no file descriptor when the DNS resolver
runs in another thread, so MPD does not have any event to wait for.
On the CURL mailing list, somebody suggested to sleep for a fixed
amount of time. This is not an elegant solution, because daemons
should never have to sleep without waiting for an event. I hope the
CURL developers will review the API and remove the threaded DNS
resolver.
Meanwhile, I'm removing the assertion in question, to allow those
unfortunate users running the latest CURL version to continue using
MPD.
|
| |
| |
| |
| |
| | |
Use curl_multi_timeout() to determine the select() timeout, instead of
hard-coding one second.
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
src/input/mms_input_plugin.c
|
| | |
|