Max Kellermann
cde6c46d2f
util/Macros: replace with std::size() (C++17)
2019-08-03 13:10:49 +02:00
Max Kellermann
6c22c34300
output/oss: add noexcept
2019-07-04 22:42:19 +02:00
Max Kellermann
f54710b100
output/oss: replace enum oss_setup_result with bool
...
It's not a tri-state anymore since we introduced C++ exceptions.
2019-07-04 22:23:22 +02:00
Max Kellermann
196db1a8c8
output/oss: remove redundant DoClose() calls from Reopen()
2019-07-04 22:01:44 +02:00
Max Kellermann
412b04be58
output: allow throwing any exception
2019-07-03 22:10:26 +02:00
Max Kellermann
e69fd0300a
pcm/Export: rename CalcSourceSize() to CalcInputSize()
2019-06-26 15:46:05 +02:00
Max Kellermann
33f5e03e80
Merge branch 'v0.21.x'
2019-06-17 22:06:54 +02:00
Max Kellermann
79839db3a3
output/oss: return early if PcmExport::Export() returns empty array
...
This can happen if the DoP converter doesn't get enough source samples
for one destination quad. This isn't a critical bug, because the OSS
plugin doesn't support DoP yet, but it's good to be prepared.
2019-06-17 21:07:30 +02:00
Max Kellermann
a139279575
Copyright year 2019
2019-06-17 11:17:30 +02:00
Max Kellermann
fd5e74dbd0
pcm/Pcm{Dop,Export}: drop "Pcm" prefix
2019-06-16 12:11:44 +02:00
Max Kellermann
c176d94598
system/ByteOrder: move to util/
2019-03-08 10:21:10 +01:00
Max Kellermann
ce49d99c2f
check.h: remove obsolete header
...
Since we switched from autotools to Meson in commit
94592c1406
, we don't need to include
`config.h` early to properly enable large file support. Meson passes
the required macros on the compiler command line instead of defining
them in `config.h`.
This means we can include `config.h` at any time, whenever we want to
check its macros, and there are no ordering constraints.
2018-11-19 16:33:49 +01:00
Max Kellermann
f5c9071494
*: copyright year 2018
2018-10-31 17:54:59 +01:00
Max Kellermann
3c7c0515d8
output/oss: use class FileDescriptor
2017-08-10 19:42:23 +02:00
Max Kellermann
31bad5f7af
output/Interface: convert to abstract class
...
Yet another C-style vtable replaced with C++.
2017-08-10 09:01:41 +02:00
Max Kellermann
bea5681fd8
output/Interface: define a new struct AudioOutput
...
Hide struct FilteredAudioOutput from the plugins, preparing for hiding
MPD's core internals.
2017-08-08 18:58:40 +02:00
Max Kellermann
d0157af13e
filter/Internal: rename struct AudioOutput to FilteredAudioOutput
...
Prepare to add an abstract class AudioOutput, to be implemented by
plugins, to get rid of the C-style vtable.
2017-08-07 18:47:39 +02:00
Max Kellermann
4faef28cc5
release v0.20.7
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlkaFL0QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEr4ID/9iAQC+7fFv06uLOm48Ufu+PgoD8uJkAwF5
QuLQkc85g9urn+bu9N7Qs7Vypp7aLyGcJKY0jyA8wxkOj24pUC3GYk80daUt561V
5s20FnoS/Uoman3CSJL94IfCUBxejizE6vgIIHTc5bb6U0qIsPub/8JTTE2Ih7uP
nvFZ5uBQ+YTc7at+iIH9123eUMKkitkh8osNblovqQT9v42++Tm4ztAytRHBjwUA
Itew5HhlvahbLKqFs/7vmICh/YX1FcOV7cV+erEWYfkH0KCI2bhSle4u2d0CBOvD
VJlDnBCo9bM7WKcPYqJiFFFXA0CRk06wbkkkAtwF4zjp8xos7aQcq4FyQnYL8KXo
5lijIhRwBURBd+nt8oA9kuEhBt/T75otcemJkzVaYappHTJCLjhxSGcPt8mw+nE9
9WQzsp/MIVzg9l5g3D9S/43xM7uhvn98Tn1Qf2s8YRd2o8CZeOhW+X3RvbCvVPv2
mOlx4sFAv8DOJ3KxMdqiJT+PmylPyJluQdqH+tMc8BdPg/kpSpYIPTuSjjRqK1yh
ld5do0HtAAwiHtvXfk5YVFjJSpO0c8yVn6xci2Cl4k/5ZHj2UE1ln+N5vCea2BRF
2J3HAjROwtcwY3lU1jFnEAogf24KWiFJqhhC0EqBGUdlrM8Dn37P5cEWWjROIMNK
lPEdovokNw==
=CdDy
-----END PGP SIGNATURE-----
Merge tag 'v0.20.7'
release v0.20.7
2017-05-15 23:01:49 +02:00
Max Kellermann
71f0ed8b74
*: add "noexcept" to many, many function prototypes
...
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
2017-05-08 14:44:49 +02:00
Max Kellermann
8fd9d91974
output/Plugin: pass EventLoop& to init()
...
Eliminate dependency on io_thread_get().
2017-01-25 22:54:41 +01:00
Max Kellermann
78a73eac53
pcm/Export: add (dummy) method Cancel()
...
We'll have some code for it soon.
2017-01-11 15:41:28 +01:00
Max Kellermann
5900253b85
update copyright year
2017-01-03 20:48:59 +01:00
Max Kellermann
d9cb85df83
output/Plugin: remove 'Error&' parameters, use C++ exceptions only
2016-11-09 12:36:21 +01:00
Max Kellermann
c8aa7afdc6
output/oss: migrate from class Error to C++ exceptions
2016-11-05 13:18:45 +01:00
Max Kellermann
f0f3017a76
pcm/export: move Open() parameters to struct Params
2016-02-26 18:55:27 +01:00
Max Kellermann
1d67aa7bf2
update copyright year to 2016
2016-02-26 17:54:05 +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
4fa5538e2b
config/Param: split block-specific attributes to new struct ConfigBlock
...
The old struct config_param remains only for top-level string options.
2015-01-21 23:56:33 +01:00
Max Kellermann
d83127722f
output/oss: use nullptr instead of NULL
2015-01-07 18:55:34 +01:00
Max Kellermann
dc03ad05be
output/oss: add "const" attributes
2015-01-07 18:50:38 +01:00
Max Kellermann
a62df3cb8f
output/oss: eliminate unnecessary tail code after "switch"
2015-01-07 18:49:29 +01:00
Max Kellermann
18e32abda9
output/oss: convert struct to class
2015-01-07 18:43:52 +01:00
Max Kellermann
15d29da43b
output/oss: add "device" parameter to constructor
2015-01-07 18:43:45 +01:00
Max Kellermann
c150fd9a1c
output/oss: move functions into the struct
2015-01-06 16:24:33 +01:00
Max Kellermann
712ed555e6
Copyright year 2015
2015-01-01 19:48:13 +01:00
Max Kellermann
a588aef921
output/oss: make the static arrays "constexpr"
2014-12-09 22:02:18 +01:00
Max Kellermann
6e04d66a35
release v0.18.13
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJUAxsyAAoJECNuiljG20USmRAP/2J/+kV5TRfqr7acFKh/aqip
RAefHTvHpYuAUDOi3WDVSZcmMnaYGKslZhbXhqchbRfR2oMwYhR+5gHIoxOp+EcL
09UF1fJfUnjg6B2zz6tggIWR53Dwxckg4xEaKtI2Wi3Gz+9Q/CiNlpWLJc0ONA5e
9gcz8pNK3oN0Em9c1KXahZKArzGdOGeytfSI3PLE+QnRiEyEDz1+StxIuyl72vr4
ar2EMa9Vdvb7ouNK0g8WqaEOzYyNDXhklIqc+zALQJGThY1xj6OCfQ8JVagJhzwB
UDuYfX1FylkN8LhF5pNzH1F0ANMozWcqeZlLLph6vuKkVBD7WUX4X1t82bwUlFDB
ppdA5pPkiXsqYnuhHML4GqL7LlI2wsMxUHK7v+A9+9hfGN9HIoFyOSLBjB1pyI93
yi8IPOq2a1BJQfQ2c69693ZS7WPxU6vOFKucKrk9PBlr2900SlvpMzIpZr1PMnGV
hoU8eLHOIW86wi5Ea2ycFbFyI1ZoyrKJmzcVJjPjZUT05jDV6bA2Gi1IG6gIhX1q
DiBfXUre+GISkLS4r8GcbG1FIXcv7fGjZ6Vols5di8lpYQ5oBu5aw2TEf8zukrHC
LzPRa2l6Mhe2OI7a/mmTaEYDINgCL//46hOU5mIbmB0XZS8Jf+D1/HBzqKpeqO7f
idENtbelqQdSsR5UU+R0
=c2vC
-----END PGP SIGNATURE-----
Merge tag 'v0.18.13'
2014-08-31 15:03:34 +02:00
Max Kellermann
0e756e4377
PcmExport: use class ConstBuffer
2014-08-12 22:19:53 +02:00
Max Kellermann
4657a3bd0f
output: move functions into the AudioOutput struct
2014-01-29 08:10:46 +01:00
Max Kellermann
bf803e241f
AudioOutput: pass plugin to constructor
...
Make it "const".
2014-01-29 08:10:18 +01:00
Max Kellermann
c4403c523f
AudioOutput: add constructor and destructor
2014-01-28 12:37:58 +01:00
Max Kellermann
815d72065c
output: rename struct audio_output to AudioOutput
2014-01-28 11:34:09 +01:00
Max Kellermann
e0dc721324
OutputPlugin: rename struct audio_output_plugin to AudioOutputPlugin
2014-01-28 11:33:15 +01:00
Max Kellermann
68eda78704
Mixer*: move to mixer/
2014-01-24 16:44:32 +01:00
Max Kellermann
ea5b901bcc
output/*: move to output/plugins/
2014-01-23 23:49:50 +01:00