| Commit message (Collapse) | Author | Files | Lines |
|
|
|
This is a MPD 0.16 regression: when playing a 24 bit file, the switch
to 16 bit was made only partially, after mBytesPerPacket and
mBytesPerFrame had already been applied.
That means mBytesPerFrame referred to 24 bit, and mBitsPerChannel
referred to 16 bits. Of course, that cannot work.
|
|
|
|
After popular demand, I've switched the order of "artist" and "title"
in the stream title. There is no standard, and there is no reliable
way to parse those from the stream title.
|
|
|
|
|
|
This makes the plugin more responsive to control commands, because it
will listen to control events while waiting.
|
|
libffado documentation says this function returns -1 on error, but
that is a lie - it returns a boolean value, and "false" means error.
|
|
|
|
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
|
|
|
|
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().
|
|
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.
|
|
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.
|
|
Work around aliasing warning.
|
|
Send silence to all connected clients while paused, to avoid
connection interruption.
|
|
Avoid buffer underruns on the streaming client, if the encoder is "too
efficient" (e.g. when encoding silence while paused).
|
|
MPD doesn't have child processes anymore, and thus we're not expecting
to receive SIGCHLD very often. Since hard disk access isn't
interrupted by signals anyway, we don't need those excessive checks.
|
|
libwrap support is in MPD but only for the control port. This patch
adds support for the http port. The code is copied from
src/client_new.c
|
|
|
|
Windows compatibility.
|
|
Added #ifdefs on the macros AFMT_S24_NE and other OSS4 extensions.
|
|
Removed the "supported" / "unsupported" arrays, and auto-detect on
every open() call, just like the ALSA output plugin.
|
|
Removed the macro AFMT_S16_MPD.
|
|
|
|
|
|
If we're not doing this, and a new song is played after pause ends,
then you will hear the rest of the previous song.
|
|
Always use the same number of samples from each channel's ring
buffer. This ensures that all channels are kept in sync.
|
|
When enabling the pulse device fails, clear po->mainloop after
pa_threaded_mainloop_free() has finished. This is important for the
assertions.
Two wrong g_free() calls were also removed.
|
|
|
|
More code simplification. Probe all formats, no matter which input
format.
|
|
Remove the debug log messages, because they are duplicate (see
ao_open() in output_thread.c).
|
|
|
|
|
|
|
|
|
|
This patch prepares support for floating point samples (and probably
other formats). It changes the meaning of the "bits" attribute from a
bit count to a symbolic value.
|
|
|
|
After we've been hit by Large File Support problems several times in
the past week (which only occur on 32 bit platforms, which I don't
have), this is yet another attempt to fix the issue.
|
|
Drop the required GLib version from 2.16 to 2.12, because many current
systems still don't have GLib 2.16. This requires several new
compatibility functions in glib_compat.h.
|
|
Add a "mode" argument to open_cloexec() instead.
|
|
ALSA passes full period buffers to the hardware. If an application
doesn't finish writing a period, libasound will nonetheless send the
partial buffer (with undefined trailing data). This causes noise at
the end of playback. This patch attempts to track the current
position within the period buffer, and generates silence at the end,
before calling snd_pcm_drain().
|
|
Changed the wrappers for pipe(), socket(), accept(). On WIN32, this
does not work for pipe().
|
|
Added the "fd_util" library, which attempts to use the new thread-safe
Linux system calls pipe2(), accept4() and the options O_CLOEXEC,
SOCK_CLOEXEC. Without these, it falls back to FD_CLOEXEC, which is
not thread safe.
This is particularly important for the "pipe" output plugin (and
others, such as JACK/PulseAudio), because we were heavily leaking file
descriptors to child processes.
|
|
|