Commit Graph

1245 Commits

Author SHA1 Message Date
Max Kellermann
e140a28073 archive/iso9660: check path buffer bounds 2016-03-07 14:21:01 +01:00
Max Kellermann
b24cbc68ba decoder/dsdiff: fix off-by-one buffer overflow 2016-03-06 23:28:29 +01:00
Max Kellermann
976fdd76c1 decoder/opus: limit tag size to 64 kB 2016-03-06 23:26:48 +01:00
Max Kellermann
d2dd6f7c70 thread/Posix{Mutex,Cond}: use "constexpr" only with glibc
Apparently all other C libraries are not compatible with "constexpr".
Those which are not will get a performance penalty, but at least they
work at all.
2016-03-01 21:23:59 +01:00
Max Kellermann
e9a544fa98 configure.ac: prepare for 0.19.14 2016-03-01 21:22:42 +01:00
Max Kellermann
92f54f0b59 output/alsa: disable DoP if it fails
See http://bugs.musicpd.org/view.php?id=4496
2016-02-28 10:19:19 +01:00
Max Kellermann
21fb7eea82 output/alsa: probe DSD_U32 if DSD_U8 fails
See http://bugs.musicpd.org/view.php?id=4485
2016-02-28 09:59:09 +01:00
Max Kellermann
8ffcdb73e8 output/alsa: remove option "use_mmap"
MPD does not really take advantage of memory-mapped I/O by generating
data right into the ALSA buffer; using plain snd_pcm_mmap_writei() has
no advantage compared to snd_pcm_writei().  Let's kill this
non-feature.
2016-02-28 09:30:59 +01:00
Max Kellermann
3d9652ae35 TagStream: add TagBuilder overload with ScanGenericTags() fallback
This commit adds support for APE/ID3 tags from NFS/SMB files.

See http://bugs.musicpd.org/view.php?id=4270
2016-02-26 13:48:38 +01:00
Max Kellermann
6350089e51 Merge tag 'v0.19.13'
release v0.19.13
2016-02-23 22:13:43 +01:00
Max Kellermann
79f2f8cddc release v0.19.13 2016-02-23 22:06:13 +01:00
Max Kellermann
39fa949345 queue/Playlist: move only the tag items in TagModified()
Fixes disappearing duration of remote songs during playback.

See http://bugs.musicpd.org/view.php?id=4492
2016-02-23 21:01:55 +01:00
Max Kellermann
b3460f3f54 configure.ac, unix/Daemon: check for initgroups() at configure time
The initgroups() manpage says we need to check for _BSD_SOURCE.  The
thing is that glibc deprecated this macro, and doesn't define it
anymore, effectively breaking all MPD supplementary groups.

The real fix is to check for initgroups() availability at configure
time, instead of relying on the deprecated _BSD_SOURCE macro.
2016-02-23 20:13:34 +01:00
Max Kellermann
196de8c758 decoder/thread: load APE replay gain from remote files 2016-02-23 10:57:03 +01:00
Max Kellermann
0acc88cde5 Merge branch 'v0.19.x' 2016-02-19 18:16:04 +01:00
Chris Spiegel
1e0ad1f6bf Add TAK as a supported FFmpeg format. 2016-02-19 17:32:48 +01:00
Max Kellermann
4abcb08cc9 tag/{aiff,riff}: fix ID3 chunk padding
Apply padding only to the fseek(), not to the chunk size.  This fixes
bogus "failed to read riff chunk" messages when the last chunk has an
odd size.

See http://bugs.musicpd.org/view.php?id=4486
2016-02-19 17:31:20 +01:00
Max Kellermann
81e7833711 configure.ac: prepare for 0.19.13 2016-02-19 17:30:01 +01:00
Max Kellermann
aa7694047b decoder/Thread: pass InputStream errors to DecoderControl::error
Give MPD clients access to the error condition.
2015-12-31 13:39:13 +01:00
Max Kellermann
6c5b8bcf9d decoder/Thread: log all errors 2015-12-31 13:38:35 +01:00
Max Kellermann
9bc0fada5c Merge tag 'v0.19.12'
release v0.19.12
2015-12-15 22:05:21 +01:00
Max Kellermann
82e261ad33 release v0.19.12 2015-12-15 21:54:42 +01:00
Benno Fünfstück
cae2811762 fix mpd crash on invalid utf8 stream title 2015-12-15 21:49:53 +01:00
Christian Hesse
77aaf1baee fix LimitRTTIME in systemd unit file
systemd does not understand LimitRTTIME=-1. For no limit we have to use
the string 'infinity' (see systemd.exec(5)).

Signed-off-by: Christian Hesse <mail@eworm.de>
2015-12-15 21:17:04 +01:00
Max Kellermann
0f4f04eaa4 command/CommandError: send verbose error message to client 2015-11-11 19:51:09 +01:00
Michael Paquier
315f9d98f6 Main: fix build failure on non-Linux systems 2015-11-10 08:38:53 +01:00
Max Kellermann
f087518e7a configure.ac: prepare for 0.19.12 2015-11-10 08:33:50 +01:00
Max Kellermann
8acf996d90 command/queue: add range parameter to plchanges and plchangesposid 2015-10-27 20:35:40 +01:00
Max Kellermann
15e432204e pcm/Order: new library to convert from FLAC to ALSA channel order
This new library is integrated in the PcmExport class and (if enabled)
converts MPD's channel order (= FLAC channel order) to ALSA channel
order.

