| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When one song is played twice, and the decoder is working on the
second "instance", but the first should be seeked, the check in
player_seek_decoder() may assume that it can reuse the decoder without
exchanging pipes. The last thing was the mistake: the pipe pointer
was different, which led to an assertion failure. This patch adds
another check which exchanges the player pipe.
|
| |
| |
| |
| | |
More abstraction for decoder_control.pipe.
|
| |
| |
| |
| | |
Some abstraction for decoder_control.pipe access.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Duplicate the "mime" attribute of the inner input_stream object,
instead of copying the pointer.
|
| |
| |
| |
| | |
Same as ".m4a".
|
| |
| |
| |
| |
| |
| | |
Change the assertion on "fail_timer==NULL" in OPEN to a runtime check.
This assertion crashed when the output thread failed while the player
thread was calling audio_output_open().
|
| | |
|
| |
| |
| |
| | |
Protect the attributes "open" and "fail_timer".
|
| |
| |
| |
| | |
Protect the attributes "open" and "fail_timer".
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This makes the plugin more responsive to control commands, because it
will listen to control events while waiting.
|
| |
| |
| |
| |
| | |
This method is used to reduce the delay of commands issued to the
shout plugin.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
When you pass the flag AI_ADDRCONFIG to getaddrinfo(), it does not
consider address families on the loopback device. When run on a
machine without an external network card, just with "lo", it was
unable to look up any address.
|
| |
| |
| |
| |
| | |
libffado documentation says this function returns -1 on error, but
that is a lie - it returns a boolean value, and "false" means error.
|
| |
| |
| |
| |
| | |
.. instead of av_get_bits_per_sample_format(). The SampleFormat enum
value is authoritative.
|
| | |
|
| |
| |
| |
| |
| | |
Device can be specified either by magic index (starting with 0)
or by device name.
|
| |
| |
| |
| | |
If no device is available test_default_device returns false.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Using libffado, to play on firewire audio devices.
Warning: this plugin was not tested successfully. I just couldn't
keep libffado2 from crashing. Use at your own risk.
For details, see my Debian bug reports:
http://bugs.debian.org/601657
http://bugs.debian.org/601659
|
| | |
|
| | |
|
| | |
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
src/input/rewind_input_plugin.c
src/output/httpd_output_plugin.c
|
| |
| |
| |
| |
| |
| | |
RFC 5334 10.3 defines the MIME type "audio/ogg". We could use
"application/ogg" as well, but we know for sure that we only emit
audio data.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| | |
This caused random data to be send via icy-server if the played
song had no tags.
|
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| | |
Clear the notification before finishing the CANCEL command, so the
notify_wait() after that will always wait for the right notification,
sent by audio_output_all_cancel().
|
| | |
|
| | |
|
| |
| |
| |
| | |
Win32 has many audio APIs. New name is slightly more correct.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This cleanup call is obsolete, since we moved the binding code to
enable()/disable().
|
| |
| |
| |
| |
| |
| | |
Call output_plugin.disable() before output_plugin.finish(). This
ensures that all outputs are properly cleaned up, to make valgrind
happy.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Original implementation does not handle
if (...)
MPD_ERROR("die");
else
...
case well. This change fixes handling of such cases.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header
file 'mpd_error.h'. This macro uses g_critical() to print the error message
and then exits gracefully in contrast to g_error() which would internally call
abort() to produce a core dump.
The macro name is distinctive and allows to find all places with dubious error
handling. The long-term goal is to get rid of MPD_ERROR() altogether. To
facilitate the eventual removal of this macro it was added in a new header
file rather than to an existing header file.
This fixes #2995 and #3007.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Added support for a new optional configuration setting for the httpd output
named "bind_to_address". Setting it to a specific IP address (v4 or v6) will
cause the httpd output to bind to that address exclusively. Supporting
multiple addresses in parallel is future work.
This implements the feature requests #2998 and #2646.
|
| | |
|
| |
| |
| |
| |
| | |
The check was meant to fix an assertion failure, but it was the wrong
way around. This broke cross-fading most of the time.
|