Max Kellermann
|
bc5d4f9494
|
Merge branch 'v0.21.x'
|
2019-05-04 13:29:17 +02:00 |
|
Max Kellermann
|
f8468451c9
|
android/AndroidManifest.xml: increment versionCode after hotfix upload
|
2019-05-04 13:25:05 +02:00 |
|
Max Kellermann
|
65df6ca14e
|
android/Settings: request READ_EXTERNAL_STORAGE permission
Using this API function requires SDK level 23.
|
2019-05-04 07:29:41 +02:00 |
|
Max Kellermann
|
36dec47bf7
|
android/build.py: link ARMv7 binary with libunwind
Fixes nullptr dereference when an exception gets thrown because there
is no ".eh_frame" section for unwinding.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/543
|
2019-05-03 20:15:50 +02:00 |
|
Max Kellermann
|
478cedcadf
|
increment version number to 0.21.9
|
2019-05-03 20:15:33 +02:00 |
|
Max Kellermann
|
dedc4b4b10
|
player/Control: pass std::unique_lock<> to Cond::wait()
|
2019-04-26 18:47:22 +02:00 |
|
Max Kellermann
|
cf348f9fae
|
decoder/Control: pass std::unique_lock<> to Cond::wait()
|
2019-04-26 18:34:16 +02:00 |
|
Max Kellermann
|
23d56cb6a1
|
output/Control: pass std::unique_lock<> to Cond::wait()
|
2019-04-26 18:28:44 +02:00 |
|
Max Kellermann
|
4473816384
|
output/Control: add LockEnableDisableAsync()
|
2019-04-26 18:28:09 +02:00 |
|
Max Kellermann
|
2c8d004f78
|
output/Control: add LockWaitForCommand()
|
2019-04-26 18:25:36 +02:00 |
|
Max Kellermann
|
684bd9153e
|
output/MultipleOutputs: simplify locking in CheckPipe()
Instead of keeping all open outputs locked, let ClearTailChunk() stall
playback until MultipleOutputs::CheckPipe() has updated the MusicPipe.
|
2019-04-26 18:13:14 +02:00 |
|
Max Kellermann
|
ec456fc57c
|
output/MultipleOutputs: make variable more local
|
2019-04-26 18:13:02 +02:00 |
|
Max Kellermann
|
7c92eb4360
|
output/Control: add noexcept
|
2019-04-26 17:53:27 +02:00 |
|
Max Kellermann
|
2c6ebe28e9
|
playlist/EmbeddedCue:: wrap CueParser in std::unique_ptr<>
|
2019-04-26 14:58:09 +02:00 |
|
Max Kellermann
|
401f06f367
|
playlist/EmbeddedCue: add noexcept
|
2019-04-26 14:57:03 +02:00 |
|
Max Kellermann
|
2b4e9cc635
|
db/update/Service: wrap UpdateWalk in std::unique_ptr<>
|
2019-04-26 14:55:00 +02:00 |
|
Max Kellermann
|
afdaaba045
|
fs/io/BufferedOutputStream: add noexcept
|
2019-04-26 14:55:00 +02:00 |
|
Max Kellermann
|
1cfc0cb874
|
fs/io/AutoGunzipReader: use std::unique_ptr<>
|
2019-04-26 14:55:00 +02:00 |
|
Max Kellermann
|
3882c97545
|
fs/io/AutoGunzipReader: add noexcept
|
2019-04-26 14:55:00 +02:00 |
|
Max Kellermann
|
bf9f690c70
|
fs/io/GunzipReader: add noexcept
|
2019-04-26 14:55:00 +02:00 |
|
Max Kellermann
|
392b783c9e
|
fs/io/TextFile: add noexcept
|
2019-04-26 14:44:27 +02:00 |
|
Max Kellermann
|
6d86902a02
|
fs/io/TextFile: use std::unique_ptr<>
|
2019-04-26 14:42:54 +02:00 |
|
Max Kellermann
|
376f4a2b16
|
output/MultipleOutputs: wrap AudioOutputControl in std::unique_ptr<>
|
2019-04-26 14:28:59 +02:00 |
|
Max Kellermann
|
b42f19f514
|
output/Control: implicitly call BeginDestroy() in destructor
|
2019-04-26 14:28:30 +02:00 |
|
Max Kellermann
|
92022658f9
|
thread/Cond: add wait() overload which takes a unique_lock<>
Just like std::condition_variable, which however has no way to specify
the std::mutex directly.
|
2019-04-26 11:51:45 +02:00 |
|
Max Kellermann
|
b51bae5500
|
thread/*Cond: rename methods to match std::condition_variable
|
2019-04-25 19:46:43 +02:00 |
|
Max Kellermann
|
5bc8cd0ecb
|
event/Call: use std::lock_guard
|
2019-04-25 19:45:52 +02:00 |
|
Max Kellermann
|
d38a079ba1
|
neighbor/smbclient: use std::lock_guard
|
2019-04-25 19:44:59 +02:00 |
|
Max Kellermann
|
c75a0f7c75
|
neighbor/smbclient: call Run() with locked mutex
|
2019-04-25 19:43:45 +02:00 |
|
Max Kellermann
|
e740f8d969
|
decoder/Control: remove unused methods Lock(), Unlock()
|
2019-04-25 19:34:26 +02:00 |
|
Max Kellermann
|
9da7509944
|
input/curl: use class ScopeUnlock
|
2019-04-25 19:33:50 +02:00 |
|
Max Kellermann
|
36aa204575
|
input/smbclient: use std::lock_guard
|
2019-04-25 19:33:50 +02:00 |
|
Max Kellermann
|
2c0a968735
|
storage/smbclient: use std::lock_guard
|
2019-04-25 19:23:37 +02:00 |
|
Max Kellermann
|
84c406d5f5
|
storage/nfs: use class ScopeUnlock
|
2019-04-25 19:22:57 +02:00 |
|
Max Kellermann
|
0e48747607
|
event/Call: use std::lock_guard
|
2019-04-25 18:57:58 +02:00 |
|
Max Kellermann
|
f764925edc
|
Instance: use std::unique_ptr<> to manage the NeighborGlue pointer
|
2019-04-25 13:09:31 +02:00 |
|
Max Kellermann
|
692c8025a2
|
Main: use AtScopeExit() to call NeighborGlue::Close()
|
2019-04-25 13:03:51 +02:00 |
|
Max Kellermann
|
a6dc1ab0a9
|
lib/sqlite/Database: wrapper for sqlite3*
|
2019-04-25 12:10:12 +02:00 |
|
Max Kellermann
|
77c9081f78
|
sticker/Database: wrap in class StickerDatabase
|
2019-04-25 12:05:18 +02:00 |
|
Max Kellermann
|
c88d5616f7
|
sticker/Database: move sticker_prepare() to lib/sqlite/Util.hxx
|
2019-04-25 11:57:29 +02:00 |
|
Max Kellermann
|
34d483a34a
|
lib/sqlite/Util: move into namespace
|
2019-04-25 11:56:52 +02:00 |
|
Max Kellermann
|
5a3828ed4a
|
sticker/*: rename source files, drop "Sticker" prefix
|
2019-04-24 15:15:19 +02:00 |
|
Max Kellermann
|
3fe7f27345
|
sticker/Database: eliminate sticker_foreach()
|
2019-04-24 15:12:58 +02:00 |
|
Max Kellermann
|
0dccadff89
|
sticker/Database: remove unused function sticker_get_value()
|
2019-04-24 15:09:47 +02:00 |
|
Max Kellermann
|
5a915eb0e6
|
sticker/Database: return Sticker by value
|
2019-04-24 15:05:05 +02:00 |
|
Max Kellermann
|
7b48ae4f85
|
sticker/Database: move struct Sticker to Sticker.hxx
|
2019-04-24 15:03:52 +02:00 |
|
Max Kellermann
|
92dc4a0ca7
|
sticker/Database: add noexcept
|
2019-04-24 15:00:24 +02:00 |
|
Max Kellermann
|
c7c303eec3
|
db/DatabaseListener: add noexcept
|
2019-04-24 14:57:30 +02:00 |
|
Max Kellermann
|
1b62adc894
|
Instance: add noexcept
|
2019-04-24 14:56:08 +02:00 |
|
Max Kellermann
|
0641ce79fe
|
StateFile: add noexcept
|
2019-04-24 14:54:17 +02:00 |
|