Browse Source

libpulseaudio: do nothing to backend when unlinking suspended sink

android-5
Tom Yan 6 years ago
parent
commit
a74add2dc3
  1. 4
      packages/libpulseaudio/module-aaudio-sink.c
  2. 4
      packages/libpulseaudio/module-sles-sink.c

4
packages/libpulseaudio/module-aaudio-sink.c

@ -239,8 +239,8 @@ 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)) {
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

4
packages/libpulseaudio/module-sles-sink.c

@ -224,8 +224,8 @@ 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 || s->state == PA_SINK_INIT) &&
PA_SINK_IS_OPENED(state))

Loading…
Cancel
Save