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
3fc859c4
Commit
3fc859c4
authored
Feb 04, 2020
by
Max Kellermann
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'v0.21.x'
parents
4b0444e7
f1ad21d2
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
39 additions
and
16 deletions
+39
-16
NEWS
NEWS
+6
-0
AndroidManifest.xml
android/AndroidManifest.xml
+2
-2
AudiofileDecoderPlugin.cxx
src/decoder/plugins/AudiofileDecoderPlugin.cxx
+2
-0
FfmpegDecoderPlugin.cxx
src/decoder/plugins/FfmpegDecoderPlugin.cxx
+4
-3
MadDecoderPlugin.cxx
src/decoder/plugins/MadDecoderPlugin.cxx
+1
-1
OggDecoder.cxx
src/decoder/plugins/OggDecoder.cxx
+5
-1
SndfileDecoderPlugin.cxx
src/decoder/plugins/SndfileDecoderPlugin.cxx
+2
-0
OggFind.cxx
src/lib/xiph/OggFind.cxx
+3
-2
OggFind.hxx
src/lib/xiph/OggFind.hxx
+4
-1
DumpDecoderClient.cxx
test/DumpDecoderClient.cxx
+3
-3
meson.build
test/meson.build
+7
-3
No files found.
NEWS
View file @
3fc859c4
...
...
@@ -35,6 +35,12 @@ ver 0.22 (not yet released)
* switch to C++17
- GCC 7 or clang 4 (or newer) recommended
ver 0.21.20 (not yet released)
* decoder
- audiofile, ffmpeg, sndfile: handle MIME type "audio/wav"
- ffmpeg: fix playback of AIFF and TTA
- vorbis, opus: fix seeking in small files
ver 0.21.19 (2020/01/17)
* configuration
- allow overriding top-level settings in includes
...
...
android/AndroidManifest.xml
View file @
3fc859c4
...
...
@@ -2,8 +2,8 @@
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"org.musicpd"
android:installLocation=
"auto"
android:versionCode=
"4
2
"
android:versionName=
"0.21.
19
"
>
android:versionCode=
"4
3
"
android:versionName=
"0.21.
20
"
>
<uses-sdk
android:minSdkVersion=
"21"
android:targetSdkVersion=
"28"
/>
...
...
src/decoder/plugins/AudiofileDecoderPlugin.cxx
View file @
3fc859c4
...
...
@@ -269,6 +269,8 @@ static const char *const audiofile_suffixes[] = {
};
static
const
char
*
const
audiofile_mime_types
[]
=
{
"audio/wav"
,
"audio/aiff"
,
"audio/x-wav"
,
"audio/x-aiff"
,
nullptr
...
...
src/decoder/plugins/FfmpegDecoderPlugin.cxx
View file @
3fc859c4
...
...
@@ -698,7 +698,7 @@ static const char *const ffmpeg_mime_types[] = {
"audio/aac"
,
"audio/aacp"
,
"audio/ac3"
,
"audio/aiff"
"audio/aiff"
,
"audio/amr"
,
"audio/basic"
,
"audio/flac"
,
...
...
@@ -711,12 +711,13 @@ static const char *const ffmpeg_mime_types[] = {
"audio/qcelp"
,
"audio/vorbis"
,
"audio/vorbis+ogg"
,
"audio/wav"
,
"audio/x-8svx"
,
"audio/x-16sv"
,
"audio/x-aac"
,
"audio/x-ac3"
,
"audio/x-adx"
,
"audio/x-aiff"
"audio/x-aiff"
,
"audio/x-alaw"
,
"audio/x-au"
,
"audio/x-dca"
,
...
...
@@ -736,7 +737,7 @@ static const char *const ffmpeg_mime_types[] = {
"audio/x-pn-realaudio"
,
"audio/x-pn-multirate-realaudio"
,
"audio/x-speex"
,
"audio/x-tta"
"audio/x-tta"
,
"audio/x-voc"
,
"audio/x-wav"
,
"audio/x-wma"
,
...
...
src/decoder/plugins/MadDecoderPlugin.cxx
View file @
3fc859c4
...
...
@@ -760,7 +760,7 @@ MadDecoder::DecodeFirstFrame(Tag *tag) noexcept
if
(
max_frames
>
8
*
1024
*
1024
)
{
FormatWarning
(
mad_domain
,
"mp3 file header indicates too many frames: %
l
u"
,
"mp3 file header indicates too many frames: %
z
u"
,
max_frames
);
return
false
;
}
...
...
src/decoder/plugins/OggDecoder.cxx
View file @
3fc859c4
...
...
@@ -45,8 +45,12 @@ OggDecoder::LoadEndPacket(ogg_packet &packet) const
DecoderReader
reader
(
client
,
input_stream
);
OggSyncState
sync2
(
reader
);
OggStreamState
stream2
(
GetSerialNo
());
/* passing synced=false because we're inside an
OggVisitor callback, and our InputStream may be in
the middle of an Ogg packet */
result
=
OggSeekFindEOS
(
sync2
,
stream2
,
packet
,
input_stream
);
input_stream
,
false
);
}
/* restore the previous file position */
...
...
src/decoder/plugins/SndfileDecoderPlugin.cxx
View file @
3fc859c4
...
...
@@ -323,6 +323,8 @@ static const char *const sndfile_suffixes[] = {
};
static
const
char
*
const
sndfile_mime_types
[]
=
{
"audio/wav"
,
"audio/aiff"
,
"audio/x-wav"
,
"audio/x-aiff"
,
...
...
src/lib/xiph/OggFind.cxx
View file @
3fc859c4
...
...
@@ -57,13 +57,14 @@ OggSeekPageAtOffset(OggSyncState &oy, ogg_stream_state &os, InputStream &is,
bool
OggSeekFindEOS
(
OggSyncState
&
oy
,
ogg_stream_state
&
os
,
ogg_packet
&
packet
,
InputStream
&
is
)
InputStream
&
is
,
bool
synced
)
{
if
(
!
is
.
KnownSize
())
return
false
;
if
(
is
.
GetRest
()
<
65536
)
return
OggFindEOS
(
oy
,
os
,
packet
);
return
(
synced
||
oy
.
ExpectPageSeekIn
(
os
))
&&
OggFindEOS
(
oy
,
os
,
packet
);
if
(
!
is
.
CheapSeeking
())
return
false
;
...
...
src/lib/xiph/OggFind.hxx
View file @
3fc859c4
...
...
@@ -47,10 +47,13 @@ OggSeekPageAtOffset(OggSyncState &oy, ogg_stream_state &os, InputStream &is,
* Try to find the end-of-stream (EOS) packet. Seek to the end of the
* file if necessary.
*
* @param synced is the #OggSyncState currently synced? If not, then
* we need to use ogg_sync_pageseek() instead of ogg_sync_pageout(),
* which is more expensive
* @return true if the EOS packet was found
*/
bool
OggSeekFindEOS
(
OggSyncState
&
oy
,
ogg_stream_state
&
os
,
ogg_packet
&
packet
,
InputStream
&
is
);
InputStream
&
is
,
bool
synced
=
true
);
#endif
test/DumpDecoderClient.cxx
View file @
3fc859c4
...
...
@@ -28,15 +28,15 @@
void
DumpDecoderClient
::
Ready
(
const
AudioFormat
audio_format
,
gcc_unused
bool
seekable
,
bool
seekable
,
SignedSongTime
duration
)
noexcept
{
assert
(
!
initialized
);
assert
(
audio_format
.
IsValid
());
fprintf
(
stderr
,
"audio_format=%s duration=%f
\n
"
,
fprintf
(
stderr
,
"audio_format=%s duration=%f
seekable=%d
\n
"
,
ToString
(
audio_format
).
c_str
(),
duration
.
ToDoubleS
());
duration
.
ToDoubleS
()
,
seekable
);
initialized
=
true
;
}
...
...
test/meson.build
View file @
3fc859c4
...
...
@@ -6,10 +6,14 @@ if compiler.get_id() == 'gcc'
gtest_compile_args += [
'-Wno-suggest-attribute=format',
'-Wno-suggest-attribute=noreturn',
'-Wno-missing-declarations',
]
endif
# needed on Jessie for gtest's IsNullLiteralHelper
'-Wno-conversion-null',
if compiler.get_id() == 'clang' and compiler.version().version_compare('>=9')
gtest_compile_args += [
# work around clang warning caused by GTest's wrong "-lpthread"
# compiler flag
'-Wno-unused-command-line-argument',
]
endif
...
...
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