Max Kellermann
|
c40354bbcb
|
player/Outputs: abstract interface wrapping class MultipleOutputs
|
2017-12-29 16:39:05 +01:00 |
|
Max Kellermann
|
a431274b32
|
player/Control: add "occupied" flag to skip REFRESH
Reduces main thread contention. Avoids blocking the main thread in
"status" commands.
|
2017-12-21 10:25:40 +01:00 |
|
Max Kellermann
|
994c9a01e3
|
player/Control: reorder attributes to reduce padding
|
2017-12-21 10:25:38 +01:00 |
|
Max Kellermann
|
9c8a45854a
|
player/Control: add SEEK documentation
|
2017-12-20 12:20:11 +01:00 |
|
Max Kellermann
|
7d035edf9d
|
player/Control, ...: remove API documentation references to the obsolete Error class
|
2017-12-20 12:20:09 +01:00 |
|
Max Kellermann
|
b13b023c6b
|
player/Control: wrap DetachedSong* in std::unique_ptr
|
2017-11-26 12:06:38 +01:00 |
|
Max Kellermann
|
624e679e35
|
player/Control: add "noexcept"
|
2017-11-26 12:02:08 +01: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
|
781487c4dd
|
thread/Thread: use BoundMethod
|
2017-02-10 22:46:09 +01:00 |
|
Max Kellermann
|
5900253b85
|
update copyright year
|
2017-01-03 20:48:59 +01:00 |
|
Max Kellermann
|
2e182e84c3
|
thread/Mutex: remove ScopeLock, use std::lock_guard directly
|
2017-01-03 07:11:57 +01:00 |
|
Max Kellermann
|
ccb45b6f6e
|
output/Client: new interface to replace direct access to class PlayerControl
|
2016-12-14 20:29:15 +01:00 |
|
Max Kellermann
|
ece5971027
|
output/Multiple: move Wait() to struct PlayerControl
Eliminate a dependency from MultipleOutputs on PlayerControl.
|
2016-12-14 19:37:01 +01:00 |
|
Max Kellermann
|
03151310cf
|
player/Control: add method LockApplyBorderPause()
|
2016-12-14 13:09:48 +01:00 |
|
Max Kellermann
|
baa2bc0c38
|
player/Control: add method LockSetOutputError()
|
2016-12-14 13:01:17 +01:00 |
|
Max Kellermann
|
9fb7cc796b
|
decoder/Control: add attribute configured_audio_format
Obsoletes the same variable from AudioConfig.cxx.
|
2016-12-03 14:12:08 +01:00 |
|
Max Kellermann
|
cd4bb444ff
|
player/Control: make ReplayGainConfig const
|
2016-12-03 13:47:13 +01:00 |
|
Max Kellermann
|
3d16f22135
|
player/Control: use C++11 initializers
|
2016-12-03 13:08:00 +01:00 |
|
Max Kellermann
|
ee57c3490a
|
{decoder,player}/Control: add ReplayGain{Config,Mode} attributes
Don't use the global variables in class DecoderBridge; instead,
forward these values to the decoder thread via PlayerControl and
DecoderControl.
|
2016-11-25 12:51:55 +01:00 |
|
Max Kellermann
|
22dcca9832
|
util/Error: remove obsolete class
|
2016-11-10 12:58:26 +01:00 |
|
Max Kellermann
|
d9cb85df83
|
output/Plugin: remove 'Error&' parameters, use C++ exceptions only
|
2016-11-09 12:36:21 +01:00 |
|
Max Kellermann
|
0ce72cbf9d
|
player/Control: convert error from Error to std::exception_ptr
Prepare full C++ exception support in the player thread.
|
2016-09-08 12:15:14 +02:00 |
|
Max Kellermann
|
6e52ab285a
|
player/Control: use class Error as C++ exception, throw it
|
2016-09-08 12:07:22 +02:00 |
|
Max Kellermann
|
1897409476
|
player/Control: update API documentation
|
2016-09-08 12:07:22 +02:00 |
|
Max Kellermann
|
fb547260d1
|
player/Control: Play*() returns Error information
|
2016-02-28 13:31:41 +01:00 |
|
Max Kellermann
|
1d67aa7bf2
|
update copyright year to 2016
|
2016-02-26 17:54:05 +01:00 |
|
Max Kellermann
|
4404f20cf4
|
player/Control: Seek*() returns Error information
|
2015-11-11 19:56:09 +01:00 |
|
Max Kellermann
|
c6d1d360a3
|
player/Control: use class ScopeLock
|
2015-11-11 17:43:56 +01:00 |
|
Max Kellermann
|
afc1236b06
|
player/Control: move code to ClearError()
|
2015-11-11 17:41:02 +01:00 |
|
Max Kellermann
|
bedd5f00f8
|
player/Control: move code to SeekLocked()
|
2015-11-11 16:56:24 +01:00 |
|
Max Kellermann
|
36239895bd
|
player/Control: add Lock prefix to locking method names
|
2015-11-11 16:50:57 +01:00 |
|
Max Kellermann
|
3a387643b3
|
player/Thread: move player_command_finished() to PlayerControl
|
2015-11-05 00:38:09 +01:00 |
|
Max Kellermann
|
990f473bb3
|
player/Control: initialize seek_time in EnqueueSongLocked()
Allows removing a few special cases in the player thread.
|
2015-11-05 00:29:03 +01:00 |
|
Max Kellermann
|
5fba8d773c
|
PlayerThread, ...: move to src/player/
|
2015-08-15 15:55:46 +02:00 |
|