release v0.23.7
-----BEGIN PGP SIGNATURE----- iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAmJ5gd4QHG1heEBtdXNp Y3BkLm9yZwAKCRAjbopYxttFEi1vD/9mcxGKnkx4yTDJZhtSWfsSE/5v+oFu09Qy Uk5ggk6PN18hMFZ2mcVYXdh7Yc1QiiAycgVFnchiVMYaF+K3LXefXvtkn81xuUNN QnJLX/o2hbnmr5Or/Ps+hgiQ0PEn0ui1+t70jJ8a3Ad9sJy3YFQc/HjLUeOZqT0p 4qVyp614TtjtPlw/q0GHgiD1BxpH/pbcdMvioGj80MwBlwyrvA5IlV4HxxAAervw 4KKT9XbtnHzR+fyUPv633CDU/bWNkTgbpMVyEhRXxE3heNaXMC4wSfsD/5XKDYLb zt/q1pAj6totKJwgdm76MoOKuVeNvw54jBE7st46+lPoH97h5uN9rpEAk00dXtSA 2FuOw8bc79uN5ZRsWXJ6ZBWzwUvssAtx9ee2seR9BUpdeSGurdOfkKq0h/c/aUzN Qn6oWX75e7fMAB9MZhdCpM8lC0Nm5l9il+pA9811qaeZLO6yveW6by2Hmbo6BU0Q 3MQKyhXJkLFAOwPR9qMAtr3rQ/Wyl4WsJ/kXIYBu7I7HjOxSHjNnZOMsvcLfCMC9 dcRmtHOPjuVbafiypZ88SekIS0U+deXg33mKaWhH7FrCFEFbXf6GTBzXh/hHKtBm icGTwGoOHX53fTgQ9GwC0XBpVBFbY5/gGr2KuzABecU2TeL3QqLl8tolsnBGVYun JJ9n+RP0dQ== =iQJC -----END PGP SIGNATURE----- Merge tag 'v0.23.7' release v0.23.7
This commit is contained in:
commit
122db76781
3
NEWS
3
NEWS
|
@ -11,10 +11,11 @@ ver 0.24 (not yet released)
|
||||||
* tags
|
* tags
|
||||||
- new tag "Mood"
|
- new tag "Mood"
|
||||||
|
|
||||||
ver 0.23.7 (not yet released)
|
ver 0.23.7 (2022/05/09)
|
||||||
* database
|
* database
|
||||||
- upnp: support pupnp 1.14
|
- upnp: support pupnp 1.14
|
||||||
* decoder
|
* decoder
|
||||||
|
- ffmpeg: fix HLS seeking
|
||||||
- opus: fix missing song length on high-latency files
|
- opus: fix missing song length on high-latency files
|
||||||
* output
|
* output
|
||||||
- shout: require at least libshout 2.4.0
|
- shout: require at least libshout 2.4.0
|
||||||
|
|
|
@ -549,6 +549,13 @@ Playback options
|
||||||
Sets repeat state to ``STATE``,
|
Sets repeat state to ``STATE``,
|
||||||
``STATE`` should be 0 or 1.
|
``STATE`` should be 0 or 1.
|
||||||
|
|
||||||
|
If enabled, MPD keeps repeating the whole queue (:ref:`single mode
|
||||||
|
<command_single>` disabled) or the current song (:ref:`single mode
|
||||||
|
<command_single>` enabled).
|
||||||
|
|
||||||
|
If :ref:`random mode <command_random>` is also enabled, the
|
||||||
|
playback order will be shuffled each time the queue gets repeated.
|
||||||
|
|
||||||
.. _command_setvol:
|
.. _command_setvol:
|
||||||
|
|
||||||
:command:`setvol {VOL}`
|
:command:`setvol {VOL}`
|
||||||
|
|
|
@ -380,14 +380,14 @@ ffmpeg = FfmpegProject(
|
||||||
)
|
)
|
||||||
|
|
||||||
openssl = OpenSSLProject(
|
openssl = OpenSSLProject(
|
||||||
'https://www.openssl.org/source/openssl-3.0.2.tar.gz',
|
'https://www.openssl.org/source/openssl-3.0.3.tar.gz',
|
||||||
'98e91ccead4d4756ae3c9cde5e09191a8e586d9f4d50838e7ec09d6411dfdb63',
|
'9384a2b0570dd80358841464677115df785edb941c71211f75076d72fe6b438f',
|
||||||
'include/openssl/ossl_typ.h',
|
'include/openssl/ossl_typ.h',
|
||||||
)
|
)
|
||||||
|
|
||||||
curl = CmakeProject(
|
curl = CmakeProject(
|
||||||
'https://curl.se/download/curl-7.82.0.tar.xz',
|
'https://curl.se/download/curl-7.83.0.tar.xz',
|
||||||
'0aaa12d7bd04b0966254f2703ce80dd5c38dbbd76af0297d3d690cdce58a583c',
|
'bbff0e6b5047e773f3c3b084d80546cc1be4e354c09e419c2d0ef6116253511a',
|
||||||
'lib/libcurl.a',
|
'lib/libcurl.a',
|
||||||
[
|
[
|
||||||
'-DBUILD_CURL_EXE=OFF',
|
'-DBUILD_CURL_EXE=OFF',
|
||||||
|
|
|
@ -473,7 +473,7 @@ static bool
|
||||||
IsSeekable(const AVFormatContext &format_context) noexcept
|
IsSeekable(const AVFormatContext &format_context) noexcept
|
||||||
{
|
{
|
||||||
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(58, 6, 100)
|
#if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(58, 6, 100)
|
||||||
return (format_context.ctx_flags & AVFMTCTX_UNSEEKABLE) != 0;
|
return (format_context.ctx_flags & AVFMTCTX_UNSEEKABLE) == 0;
|
||||||
#else
|
#else
|
||||||
(void)format_context;
|
(void)format_context;
|
||||||
return false;
|
return false;
|
||||||
|
@ -535,9 +535,8 @@ FfmpegDecode(DecoderClient &client, InputStream *input,
|
||||||
: FromFfmpegTimeChecked(format_context.duration, AV_TIME_BASE_Q);
|
: FromFfmpegTimeChecked(format_context.duration, AV_TIME_BASE_Q);
|
||||||
|
|
||||||
client.Ready(audio_format,
|
client.Ready(audio_format,
|
||||||
input
|
(input ? input->IsSeekable() : false)
|
||||||
? input->IsSeekable()
|
|| IsSeekable(format_context),
|
||||||
: IsSeekable(format_context),
|
|
||||||
total_time);
|
total_time);
|
||||||
|
|
||||||
FfmpegParseMetaData(client, format_context, audio_stream);
|
FfmpegParseMetaData(client, format_context, audio_stream);
|
||||||
|
|
|
@ -16,6 +16,7 @@ if not need_encoder
|
||||||
link_with: encoder_glue,
|
link_with: encoder_glue,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
configure_file(output: 'Features.h', configuration: encoder_features)
|
||||||
subdir_done()
|
subdir_done()
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue