Max Kellermann
926d4150c5
playlist/SongEnumerator: allow NextSong() to throw exceptions
2018-01-20 20:11:15 +01:00
Max Kellermann
6f267adc14
playlist/SongEnumerator: add "noexcept"
2018-01-20 20:10:46 +01:00
Max Kellermann
0095e2d7d8
playlist/Plugin: use std::unique_ptr<SongEnumerator>
2018-01-20 19:59:42 +01:00
Max Kellermann
147f64e1fc
playlist/Plugin: remove useless wrapper functions
2018-01-20 19:58:11 +01:00
Max Kellermann
b8e5932506
tag/{Tag,Builder}: use std::lock_guard
2018-01-20 19:53:38 +01:00
Max Kellermann
1ea04cd8cc
tag/Pool: add "noexcept"
2018-01-20 19:53:38 +01:00
Max Kellermann
b334643b68
tag/Pool: use C++11 initializers
2018-01-20 19:53:38 +01:00
Max Kellermann
6e6a0275b5
tag/Pool: use uint8_t instead of unsigned char
2018-01-20 19:53:38 +01:00
Max Kellermann
f5590806e0
tag/Handler: add "noexcept"
2018-01-20 19:53:38 +01:00
Max Kellermann
f686e838fe
tag/Builder: add "noexcept"
2018-01-20 19:53:38 +01:00
Max Kellermann
ea8642dec9
tag/Builder: use C++11 initializers
2018-01-20 19:53:38 +01:00
Max Kellermann
eef5b58211
tag/Tag: add "noexcept"
2018-01-20 19:39:46 +01:00
Max Kellermann
1de68b72b9
tag/Tag: use C++11 initializers
2018-01-20 19:39:06 +01:00
Max Kellermann
720df085e5
input/TextInputStream: add "noexcept"
2018-01-20 19:35:09 +01:00
Max Kellermann
f90f17227b
input/Domain: remove obsolete variable
2018-01-20 19:19:29 +01:00
Max Kellermann
36f7eaadef
input/LocalOpen: make assert() more strict
2018-01-20 19:15:51 +01:00
Max Kellermann
1eb9300658
input/LocalOpen: include cleanup
2018-01-20 19:14:42 +01:00
Max Kellermann
27e4656515
input/{file,archive}: remove the dummy InputPlugin instances
...
These have no use, exception for creating an artificial dependency
from input_plugins[] to all archive plugins.
2018-01-20 19:07:34 +01:00
Max Kellermann
e0a09dbd69
input/thread: add "noexcept"
2018-01-20 18:54:29 +01:00
Max Kellermann
30832ab33a
input/InputStream: add "noexcept" to constructor
2018-01-20 18:53:37 +01:00
Max Kellermann
d20b545a94
input/InputStream: remove methods Lock() and Unlock()
...
These methods are not exception-safe; std::lock_guard should better be
used.
2018-01-20 18:51:23 +01:00
Max Kellermann
20d01be1ad
input/mms: use class ScopeUnlock
2018-01-20 18:51:00 +01:00
Max Kellermann
d6b62d7512
input/tidal: delete request objects upon completion
2018-01-20 00:34:44 +01:00
Max Kellermann
ab9d9541a8
input/tidal: pass std::string by value
...
Don't keep any references to the owner, as the handler method may
delete the owner.
2018-01-20 00:33:01 +01:00
Max Kellermann
c3b8568560
lib/curl/Handler: add API documentation
2018-01-20 00:28:54 +01:00
Max Kellermann
8bd95a4eb1
db/update/Container: include cleanup
2018-01-20 00:25:57 +01:00
Max Kellermann
2dac3ef58e
client: eliminate client_printf()
2018-01-20 00:24:18 +01:00
Max Kellermann
86c7ab29f4
client/Idle: pass Response instead of Client to WriteIdleResponse()
2018-01-20 00:22:47 +01:00
Max Kellermann
db89e5ec28
client/Idle: move code to WriteIdleResponse()
2018-01-20 00:22:30 +01:00
Max Kellermann
d096f75fb8
client/Idle: apply idle_subscriptions mask once
2018-01-20 00:22:09 +01:00
Max Kellermann
854424a758
client/Idle: use std::exchange()
2018-01-20 00:21:26 +01:00
Max Kellermann
fe5d0ce827
Merge branch 'v0.20.x'
2018-01-20 00:04:35 +01:00
Max Kellermann
8376578921
db/simple/Mount: drop mount point prefix from LOCATE_TAG_BASE_TYPE
...
Fixes search within mount points, resulting in error "No such
directory".
Closes #190
2018-01-19 23:52:57 +01:00
Max Kellermann
ed2354cd9d
SongFilter: allow copying items
2018-01-19 23:52:03 +01:00
Max Kellermann
386688b87a
SongFilter: use std::string instead of AllocatedString
2018-01-19 23:51:42 +01:00
Max Kellermann
38d56dddf1
lib/icu/Compare: allow copying
2018-01-19 23:49:50 +01:00
Max Kellermann
e8975942ec
Makefile.am: link libicu.a before libutil.a
...
libicu.a depends on libutil.a.
2018-01-19 23:38:24 +01:00
Max Kellermann
3ca80a7336
util/RefCount, db/simple/Mount: remove obsolete libc++ workarounds
...
No longer a problem with NDK r16.
2018-01-19 23:19:46 +01:00
Max Kellermann
d029dae7ad
Makefile.am: use Android SDK build-tools 27.0.0
2018-01-19 23:04:54 +01:00
Max Kellermann
9e058732ee
android/build.py: add -fpic
...
Android native code should be position-independent.
The NDK build scripts use "-fpic" instead of "-fPIC" for ARM, but that
doesn't work with FFmpeg's assembly code, because it requires
R_ARM_MOVW_ABS_NC which is unavailable with "-fpic".
2018-01-19 22:40:59 +01:00
Max Kellermann
cad5d11261
android/build.py: simplify libc++ flags
...
By telling clang which implementation to use, we avoid the dependency
on libstdc++.so.
2018-01-19 22:36:19 +01:00
Max Kellermann
2fed3b5e5b
input/Tidal*Request: add Start() method
...
The caller should be able to safely store the instance pointer before
his callback is invoked.
2018-01-19 16:03:05 +01:00
Max Kellermann
1ecad094bd
input/tidal: add API documentation
2018-01-19 16:03:03 +01:00
Stefan Roellin
187cc573a7
db/upnp/Directory: fix parsing of durations with fractions of seconds
...
The duration of a song can have fractions of seconds
(quote from http://www.upnp.org/schemas/av/didl-lite-v2.xsd ):
The format of the duration string is:
H+:MM:SS[.F+], or H+:MM:SS[.F0/F1]
Where:
+H one or more digits to indicate elapsed hours,
MM exactly 2 digits to indicate minutes (00 to 59),
SS exactly 2 digits to indicate seconds (00 to 59),
F+ any number of digits (including no digits) to indicate fractions of seconds,
F0/F1 a fraction, with F0 and F1 at least one digit long,
and F0 < F1.
The string may be preceded by an optional + or - sign, and the
decimal point itself may be omitted if there are no fractional seconds digits.
Until now, a duration with fractions of seconds could not be parsed and
resulted in an unknown duration. Only durations in the format "H+:MM:SS"
were feasible. This commit enables to read durations in the first format,
i.e. "H+:MM:SS[.F+]"
2018-01-19 15:53:18 +01:00
Max Kellermann
fcaedec2ab
{android,win32}/build.py: move "-O* -g" to common_flags
2018-01-19 12:33:28 +01:00
Max Kellermann
ead9d59e88
python/build/libs.py: build only libFLAC, no programs
2018-01-19 12:33:03 +01:00
Max Kellermann
34b8a17ccd
python/build/autotools.py: add "subdir" parameter
2018-01-19 11:39:36 +01:00
Max Kellermann
a53d081c39
python/build/libs.py: disable libFLAC API documentation
2018-01-19 11:38:24 +01:00
Max Kellermann
823134e4ba
python/build/libs.py: disable Opus documentation and extra programs
2018-01-19 11:32:40 +01:00
Max Kellermann
272167b4fc
python/build/libs.py: update LAME to 3.100
2018-01-18 22:07:28 +01:00