| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
When the data chunk size is not a multiple of the frame size, the last
partial frame lead to an endless loop. We fix this by checking
chunk_sze>=frame instead of chunk_sze>0. This way, the partial frame
is simply skipped.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
According to POSIX and both OSX and Linux manpages,
strcasecmp comes from strings.h, not string.h.
Most OSes also have them available in string.h,
but we just fixed the headers on Haiku and it now
only provides them in strings.h.
We might want to fall back to string.h for other
OSes though...
cf.
http://pubs.opengroup.org/onlinepubs/009695399/functions/strcasecmp.html
http://linux.die.net/man/3/strcasecmp
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man3/strcasecmp.3.html
|
|
|
|
|
|
| |
In version 11, both ffmpeg and libav deprecate
AVCodecContext::codec_name. The function avcodec_descriptor_get() has
been introduced long ago.
|
|
|
|
|
| |
This was broken by commit 84d20d9e, which deleted the "!" from the
check.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It happened to me when doing the Haiku port, src/mpd failed to
be relinked properly when editing source files, and likely also
happens on win32, although I didn't try this change.
When building for windows, src_mpd_DEPENDENCIES is overriden.
Automake then disables the default version which contains all
the static libraries. In Makefile.in:
@HAVE_WINDOWS_FALSE@src_mpd_DEPENDENCIES = libmpd.a \
Instead we use EXTRA_src_mpd_DEPENDENCIES which is meant for this.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Failure to read another chunk header is not fatal. Continue to read
metadata.
|
| |
|
|
|
|
|
|
|
|
| |
Previously, MPD tried to slurp the whole song file, count the number
of frames and calculate the song duration from that. That however is
extremely expensive for remote files, and will delay playback for a
long time. Workaround: check only the first 128 frames and try to
extrapolate from here. Fixes Mantis ticket 0004035.
|
| |
|
| |
|
| |
|
|
|
|
| |
Eliminate more duplicate code.
|
|
|
|
|
| |
Don't bother to check for ADIF just because the stream is not
seekable.
|
|
|
|
| |
Merge some duplicate code.
|
|
|
|
| |
Eliminate some overhead when the caller doesn't need the buffer.
|
| |
|
| |
|
|
|
|
| |
Checking the integer is faster, easier and more reliable.
|
| |
|
|
|
|
| |
.. instead of declaring a new constant.
|
|
|
|
|
| |
Replaces the loop in sndfile_vio_read(), eliminating duplicate and
fragile code.
|
|
|
|
| |
.. instead of InputStream::LockRead(). The former is cancellable.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Implement a "bulk" edit mode that postpones both UpdateQueuedSong()
and OnModified(). This way, the playlist version gets incremented
only once. More importantly: when adding multiple songs to a queue
that consists of only one song, the first song that got added will
always be played next. By postponing this choice, all newly added
songs get a chance to become the next song. Fixes the second (and
last) part of Mantis ticket 0004005.
|
| |
|
|
|
|
|
|
| |
Don't restore the current song after shufflung when MPD is stopped
(but still remembers the current song internally). Fixes the first
part of Mantis ticket 0004005.
|
| |
|
|
|
|
|
|
|
| |
Addresses Mantis ticket 0004015.
[mk: use decoder_read_full() only when needed, and a few formal
changes]
|
|
|
|
|
| |
Works around WAV stream playback bug, because libaudiofile does not
like partial reads (Mantis 0004028).
|
|
|
|
| |
Move code from the "mad" plugin.
|
|
|
|
| |
Move code from the "mad" plugin.
|
| |
|
|
|
|
|
| |
.. instead of InputStream::LockRead(). The former is cancellable.
|
|
|
|
| |
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
|
| |
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
|
| |
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
|
| |
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|
|
|
|
| |
Error message was 'too few arguments for "find"' because the "base"
constraint was not supported, and no other constraints remained.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Fixes missing song length on high-latency Opus files.
According to tests with 320 kbit/s opus files with 60ms packets, we
need to skip up to 29 kB.
|
|
|
|
|
|
|
|
|
| |
Turns out the lock-free code using atomics was not thread-safe. The
given callback could be invoked by GLib before the source_id attribute
was assigned. This commit changes the DeferredMonitor class to use a
Mutex to block the event loop until source_id is assigned. This bug
does not exist in the 0.19 branch because it does not use the GLib
main loop anymore.
|