Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
0643b5ab
Commit
0643b5ab
authored
Sep 25, 2019
by
Max Kellermann
Browse files
Options
Browse Files
Download
Plain Diff
Merge tag 'v0.21.15'
release v0.21.15
parents
d63e2c26
964804a4
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
69 additions
and
24 deletions
+69
-24
NEWS
NEWS
+7
-0
AndroidManifest.xml
android/AndroidManifest.xml
+2
-2
libs.py
python/build/libs.py
+12
-12
ReplayGainInfo.hxx
src/ReplayGainInfo.hxx
+11
-0
DsdiffDecoderPlugin.cxx
src/decoder/plugins/DsdiffDecoderPlugin.cxx
+2
-1
DsfDecoderPlugin.cxx
src/decoder/plugins/DsfDecoderPlugin.cxx
+2
-1
MpcdecDecoderPlugin.cxx
src/decoder/plugins/MpcdecDecoderPlugin.cxx
+26
-7
SolarisOutputPlugin.cxx
src/output/plugins/SolarisOutputPlugin.cxx
+7
-1
No files found.
NEWS
View file @
0643b5ab
...
...
@@ -31,6 +31,13 @@ ver 0.22 (not yet released)
* switch to C++17
- GCC 7 or clang 4 (or newer) recommended
ver 0.21.15 (2019/09/25)
* decoder
- dsdiff, dsf: fix displayed bit rate
- mpcdec: fix bogus ReplayGain values
* output
- solaris: fix build with glibc 2.30
ver 0.21.14 (2019/08/21)
* decoder
- sidplay: show track durations in database
...
...
android/AndroidManifest.xml
View file @
0643b5ab
...
...
@@ -2,8 +2,8 @@
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"org.musicpd"
android:installLocation=
"auto"
android:versionCode=
"3
7
"
android:versionName=
"0.21.1
4
"
>
android:versionCode=
"3
8
"
android:versionName=
"0.21.1
5
"
>
<uses-sdk
android:minSdkVersion=
"21"
android:targetSdkVersion=
"26"
/>
...
...
python/build/libs.py
View file @
0643b5ab
...
...
@@ -15,8 +15,8 @@ libmpdclient = MesonProject(
)
libogg
=
AutotoolsProject
(
'http://downloads.xiph.org/releases/ogg/libogg-1.3.
3
.tar.xz'
,
'
4f3fc6178a533d392064f14776b23c397ed4b9f48f5de297aba73b643f955c08
'
,
'http://downloads.xiph.org/releases/ogg/libogg-1.3.
4
.tar.xz'
,
'
c163bc12bc300c401b6aa35907ac682671ea376f13ae0969a220f7ddf71893fe
'
,
'lib/libogg.a'
,
[
'--disable-shared'
,
'--enable-static'
,
...
...
@@ -38,8 +38,8 @@ libvorbis = AutotoolsProject(
)
opus
=
AutotoolsProject
(
'https://archive.mozilla.org/pub/opus/opus-1.3.tar.gz'
,
'
4f3d69aefdf2dbaf9825408e452a8a414ffc60494c70633560700398820dc550
'
,
'https://archive.mozilla.org/pub/opus/opus-1.3.
1.
tar.gz'
,
'
65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d
'
,
'lib/libopus.a'
,
[
'--disable-shared'
,
'--enable-static'
,
...
...
@@ -112,8 +112,8 @@ liblame = AutotoolsProject(
)
ffmpeg
=
FfmpegProject
(
'http://ffmpeg.org/releases/ffmpeg-4.
1.3
.tar.xz'
,
'0
c3020452880581a8face91595b239198078645e7d7184273b8bcc7758beb63d
'
,
'http://ffmpeg.org/releases/ffmpeg-4.
2
.tar.xz'
,
'0
23f10831a97ad93d798f53a3640e55cd564abfeba807ecbe8524dac4fedecd5
'
,
'lib/libavcodec.a'
,
[
'--disable-shared'
,
'--enable-static'
,
...
...
@@ -341,8 +341,8 @@ ffmpeg = FfmpegProject(
)
curl
=
AutotoolsProject
(
'http://curl.haxx.se/download/curl-7.6
4.1
.tar.xz'
,
'
9252332a7f871ce37bfa7f78bdd0a0e3924d8187cc27cb57c76c9474a7168fb3
'
,
'http://curl.haxx.se/download/curl-7.6
5.3
.tar.xz'
,
'
f2d98854813948d157f6a91236ae34ca4a1b4cb302617cebad263d79b0235fea
'
,
'lib/libcurl.a'
,
[
'--disable-shared'
,
'--enable-static'
,
...
...
@@ -365,8 +365,8 @@ curl = AutotoolsProject(
)
libexpat
=
AutotoolsProject
(
'https://github.com/libexpat/libexpat/releases/download/R_2_2_
6/expat-2.2.6
.tar.bz2'
,
'
17b43c2716d521369f82fc2dc70f359860e90fa440bea65b3b85f0b246ea81f2
'
,
'https://github.com/libexpat/libexpat/releases/download/R_2_2_
7/expat-2.2.7
.tar.bz2'
,
'
cbc9102f4a31a8dafd42d642e9a3aa31e79a0aedaa1f6efd2795ebc83174ec18
'
,
'lib/libexpat.a'
,
[
'--disable-shared'
,
'--enable-static'
,
...
...
@@ -392,7 +392,7 @@ libnfs = AutotoolsProject(
)
boost
=
BoostProject
(
'http
://downloads.sourceforge.net/project/boost/boost/1.70.0/boost_1_70
_0.tar.bz2'
,
'
430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
'
,
'http
s://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71
_0.tar.bz2'
,
'
d73a8da01e8bf8c7eda40b4c84915071a8c8a0df4a6734537ddde4a8580524ee
'
,
'include/boost/version.hpp'
,
)
src/ReplayGainInfo.hxx
View file @
0643b5ab
...
...
@@ -38,6 +38,10 @@ struct ReplayGainTuple {
return
gain
>
-
100
;
}
static
constexpr
ReplayGainTuple
Undefined
()
noexcept
{
return
{
-
200.0
f
,
0.0
f
};
}
gcc_pure
float
CalculateScale
(
const
ReplayGainConfig
&
config
)
const
noexcept
;
};
...
...
@@ -49,6 +53,13 @@ struct ReplayGainInfo {
return
track
.
IsDefined
()
||
album
.
IsDefined
();
}
static
constexpr
ReplayGainInfo
Undefined
()
noexcept
{
return
{
ReplayGainTuple
::
Undefined
(),
ReplayGainTuple
::
Undefined
(),
};
}
const
ReplayGainTuple
&
Get
(
ReplayGainMode
mode
)
const
noexcept
{
return
mode
==
ReplayGainMode
::
ALBUM
?
(
album
.
IsDefined
()
?
album
:
track
)
...
...
src/decoder/plugins/DsdiffDecoderPlugin.cxx
View file @
0643b5ab
...
...
@@ -362,6 +362,7 @@ dsdiff_decode_chunk(DecoderClient &client, InputStream &is,
unsigned
channels
,
unsigned
sample_rate
,
const
offset_type
total_bytes
)
{
const
unsigned
kbit_rate
=
channels
*
sample_rate
/
1000
;
const
offset_type
start_offset
=
is
.
GetOffset
();
uint8_t
buffer
[
8192
];
...
...
@@ -408,7 +409,7 @@ dsdiff_decode_chunk(DecoderClient &client, InputStream &is,
bit_reverse_buffer
(
buffer
,
buffer
+
nbytes
);
cmd
=
client
.
SubmitData
(
is
,
buffer
,
nbytes
,
sample_rate
/
1000
);
kbit_rate
);
}
return
true
;
...
...
src/decoder/plugins/DsfDecoderPlugin.cxx
View file @
0643b5ab
...
...
@@ -255,6 +255,7 @@ dsf_decode_chunk(DecoderClient &client, InputStream &is,
offset_type
n_blocks
,
bool
bitreverse
)
{
const
unsigned
kbit_rate
=
channels
*
sample_rate
/
1000
;
const
size_t
block_size
=
channels
*
DSF_BLOCK_SIZE
;
const
offset_type
start_offset
=
is
.
GetOffset
();
...
...
@@ -290,7 +291,7 @@ dsf_decode_chunk(DecoderClient &client, InputStream &is,
cmd
=
client
.
SubmitData
(
is
,
interleaved_buffer
,
block_size
,
sample_rate
/
1000
);
kbit_rate
);
++
i
;
}
...
...
src/decoder/plugins/MpcdecDecoderPlugin.cxx
View file @
0643b5ab
...
...
@@ -136,6 +136,28 @@ mpc_to_mpd_buffer(MpcdecSampleTraits::pointer_type dest,
*
dest
++
=
mpc_to_mpd_sample
(
*
src
++
);
}
static
constexpr
ReplayGainTuple
ImportMpcdecReplayGain
(
mpc_uint16_t
gain
,
mpc_uint16_t
peak
)
noexcept
{
auto
t
=
ReplayGainTuple
::
Undefined
();
if
(
gain
!=
0
&&
peak
!=
0
)
{
t
.
gain
=
MPC_OLD_GAIN_REF
-
(
gain
/
256.
);
t
.
peak
=
pow
(
10
,
peak
/
256.
/
20
)
/
32767
;
}
return
t
;
}
static
constexpr
ReplayGainInfo
ImportMpcdecReplayGain
(
const
mpc_streaminfo
&
info
)
noexcept
{
auto
rgi
=
ReplayGainInfo
::
Undefined
();
rgi
.
album
=
ImportMpcdecReplayGain
(
info
.
gain_album
,
info
.
peak_album
);
rgi
.
track
=
ImportMpcdecReplayGain
(
info
.
gain_title
,
info
.
peak_title
);
return
rgi
;
}
static
void
mpcdec_decode
(
DecoderClient
&
client
,
InputStream
&
is
)
{
...
...
@@ -166,14 +188,11 @@ mpcdec_decode(DecoderClient &client, InputStream &is)
mpcdec_sample_format
,
info
.
channels
);
ReplayGainInfo
rgi
;
rgi
.
Clear
();
rgi
.
album
.
gain
=
MPC_OLD_GAIN_REF
-
(
info
.
gain_album
/
256.
);
rgi
.
album
.
peak
=
pow
(
10
,
info
.
peak_album
/
256.
/
20
)
/
32767
;
rgi
.
track
.
gain
=
MPC_OLD_GAIN_REF
-
(
info
.
gain_title
/
256.
);
rgi
.
track
.
peak
=
pow
(
10
,
info
.
peak_title
/
256.
/
20
)
/
32767
;
{
const
auto
rgi
=
ImportMpcdecReplayGain
(
info
);
if
(
rgi
.
IsDefined
())
client
.
SubmitReplayGain
(
&
rgi
);
}
client
.
Ready
(
audio_format
,
is
.
IsSeekable
(),
SongTime
::
FromS
(
mpc_streaminfo_get_length
(
&
info
)));
...
...
src/output/plugins/SolarisOutputPlugin.cxx
View file @
0643b5ab
...
...
@@ -22,7 +22,6 @@
#include "system/FileDescriptor.hxx"
#include "system/Error.hxx"
#include <sys/stropts.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
...
...
@@ -31,11 +30,18 @@
#ifdef __sun
#include <sys/audio.h>
#include <sys/stropts.h>
#else
/* some fake declarations that allow build this plugin on systems
other than Solaris, just to see if it compiles */
#include <sys/ioctl.h>
#ifndef I_FLUSH
#define I_FLUSH 0
#endif
#define AUDIO_GETINFO 0
#define AUDIO_SETINFO 0
#define AUDIO_ENCODING_LINEAR 0
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment