]> git.alsa-project.org Git - alsa-plugins.git/commitdiff
pulse: Set PA_CONTEXT_NOAUTOSPAWN when fallback is available
authorTakashi Iwai <tiwai@suse.de>
Wed, 27 Jul 2011 07:32:12 +0000 (09:32 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 27 Jul 2011 07:33:03 +0000 (09:33 +0200)
Signed-off-by: Takashi Iwai <tiwai@suse.de>
pulse/ctl_pulse.c
pulse/pcm_pulse.c
pulse/pulse.c
pulse/pulse.h

index 8b5ff9e5086621f938af008dce33ddc6a23acdd9..242b77db4d7149ed9f96ba6e70de138e57adc87b 100644 (file)
@@ -712,7 +712,7 @@ SND_CTL_PLUGIN_DEFINE_FUNC(pulse)
                goto error;
        }
 
-       err = pulse_connect(ctl->p, server, !fallback_name);
+       err = pulse_connect(ctl->p, server, fallback_name != NULL);
        if (err < 0)
                goto error;
 
index 15b29e05483cedcec5d5672fd31143cbaacd4425..d6c6792f6d748c4101886d516963933bb8c70b4f 100644 (file)
@@ -1052,7 +1052,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(pulse)
 
        pcm->handle_underrun = handle_underrun;
 
-       err = pulse_connect(pcm->p, server, !fallback_name);
+       err = pulse_connect(pcm->p, server, fallback_name != NULL);
        if (err < 0)
                goto error;
 
index 6d9613d841ddd39887bd51a28b577f52beea4b1f..c34671b641607deaea6fea4103e434f93ebb4932 100644 (file)
@@ -188,13 +188,19 @@ void pulse_free(snd_pulse_t * p)
        free(p);
 }
 
-int pulse_connect(snd_pulse_t * p, const char *server, int show_error)
+int pulse_connect(snd_pulse_t * p, const char *server, int can_fallback)
 {
        int err;
+       pa_context_flags_t flags;
        pa_context_state_t state;
 
        assert(p);
 
+       if (can_fallback)
+               flags = PA_CONTEXT_NOAUTOSPAWN;
+       else
+               flags = 0;
+
        if (!p->context || !p->mainloop)
                return -EBADFD;
 
@@ -204,7 +210,7 @@ int pulse_connect(snd_pulse_t * p, const char *server, int show_error)
 
        pa_threaded_mainloop_lock(p->mainloop);
 
-       err = pa_context_connect(p->context, server, 0, NULL);
+       err = pa_context_connect(p->context, server, flags, NULL);
        if (err < 0)
                goto error;
 
@@ -225,7 +231,7 @@ int pulse_connect(snd_pulse_t * p, const char *server, int show_error)
        return 0;
 
       error:
-       if (show_error)
+       if (!can_fallback)
                SNDERR("PulseAudio: Unable to connect: %s\n",
                       pa_strerror(pa_context_errno(p->context)));
 
index 9f32a7f299f63f9dbd9ed7da7242b6c8f62afec2..9b337bc8f6107bddfcef55ce14b5c83d1bce6ad3 100644 (file)
@@ -42,7 +42,7 @@ int pulse_wait_operation(snd_pulse_t * p, pa_operation * o);
 snd_pulse_t *pulse_new(void);
 void pulse_free(snd_pulse_t * p);
 
-int pulse_connect(snd_pulse_t * p, const char *server, int show_error);
+int pulse_connect(snd_pulse_t * p, const char *server, int can_fallback);
 
 void pulse_poll_activate(snd_pulse_t * p);
 void pulse_poll_deactivate(snd_pulse_t * p);