Commit Graph

11092 Commits

Author SHA1 Message Date
Max Kellermann
bd8414f8ea Merge branch 'osx-channelmap' of git://github.com/jacobvosmaer/MPD 2016-07-14 09:19:24 +02:00
Jacob Vosmaer
2eb467c788 Move OS X output docs to doc/user.xml 2016-07-13 22:58:13 +02:00
Max Kellermann
c436e29b89 Makefile.am: check HAVE_OGG for OggDecoder.cxx
Fixes build failure when Vorbis is disabled, but FLAC is enabled
(HAVE_XIPH is true, but HAVE_OGG is false).
2016-07-12 18:10:40 +02:00
Max Kellermann
44219d5e91 decoder/flac: refactor flac_convert() to class FlacPcmImport 2016-07-11 23:34:55 +02:00
Max Kellermann
b9de3270f6 decoder/flac: specialize "stereo" for all bit depths 2016-07-11 23:33:34 +02:00
Max Kellermann
590d6faeb0 decoder/flac: convert flac_convert_*() to templates 2016-07-11 23:27:57 +02:00
Max Kellermann
62e96e9a58 decoder/flac: pass number of frames to flac_convert() 2016-07-11 23:24:48 +02:00
Max Kellermann
1c818ef0a0 decoder/flac: improve warning message about unsupported bit depth 2016-07-11 23:13:33 +02:00
Max Kellermann
d6ce2e3671 decoder/flac: move functions into struct FlacDecoder 2016-07-11 23:11:22 +02:00
Max Kellermann
85b6a52662 decoder/flac: use C++11 initializers 2016-07-11 22:44:39 +02:00
Max Kellermann
0246082b9b decoder/flac: move position code to FlacDecoder::GetDeltaPosition() 2016-07-11 22:38:26 +02:00
Max Kellermann
3b031c6ba5 decoder/flac: throw exception on FLAC__stream_decoder_new() failure 2016-07-11 22:38:03 +02:00
Max Kellermann
74740ca50b decoder/flac: add class FlacStreamDecoder wrapping a FLAC__StreamDecoder* 2016-07-11 22:37:55 +02:00
Max Kellermann
631baa7120 decoder/flac: eliminate redundant FlacDecoder attributes 2016-07-11 22:37:52 +02:00
Max Kellermann
657d6edff7 decoder/flac: add FlacInput getter methods 2016-07-11 22:37:49 +02:00
Max Kellermann
737c5a9549 decoder/flac: rename struct flac_data to FlacDecoder 2016-07-11 22:37:46 +02:00
Max Kellermann
c5fb56f90f test/run_decoder: catch and print C++ exceptions 2016-07-11 22:37:40 +02:00
Jacob Vosmaer
4cd9abe632 output/osx channel_map feature 2016-07-09 18:29:35 +02:00
Max Kellermann
b67e7df38e release v0.19.17
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABCAAGBQJXgCv6AAoJECNuiljG20USR3cP/RALB4qlhecMo6H8VwZvfjiA
 FHfhBKfdpHM3U3EEIZc1zxwHIdWk1yELtmx298vmJbWUifpYAYarXF5497tZf2XE
 AVfhTltEJEd7xB5ZULnEScM1aHzMZm5HRcHwM1UqNCsXP7PT8fmpk7gw19pKOChT
 h8V3+tpC403lCIcHcJGlkuzgZvKIZDs73g7a0+4GxD9XRAPwnMYRl3Cfd8QjKT/U
 r67AcOwQlS6hWJFs0K1JjOQwfwbRq2YmuOmFJua6n8O6CI/7t4h3faSQ0V/5qjFd
 k/pAMRtX6mz3mjVhZv4cuMy+QILWlxUNwLBIwtxSfbwcFKrN0vtIRG8O9622hTs2
 +mvYiVboWABk6hnukiDAfki96jWYHlsCJR5oIK9DZ4nBe5RVp0r9Nq/ook2AW2it
 6VgYIDBI5zS/blyJzXtzDVWEtSmLFxm21JSl+jHfWDtL6/rQGimdVOFkRw40oCBz
 seYb5kIbilrg6xq1KiBMT+EWmXMf+q+3YWQsu01blXGYGPhpUqhIr0h/qUfWAqMs
 fwIsoxsTrkQQjEWb6YWupPrdOLZ+kTAyaK+7v8B8JmzS/H3SohusMPUZKsQXl82s
 5LJVLtVxB9WRRmpfSoYqfk7CkTHOktCzVmiHb/FYUYElS9VKmJYYU8XQ25snCoZ6
 bYtERsH28q8rrpkWWEXP
 =IXD5
 -----END PGP SIGNATURE-----

Merge tag 'v0.19.17'

