From 6d4bedfc568423af24a830cd7b582eb7349300eb Mon Sep 17 00:00:00 2001 From: aeolio Date: Tue, 14 Dec 2021 09:00:45 +0100 Subject: [PATCH 1/6] lib/alsa/Error: fix typo --- src/lib/alsa/Error.hxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/alsa/Error.hxx b/src/lib/alsa/Error.hxx index 4a827c403..0ba9292b3 100644 --- a/src/lib/alsa/Error.hxx +++ b/src/lib/alsa/Error.hxx @@ -50,4 +50,4 @@ MakeError(int error, const char *msg) noexcept return std::system_error(error, error_category, msg); } -} // namespace Avahi +} // namespace Alsa From 3856224df9160c201bc6d224aa927e7c358e3269 Mon Sep 17 00:00:00 2001 From: aeolio Date: Tue, 14 Dec 2021 09:01:23 +0100 Subject: [PATCH 2/6] lib/alsa/Error: add missing #include --- src/lib/alsa/Error.cxx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/alsa/Error.cxx b/src/lib/alsa/Error.cxx index cd351f37d..8ceb4417c 100644 --- a/src/lib/alsa/Error.cxx +++ b/src/lib/alsa/Error.cxx @@ -29,6 +29,7 @@ #include "Error.hxx" +#include #include namespace Alsa { From 49837033755dbfc9da951892a3a73c4ba4541602 Mon Sep 17 00:00:00 2001 From: Sam Bazley Date: Tue, 4 Jan 2022 11:19:52 +0000 Subject: [PATCH 3/6] Android: Detect output change with ACTION_AUDIO_BECOMING_NOISY Improves the changes made in 57687779befd796b79b1a569daf9e48eac3aea26 by using AudioManager.ACTION_AUDIO_BECOMING_NOISY rather than listening for wired headset unplug events or Bluetooth headset disconnect events. This method is more flexible, allowing the feature to work on other types of audio output device, as well as Bluetooth devices that don't set their device class correctly. This change also has the benefit of being more responsive, pausing the audio before it is rerouted to the built-in speaker. https://developer.android.com/guide/topics/media-apps/volume-and-earphones --- android/AndroidManifest.xml | 3 --- android/src/Main.java | 21 +++++---------------- 2 files changed, 5 insertions(+), 19 deletions(-) diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml index c375aa58b..46533971c 100644 --- a/android/AndroidManifest.xml +++ b/android/AndroidManifest.xml @@ -17,8 +17,6 @@ - - - diff --git a/android/src/Main.java b/android/src/Main.java index 4f314f8aa..e40f03195 100644 --- a/android/src/Main.java +++ b/android/src/Main.java @@ -24,14 +24,13 @@ import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Service; -import android.bluetooth.BluetoothDevice; -import android.bluetooth.BluetoothClass; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.ServiceConnection; +import android.media.AudioManager; import android.os.Build; import android.os.IBinder; import android.os.PowerManager; @@ -200,24 +199,14 @@ public class Main extends Service implements Runnable { return; IntentFilter filter = new IntentFilter(); - filter.addAction(Intent.ACTION_HEADSET_PLUG); - filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECT_REQUESTED); - filter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED); + filter.addAction(AudioManager.ACTION_AUDIO_BECOMING_NOISY); registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - if (!mPauseOnHeadphonesDisconnect) { + if (!mPauseOnHeadphonesDisconnect) return; - } - - if (intent.getAction().equals(Intent.ACTION_HEADSET_PLUG)) { - if (intent.hasExtra("state") && intent.getIntExtra("state", 0) == 0) - pause(); - } else { - BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); - if (device.getBluetoothClass().hasService(BluetoothClass.Service.AUDIO)) - pause(); - } + if (intent.getAction() == AudioManager.ACTION_AUDIO_BECOMING_NOISY) + pause(); } }, filter); From fbecb05bf47dfdda61dac953b78f998273772b0d Mon Sep 17 00:00:00 2001 From: Sam Bazley Date: Sun, 26 Dec 2021 15:36:30 +0000 Subject: [PATCH 4/6] Fix Android build error: needs_exe_wrapper lib/src/libmpdclient-2.19/meson.build:1:0: ERROR: Unknown options: "needs_exe_wrapper" The "needs_exe_wrapper" option was incorrectly set under [built-in options] rather than [properties]. --- python/build/meson.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/python/build/meson.py b/python/build/meson.py index bb0b55a3f..2ad2904bb 100644 --- a/python/build/meson.py +++ b/python/build/meson.py @@ -53,19 +53,21 @@ pkgconfig = '{toolchain.pkg_config}' f.write(f""" [properties] root = '{toolchain.install_prefix}' - -[built-in options] -c_args = {repr((toolchain.cppflags + ' ' + toolchain.cflags).split())} -c_link_args = {repr(toolchain.ldflags.split() + toolchain.libs.split())} - -cpp_args = {repr((toolchain.cppflags + ' ' + toolchain.cxxflags).split())} -cpp_link_args = {repr(toolchain.ldflags.split() + toolchain.libs.split())} """) if 'android' in toolchain.arch: f.write(""" # Keep Meson from executing Android-x86 test binariees needs_exe_wrapper = true +""") + + f.write(f""" +[built-in options] +c_args = {repr((toolchain.cppflags + ' ' + toolchain.cflags).split())} +c_link_args = {repr(toolchain.ldflags.split() + toolchain.libs.split())} + +cpp_args = {repr((toolchain.cppflags + ' ' + toolchain.cxxflags).split())} +cpp_link_args = {repr(toolchain.ldflags.split() + toolchain.libs.split())} """) f.write(f""" From 86e9ed5f3a26c07da950b83081009ef3cb3b0d70 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 26 Jan 2022 14:41:24 +0100 Subject: [PATCH 5/6] decoder/opus: fix "readpicture" on Opus files Don't return early from ScanOpusTags() if only TagHandler::WantPicture() is set. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1413 --- NEWS | 2 ++ src/decoder/plugins/OpusTags.cxx | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 4d2c4204e..a78b30fa0 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ ver 0.23.6 (not yet released) +* decoder + - opus: fix "readpicture" on Opus files ver 0.23.5 (2021/12/01) * protocol diff --git a/src/decoder/plugins/OpusTags.cxx b/src/decoder/plugins/OpusTags.cxx index 74f2c0997..ab9fe8d48 100644 --- a/src/decoder/plugins/OpusTags.cxx +++ b/src/decoder/plugins/OpusTags.cxx @@ -91,7 +91,8 @@ ScanOpusTags(const void *data, size_t size, if (!r.Expect("OpusTags", 8)) return false; - if (!handler.WantPair() && !handler.WantTag()) + if (!handler.WantPair() && !handler.WantTag() && + !handler.WantPicture()) return true; if (!r.SkipString()) From 108ce95b7c01d582fb149e76b1633a691ad6c2d8 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 13 Jan 2022 00:23:30 +0100 Subject: [PATCH 6/6] android/Receiver: fix indent --- android/src/Receiver.java | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/android/src/Receiver.java b/android/src/Receiver.java index 6a6685720..1ba537ca6 100644 --- a/android/src/Receiver.java +++ b/android/src/Receiver.java @@ -25,16 +25,18 @@ import android.content.Intent; import android.util.Log; public class Receiver extends BroadcastReceiver { - @Override - public void onReceive(Context context, Intent intent) { - Log.d("Receiver", "onReceive: " + intent); - if (intent.getAction() == "android.intent.action.BOOT_COMPLETED") { - if (Settings.Preferences.getBoolean(context, - Settings.Preferences.KEY_RUN_ON_BOOT, false)) { - final boolean wakelock = Settings.Preferences.getBoolean(context, - Settings.Preferences.KEY_WAKELOCK, false); - Main.start(context, wakelock); - } - } - } + @Override + public void onReceive(Context context, Intent intent) { + Log.d("Receiver", "onReceive: " + intent); + if (intent.getAction() == "android.intent.action.BOOT_COMPLETED") { + if (Settings.Preferences.getBoolean(context, + Settings.Preferences.KEY_RUN_ON_BOOT, + false)) { + final boolean wakelock = + Settings.Preferences.getBoolean(context, + Settings.Preferences.KEY_WAKELOCK, false); + Main.start(context, wakelock); + } + } + } }