Max Kellermann
6407b7c591
output/recorder: use C++11 initializers
2016-05-04 15:18:57 +02:00
Max Kellermann
e14cd92d59
output/shout: use AudioOutputWrapper
2016-05-04 15:06:29 +02:00
Max Kellermann
73cadd1798
output/shout: dispose encoder in destructor
2016-05-04 15:05:48 +02:00
Max Kellermann
fb9840f1f8
output/shout: call shout_shutdown() in destructor
2016-05-04 15:03:55 +02:00
Max Kellermann
492aaa3375
output/shout: use C++11 initializers
2016-05-04 14:46:45 +02:00
Max Kellermann
4c6619e6c5
output/MultipleOutputs: use C++11 initializers
2016-04-21 13:28:31 +02:00
Max Kellermann
6a1f5667f9
util/FormatString: return AllocatedString
2016-04-12 22:59:23 +02:00
Max Kellermann
667edcd9d0
util/IterableSplitString: cheaper variant of SplitString()
2016-03-18 14:11:50 +01:00
Max Kellermann
1aee89f5ea
*: include cleanup (using iwyu)
2016-03-01 22:08:13 +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
ddce544b53
output/alsa: move the PcmExport::Open() call to Open()
2016-02-28 10:15:54 +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
fd7eb43366
output/alsa: use CamelCase
2016-02-28 09:44:15 +01:00
Max Kellermann
a1add27c4c
output/alsa: fix indent
2016-02-28 09:35:57 +01:00
Max Kellermann
fc8194ee1e
output/alsa: fix typo
2016-02-28 09:35:55 +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
111528e51c
output/alsa: add #ifdef ENABLE_DSD
...
Fixes the --disable-dsd build.
See http://bugs.musicpd.org/view.php?id=4498
2016-02-28 07:29:37 +01:00
Max Kellermann
c9761bf6af
output/alsa: pass PcmExport::Params to alsa_setup()
2016-02-27 07:35:35 +01:00
Max Kellermann
4a47265224
output/alsa: pass PcmExport::Params to SetupDop()
2016-02-27 07:34:58 +01:00
Max Kellermann
f0f3017a76
pcm/export: move Open() parameters to struct Params
2016-02-26 18:55:27 +01:00
Max Kellermann
6a53fb33da
output/alsa: basic infrastructure for DSD_U16 and DSD_U32
2016-02-26 18:44:58 +01:00
Max Kellermann
1d67aa7bf2
update copyright year to 2016
2016-02-26 17:54:05 +01:00
Christian Halaszovich
3392cbbd91
Emit a warning if the OutputThread fails to get realtime scheduling
...
This only applies to linux systems. Here, sched_setscheduler() is
called to get realtime scheduling. With this patch, the return value
of this function is now checked and a warning / error message is
generated if it fails.
2016-02-19 17:09:44 +01:00
Max Kellermann
e4a06da14e
fs/io/OutputStream: use C++ exceptions in Write()
2015-12-16 10:24:43 +01:00
Max Kellermann
7eae3bc8c5
fs/io/FileOutputStream: use C++ exceptions in Commit()
2015-12-16 00:33:33 +01:00
Max Kellermann
24b2198668
fs/io/FileOutputStream: use C++ exceptions in constructor
2015-12-16 00:33:30 +01:00
Max Kellermann
36239895bd
player/Control: add Lock prefix to locking method names
2015-11-11 16:50:57 +01:00
Max Kellermann
738583e3d4
StateFile: use StringAfterPrefix() instead of StringStartsWith()
2015-11-11 15:34:36 +01:00
Max Kellermann
733989a284
util/StringUtil: move comparison functions to StringCompare.cxx
2015-11-06 09:20:18 +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
release v0.19.11
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJWL0cEAAoJECNuiljG20USkHkP/0m3kFEEgqauAIbI1t0TkKOp
2ii5iHZeMAlsxGEc5SX5fFoXM6STbXq/3+OXBf+OnABh9b03o744QAAwh1ei9tiQ
kMysbN2fbpHkuchx1JfrOU1ad3qfWXQri8csTtx5eRYpgyqF7Mfl1SoY1nkpherd
j4MVq7MVqBhwCqpAfJvTFTSOlNrJ4bBcvIgGslhFYhRxMRM83KgFS//lHvbXWnOg
fjYEO34nz0rjCfz6x2r7ZQBLeQVr9n6h24iYhSTnU7Xq9o2ezWlVRIm9YVhxoZKf
/MRJuAzaHhGID8IvX7dPxdQJ+feUhQXSv8HSjOJBO6R2dqIScE3D6EIBHy8Cj9Bk
O2D1SgmR+2NnjNz2GUjCIKHm9c9jTgv+rnZ2l8hweS2oUQOPHbCtOoCNAfwyP+/Y
ms1CavNl7bUuvWrM1ipM2ZK6QfW9P4F1dtmwqtJCsqdGFyQyfACcxqmlkfxhB2vI
NyvKAOn/TlWWQscF9id3r90sEir/J9e7IJ6oZh+uvyIfOtt8wR/Jm5/H1MA7j3iX
XmNbe1GY3WHjCH2lRr3tIRKAE8I3HAtBzwhvq/miSESrkEnJ06VMatkoMRQT63gy
62yaCg+ZWiBRp07ygiedYuGL19pDOhqRjY3U/b/0EHMb9ux083nuUTssqgzzO2OP
9OPao5CPs4M4QvmiG/wF
=RdQt
-----END PGP SIGNATURE-----
Merge tag 'v0.19.11'
2015-10-27 11:05:47 +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
6bea346c41
output/httpd: use boost::intrusive::list instead of std::forward_list
2015-10-19 16:00:26 +02:00
Max Kellermann
f066bb7716
unix/Daemon, playlist/...: remove unused Domain variables
2015-10-16 18:08:59 +02:00
Max Kellermann
ce0d896492
unix/Daemon, playlist/pls, ...: remove unused Domain variables
2015-09-17 23:15:54 +02:00
François Revol
7743647460
output: add native Haiku audio output and mixer support
...
Also uses the notification system to display tags.
2015-09-17 22:46:46 +02:00
Max Kellermann
5fba8d773c
PlayerThread, ...: move to src/player/
2015-08-15 15:55:46 +02:00
Max Kellermann
7652a2986b
client/Response: new Client wrapper class for writing responses
2015-08-12 08:41:05 +02:00
Max Kellermann
024d978ae5
output/fifo: smaller Cancel() buffer
2015-08-06 10:15:19 +02:00
Max Kellermann
e0f55b9295
output/fifo: move the buffer into the loop
2015-08-06 10:14:53 +02:00
Max Kellermann
ccd83748f7
output/fifo: use ssize_t for the read() result
2015-08-06 10:14:35 +02:00
Max Kellermann
291ee9f86a
output/fifo: simplify the Cancel() loop
2015-08-06 10:13:21 +02:00
Max Kellermann
59e4d7f0f5
output/fifo: convert struct to class
2015-08-06 09:51:03 +02:00
Max Kellermann
4647448399
output/fifo: use AudioOutputWrapper::Open(),Close()
2015-08-06 09:50:02 +02:00
Max Kellermann
7dfe841876
output/fifo: rename Open(), Close() to OpenFifo(), CloseFifo()
2015-08-06 09:49:00 +02:00
Max Kellermann
83752e9349
net/ToString: rename sockaddr_to_string() to ToString()
2015-07-22 10:26:18 +02:00
Max Kellermann
6f22452b54
net/Resolver: move sockaddr_to_string() to ToString.cxx
2015-07-22 10:03:36 +02:00
Max Kellermann
bef8c83388
OutputThread: move code to CloseOutput()
2015-06-22 13:02:13 +02:00
Max Kellermann
90e7ace980
release v0.19.10
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJVhsF2AAoJECNuiljG20US2OUQAIyDcaUCFgUa2CYa7MftCPGc
dYJFwf+6Y2fJdSXcogYZmXNKNjFbPAZ4qqGdoNfI5a0rLxMarmL4DyjziAWi3ETB
MOkZK65Y5ySyyw69e+i/XsOwOn8rm6jDuwHKpT7wVJNjvZ8nA8esvu5b1Ief5LBd
UwEmn5DtKjA7dErHEYd2YvMK0xm+YmoKXuhmJKAn3sQdCEldgH4T5BCdOqmfrHWX
BYmNxmP3PU9Tqi7XHTSFZJn6vWiXhOoWr4Cb7K54j49sRV2B4QMWX1CLyK4+Jwmk
NZwD1IoGtoks5twfMTA9F9dBV/CPAWT69E0LIvaFJwCyoPCEnEi6k41bRAWK7P65
QwKxdtY/GZnVFpiqXba+wkD6VBa5wmkjS10+cIBhz3CVCEE+N5YacubUw5JieYg3
kOG2htSF1YP/Mo+IAObO9doQWHnDUavVhhpQ8UyqQ1bDMsmaEpfE16TRmlY/l5wx
Aor2p6D3c0E0IGpEwjOl6T9pDql4dyTdrRLLXJ6oD9iYv2rDdahctBRdyFZ1mRwX
oNUz8bfGDrshHVvwjQTr2b4O+w+yc+RSuJcyCGGcn5LakBuiM6vYNYuZzq3Yj/RK
Wk7RErVsbtY4ZRH06Lf5MSM5TflnrfQmzkUB0rZ0XoDyweoHOHPyzKhvBaKhadNh
UnEx4kCOvWdjFXUVWH3Q
=MrVf
-----END PGP SIGNATURE-----
Merge tag 'v0.19.10'
2015-06-21 16:06:02 +02:00
Romain Rollet
ae77542a11
OutputControl: fix fail_timer check right after booting
...
Right after booting, the monotonic clock starts with a very small
value, and AudioOutput::LockUpdate() may believe that the fail_timer
has not recovered yet.
2015-06-20 15:37:19 +02:00
Max Kellermann
b31d171ae8
*: doxygen fixups
2015-03-17 11:21:43 +01:00
Max Kellermann
1da0956331
output/recorder: convert path to UTF-8 for logging
2015-03-05 10:15:10 +01:00
Max Kellermann
81059f80d8
output/winmm: convert device name to filesystem charset
2015-03-05 10:07:07 +01:00
Max Kellermann
a261442279
output/winmm: eliminate "goto"
2015-03-05 10:07:07 +01:00
Max Kellermann
cee3070ca4
output/winmm: use StringStartsWith() instead of strstr()
2015-03-04 08:58:59 +01:00
Max Kellermann
1c90b0c19d
*: change C-style prototypes, drop "(void)"
2015-03-03 20:05:08 +01:00
Max Kellermann
90a61b6bab
fs/FileInfo: new library providing GetFileInfo()
...
Replaces StatFile(), with a portable data object.
2015-02-28 23:00:26 +01:00
Max Kellermann
4e30e74739
net/SocketAddress: light wrapper for struct sockaddr
2015-02-10 22:06:06 +01:00
Max Kellermann
42890b9acf
system/{Resolver,Socket{Error,Util}}: move to new library libnet.a
2015-02-10 22:06:06 +01:00
Max Kellermann
e660229c40
output/sles: use AudioOutputWrapper::Create()
2015-02-01 22:24:19 +01:00
Max Kellermann
8bfb88840b
output/fifo: use template AudioOutputWrapper
2015-01-28 19:43:37 +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
1c3f5517fa
config/Option: convert to strictly-typed enum
2015-01-21 23:30:00 +01:00
Max Kellermann
a38f02541d
config/Param: make "line" signed
2015-01-21 22:19:36 +01:00
Max Kellermann
fe85fa3bea
ConfigData: move struct config_param to Param.hxx
2015-01-21 21:23:02 +01:00
Max Kellermann
e8debd2e45
output/recorder: dynamic file name
2015-01-14 22:03:26 +01:00
Max Kellermann
bf59635280
output/recorder: move code to encoder/ToOutputStream.cxx
2015-01-14 20:11:00 +01:00
Max Kellermann
eaf0662b75
fs/io/FileOutputStream: add static method Create()
2015-01-14 19:44:28 +01:00
Max Kellermann
05d47bb09a
output/null: convert struct to class
2015-01-09 19:30:22 +01:00
Max Kellermann
575a5bd0b8
output/null: move functions into the struct
2015-01-09 17:44:00 +01:00
Max Kellermann
ae4c189e19
encoder/Interface: move functions into the struct
2015-01-08 19:36:19 +01:00
Max Kellermann
362a6e6d46
encoder/Plugin: move struct Encoder to EncoderInterface.hxx
2015-01-08 19:31:57 +01:00
Max Kellermann
c76c7c68ff
output/recorder: convert struct to class
2015-01-08 16:56:22 +01:00
Max Kellermann
59ac9d39d5
output/recorder: move encoder_finish() call to destructor
2015-01-08 16:56:13 +01:00
Max Kellermann
ec41caade4
output/wrapper: add method SendTag()
2015-01-07 19:20:09 +01:00
Max Kellermann
06ec06cdd7
output/recorder: remove unused variable "recorder_output_domain"
2015-01-07 19:17:07 +01:00
Max Kellermann
b7acf86408
output/recorder: use FileOutputStream
2015-01-07 19:14:23 +01:00
Max Kellermann
58c4db925b
output/recorder: log commit errors
2015-01-07 19:13:55 +01:00
Max Kellermann
fe0c4ff3c2
output/recorder: move code to method Commit()
2015-01-07 19:11:04 +01:00
Max Kellermann
7a2af0fbf4
output/recorder: move more functions into the struct
2015-01-07 18:55:34 +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
c1f0708a5d
output/recorder: use config_param::GetBlockPath()
...
Supports "~/" expansion. Forces us to switch from "const char *" to
AllocatedPath, which is a good thing.
2015-01-05 19:49:54 +01:00
Max Kellermann
153f5854e2
output/alsa: move functions into the struct
2015-01-04 19:53:56 +01:00
Max Kellermann
f532964fde
output/pulse: add wrapper for pa_threaded_mainloop_signal()
2015-01-04 19:51:09 +01:00
Max Kellermann
efea609dc3
output/pulse: convert to class
2015-01-04 19:46:51 +01:00
Max Kellermann
f3a160038d
output/pulse: move more code into the struct
2015-01-04 19:45:58 +01:00
Max Kellermann
f016eef48a
output/pulse: use AudioOutputWrapper::Init()
2015-01-04 19:44:45 +01:00
Max Kellermann
f649514183
output/openal: convert macro to constexpr
2015-01-03 20:00:41 +01:00
Max Kellermann
afd31677dd
output/openal: convert struct to class
2015-01-03 20:00:16 +01:00
Max Kellermann
b28710b08c
output/openal: move functions into the class
2015-01-02 18:40:16 +01:00
Max Kellermann
712ed555e6
Copyright year 2015
2015-01-01 19:48:13 +01:00
Max Kellermann
11fb5bc3d0
output/osx: use nullptr instead of NULL
2014-12-31 11:47:27 +01:00
Max Kellermann
970e338847
output/pulse: move code into the struct
2014-12-30 00:03:07 +01:00
Max Kellermann
0b9f650fe2
output/Wrapper: new helper class
2014-12-29 23:45:14 +01:00
Max Kellermann
977834179a
output/pulse: move initialization to constructor
2014-12-29 23:07:18 +01:00