Merge branch 'v0.22.x'

This commit is contained in:
Max Kellermann
2021-05-17 19:33:15 +02:00
18 changed files with 314 additions and 102 deletions

View File

@@ -118,7 +118,7 @@ AudioOutputControl::GetLogName() const noexcept
{
assert(!IsDummy());
return output->GetLogName();
return output ? output->GetLogName() : name.c_str();
}
Mixer *
@@ -364,7 +364,7 @@ AudioOutputControl::LockPlay() noexcept
void
AudioOutputControl::LockPauseAsync() noexcept
{
if (output->mixer != nullptr && !output->SupportsPause())
if (output && output->mixer != nullptr && !output->SupportsPause())
/* the device has no pause mode: close the mixer,
unless its "global" flag is set (checked by
mixer_auto_close()) */

View File

@@ -44,6 +44,10 @@ static constexpr unsigned MAX_PORTS = 16;
static constexpr size_t jack_sample_size = sizeof(jack_default_audio_sample_t);
#ifdef DYNAMIC_JACK
#include "lib/jack/Dynamic.hxx"
#endif // _WIN32
class JackOutput final : public AudioOutput {
/**
* libjack options passed to jack_client_open().
@@ -463,6 +467,10 @@ JackOutput::Disable() noexcept
static AudioOutput *
mpd_jack_init(EventLoop &, const ConfigBlock &block)
{
#ifdef DYNAMIC_JACK
LoadJackLibrary();
#endif
jack_set_error_function(mpd_jack_error);
#ifdef HAVE_JACK_SET_INFO_FUNCTION