Merge pull request #3467 from tomty89/libpulseaudio

libpulseaudio: fixes for #3391
This commit is contained in:
Fredrik Fornwall 2019-03-06 21:43:41 +01:00 committed by GitHub
commit d6d9fc7ad1
3 changed files with 9 additions and 8 deletions

View File

@ -2,7 +2,7 @@ TERMUX_PKG_HOMEPAGE=https://www.freedesktop.org/wiki/Software/PulseAudio
TERMUX_PKG_DESCRIPTION="A featureful, general-purpose sound server - shared libraries"
TERMUX_PKG_LICENSE="GPL-2.0"
TERMUX_PKG_VERSION=12.2
TERMUX_PKG_REVISION=12
TERMUX_PKG_REVISION=13
TERMUX_PKG_SHA256=809668ffc296043779c984f53461c2b3987a45b7a25eb2f0a1d11d9f23ba4055
TERMUX_PKG_SRCURL=https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-${TERMUX_PKG_VERSION}.tar.xz
TERMUX_PKG_DEPENDS="libltdl, libsndfile, libandroid-glob, libsoxr, speexdsp"

View File

@ -239,11 +239,12 @@ static int state_func_main(pa_sink *s, pa_sink_state_t state, pa_suspend_cause_t
static int state_func_io(pa_sink *s, pa_sink_state_t state, pa_suspend_cause_t suspend_cause) {
struct userdata *u = s->userdata;
if ((PA_SINK_IS_OPENED(s->thread_info.state) && state == PA_SINK_SUSPENDED) ||
(PA_SINK_IS_LINKED(s->thread_info.state) && state == PA_SINK_UNLINKED)) {
AAudioStream_requestStop(u->stream);
if (PA_SINK_IS_OPENED(s->thread_info.state) &&
(state == PA_SINK_SUSPENDED || state == PA_SINK_UNLINKED)) {
if (!u->no_close)
AAudioStream_close(u->stream);
else
AAudioStream_requestStop(u->stream);
} else if (s->thread_info.state == PA_SINK_SUSPENDED && PA_SINK_IS_OPENED(state)) {
if (AAudioStream_requestStart(u->stream) < 0)
pa_log("AAudioStream_requestStart() failed.");

View File

@ -224,11 +224,11 @@ finish:
static int state_func(pa_sink *s, pa_sink_state_t state, pa_suspend_cause_t suspend_cause) {
struct userdata *u = s->userdata;
if ((PA_SINK_IS_OPENED(s->state) && state == PA_SINK_SUSPENDED) ||
(PA_SINK_IS_LINKED(s->state) && state == PA_SINK_UNLINKED))
if (PA_SINK_IS_OPENED(s->state) &&
(state == PA_SINK_SUSPENDED || state == PA_SINK_UNLINKED))
(*u->bqPlayerPlay)->SetPlayState(u->bqPlayerPlay, SL_PLAYSTATE_STOPPED);
else if ((s->state == PA_SINK_SUSPENDED || state == PA_SINK_INIT) &&
PA_SINK_IS_LINKED(state))
else if ((s->state == PA_SINK_SUSPENDED || s->state == PA_SINK_INIT) &&
PA_SINK_IS_OPENED(state))
(*u->bqPlayerPlay)->SetPlayState(u->bqPlayerPlay, SL_PLAYSTATE_PLAYING);
return 0;
}