This fixes:
 http://bugs.musicpd.org/view.php?id=3147
and
 http://bugs.musicpd.org/view.php?id=3255
2015-10-27 11:44:23 +01:00
Max Kellermann
94f850a588 Merge tag 'v0.19.11' 2015-10-27 11:05:47 +01:00
Max Kellermann
db9997a106 release v0.19.11 2015-10-27 10:42:20 +01:00
Max Kellermann
5719207dfa gme: don't loop forever, fall back to GME's default play length
Fixes http://bugs.musicpd.org/view.php?id=4432
2015-10-26 17:16:20 +01:00
Max Kellermann
08f77c2b60 decoder/gme: add option "accuracy" 2015-10-26 16:56:55 +01:00
Max Kellermann
ac61d43720 output/Command: flush the mixer cache when enabling/disabling output
Fixes mixer lag (http://bugs.musicpd.org/view.php?id=4425).
2015-10-26 16:29:07 +01:00
Max Kellermann
22ebe0e58f playlist/flac: re-add the plugin
This reverts commit d7d9dbd2c2 by
reimplementing it with the current MPD API.

3 years ago, I was wrong about the "embcue" plugin being able to
replace this one, because "embcue" reads a tag named "CUESHEET", while
this plugin reads the "CUESHEET" FLAC metablock.  There's an important
difference between those two!
2015-10-26 13:16:01 +01:00
Max Kellermann
1958f78cc1 decoder/ffmpeg: fix crash due to wrong avio_alloc_context() call
Allocate the buffer dynamically using av_malloc(), and free
AVIOContext.buffer in the destructor, as mandated by the libavformat
documentation.

Fixes http://bugs.musicpd.org/view.php?id=4446
2015-10-26 13:06:29 +01:00
Max Kellermann
62bfb1a273 decoder/mad: reduce memory usage while scanning tags
Allocate the frame pointers only when actually decoding the file.
2015-10-19 13:12:36 +02:00
Max Kellermann
4e3d182189 encoder/flac: fix crash with 32 bit playback
Copy to encoder->audio_format *after* adjusting the sample format to
S24_P32.

Fixes http://bugs.musicpd.org/view.php?id=4433
2015-10-16 18:05:34 +02:00
Max Kellermann
205fba74cf tag/ApeLoader: fix buffer overflow after unterminated key 2015-10-16 14:55:40 +02:00
Max Kellermann
a9bcf8d50d configure.ac: prepare for 0.19.11 2015-10-16 14:55:40 +02:00
Anthony DeRossi
6b6c7b0920 update: apply .mpdignore matches to subdirectories
Wildcard matches are directly applied to all filenames in
subdirectories without any attempt at matching relative paths.

This change is based on the following feature request:

  http://bugs.musicpd.org/view.php?id=3729
2015-09-30 21:50:34 +02:00
Will Tiffany
0f75c79665 CueParser.cxx: ignore INDEX after first per track
Use the first INDEX in each TRACK section, instead of the last, for the
start time. This preserves the original CD layout (including gaps
between tracks), and avoids skipping sections of songs in more exotic
cuesheets (eg musical suite tracks).

Fixes 0004355 and 0003359
2015-08-23 15:49:50 +02:00
xent
34db35c36d playlist/embcue: fix last track 2015-08-05 23:37:57 +02:00
Max Kellermann
3e9738dc66 decoder/mpcdec: read the bit rate
This was lost in commit 8ead8f7ea, because this was never implemented
for the new API.
2015-08-05 23:33:11 +02:00
Max Kellermann
d5cfa6d4dc TagId3: remove the "id3v1_encoding" setting
Drop support for misencoded tags.  People should not be using ID3v1
anyway.
2015-06-26 00:15:24 +02:00
Max Kellermann
9f4f1bab39 LogBackend: remove character set support
Always write UTF-8 to the log file.
2015-06-22 22:33:37 +02:00
Max Kellermann
90e7ace980 Merge tag 'v0.19.10' 2015-06-21 16:06:02 +02:00
Max Kellermann
b0ff3bc7a3 release v0.19.10 2015-06-21 15:51:50 +02:00
Max Kellermann
06301e279c PlayerThread: start the decoder on PlayerCommand::QUEUE
Fixes missing SongBorder() call, which causes "single" mode breakage.
2015-06-21 15:38:48 +02:00
Max Kellermann
9acefcb256 DecoderThread: set Decoder::song_tag only for local files
If the song tag comes from a stream, and MPD playback restarts, MPD
would believe the tag should override the newly received tag.  This
makes the previous tag appear stuck.  This change passes the song tag
only if it's authoritative - i.e. if it's a song file.
2015-06-21 15:02:14 +02:00