release v0.19.17
2016-07-09 00:46:09 +02:00
Max Kellermann
f28c746b6b release v0.19.17 2016-07-09 00:40:57 +02:00
Max Kellermann
ab95027fc6 decoder/flac: suppress warning at end of stream
This is required if a stream ands without another chained FLAC file.
2016-07-08 23:19:47 +02:00
Max Kellermann
ed3bc4ab63 decoder/flac: move code to FlacInitAndDecode() 2016-07-08 23:03:49 +02:00
Max Kellermann
68064f1aa6 decoder/flac: move duplicate code to flac_data::Initialize() 2016-07-08 22:44:23 +02:00
Max Kellermann
475ac76a5f decoder/flac: late "total_frames" initialization 2016-07-08 22:43:31 +02:00
Max Kellermann
79d4f8674c decoder/flac: remove "duration" parameter from flac_decoder_initialize()
It's always 0.
2016-07-08 22:41:19 +02:00
Max Kellermann
e42eed4d4c decoder/flac: remove pointless check 2016-07-08 22:41:19 +02:00
Max Kellermann
4a7042e847 decoder/flac: handle unknown duration correctly
If the duration is unknown, pass SignedSongTime::Negative(), as
documented for decoder_initialized().
2016-07-08 22:33:49 +02:00
Max Kellermann
7f36923eb4 decoder/flac: pass SignedSongTime to decoder_initialized() 2016-07-08 22:32:23 +02:00
Max Kellermann
2ca8d69126 decoder/flac: document flac_data::position 2016-07-08 22:20:16 +02:00
Max Kellermann
70367d70c8 decoder/flac: remove obsolete sub-song support
This is obsolete because it has been moved to the MPD core.
2016-07-08 21:59:30 +02:00
Jacob Vosmaer
e068d62ac6 output/osx rewrite render callback 2016-07-08 15:36:42 +02:00
Max Kellermann
e6389ff5a1 client/ClientRead: call Break() before Close()
Referencing the attribute "partition" is illegal after Close(),
because Close() deletes "this".
2016-07-07 13:54:04 +02:00
Max Kellermann
b46cf57d98 event/BufferedSocket: OnSocketReady() returns true after close
Fixes use-after-free bug (https://bugs.musicpd.org/view.php?id=4548).
2016-07-07 13:52:20 +02:00
Max Kellermann
6f59d71e07 decoder/API: check initial_seek_running in _check_cancel_read()
The "seeking" flag is not set for the initial seek, and so
decoder_read() could be canceled when another SEEK was emitted during
initial seek.

This fixes several seek problems, for example the one reported for the
FLAC decoder plugin:

 https://bugs.musicpd.org/view.php?id=4552
2016-07-06 15:46:04 +02:00
Max Kellermann
f9130f42a2 decoder/flac: try to recover from seek error()
libFLAC API documentation suggests that FLAC__stream_decoder_flush()
should be called to recover from FLAC__STREAM_DECODER_SEEK_ERROR.
2016-07-05 19:29:56 +02:00
Max Kellermann
faf2eeaa99 decoder/flac: evaluate all possible FLAC__stream_decoder_get_state() values
Stop after all fatal errors.  This fixes assertion failures in
libFLAC.
2016-07-05 19:27:40 +02:00
Max Kellermann
1c7de0b4ac output/shout: remove pointless memset() call 2016-07-05 18:02:35 +02:00
Max Kellermann
58487e484f filter/route: use PcmSilence() 2016-07-05 18:01:29 +02:00
Max Kellermann
104075f3e0 PlayerThread: use PcmSilence() in SendSilence()
No change for regular PCM, but DSD uses 0x69 now.
2016-07-05 18:01:29 +02:00
Max Kellermann
b8097eaf2e pcm/Volume: move silence pattern to Silence.cxx 2016-07-05 17:52:53 +02:00
Max Kellermann
5eb0cbc887 PlayerThread: make chunk allocation error non-fatal in SendSilence()
Fixes abort after seeking on fast machines.
2016-07-05 17:44:45 +02:00
Max Kellermann
1a4a6f3807 filter/Observer: fix memory leak 2016-07-04 15:25:21 +02:00
Max Kellermann
a012b25335 filter/convert: fix no-op check
Commit 3a212412 changed the meaning of out_audio_format, but I forgot
to apply this to ConvertFilter::FilterPCM().

See https://bugs.musicpd.org/view.php?id=4551
2016-07-04 15:17:03 +02:00
Max Kellermann
46e8b137e9 configure.ac: use $have_ogg, not $enable_ogg
The latter doesn't exist, and this broke Vorbis-only builds.
2016-07-04 13:52:37 +02:00
Max Kellermann
4b25c5e8d6 test/*: add missing includes for fprintf() 2016-07-04 13:52:36 +02:00
Jacob Vosmaer
2fdbae3e1f Remove braces 2016-07-03 16:45:23 +02:00
Jacob Vosmaer
87e06793c2 Get rid of GetMacOSStatusCommentString 2016-07-03 14:06:53 +02:00
Jacob Vosmaer
8cc451a2e2 Use error.Set instead of error.Format 2016-07-03 13:36:35 +02:00
Jacob Vosmaer
723c2c7fa9 Remove some debugging code 2016-07-03 13:18:44 +02:00
Jacob Vosmaer
4dd2c5cdd5 Convert device name from CFStringRef to char* 2016-07-03 12:59:19 +02:00