mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-02 09:01:46 -05:00
sink, source: improve state change logging
Now the old and new state is logged every time when the sink or source state changes.
This commit is contained in:
parent
94fc586c01
commit
eeee5664fa
5 changed files with 34 additions and 36 deletions
|
|
@ -196,40 +196,6 @@ char *pa_card_list_to_string(pa_core *c) {
|
||||||
return pa_strbuf_to_string_free(s);
|
return pa_strbuf_to_string_free(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *sink_state_to_string(pa_sink_state_t state) {
|
|
||||||
switch (state) {
|
|
||||||
case PA_SINK_INIT:
|
|
||||||
return "INIT";
|
|
||||||
case PA_SINK_RUNNING:
|
|
||||||
return "RUNNING";
|
|
||||||
case PA_SINK_SUSPENDED:
|
|
||||||
return "SUSPENDED";
|
|
||||||
case PA_SINK_IDLE:
|
|
||||||
return "IDLE";
|
|
||||||
case PA_SINK_UNLINKED:
|
|
||||||
return "UNLINKED";
|
|
||||||
default:
|
|
||||||
return "INVALID";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static const char *source_state_to_string(pa_source_state_t state) {
|
|
||||||
switch (state) {
|
|
||||||
case PA_SOURCE_INIT:
|
|
||||||
return "INIT";
|
|
||||||
case PA_SOURCE_RUNNING:
|
|
||||||
return "RUNNING";
|
|
||||||
case PA_SOURCE_SUSPENDED:
|
|
||||||
return "SUSPENDED";
|
|
||||||
case PA_SOURCE_IDLE:
|
|
||||||
return "IDLE";
|
|
||||||
case PA_SOURCE_UNLINKED:
|
|
||||||
return "UNLINKED";
|
|
||||||
default:
|
|
||||||
return "INVALID";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
char *pa_sink_list_to_string(pa_core *c) {
|
char *pa_sink_list_to_string(pa_core *c) {
|
||||||
pa_strbuf *s;
|
pa_strbuf *s;
|
||||||
pa_sink *sink;
|
pa_sink *sink;
|
||||||
|
|
@ -283,7 +249,7 @@ char *pa_sink_list_to_string(pa_core *c) {
|
||||||
sink->flags & PA_SINK_LATENCY ? "LATENCY " : "",
|
sink->flags & PA_SINK_LATENCY ? "LATENCY " : "",
|
||||||
sink->flags & PA_SINK_FLAT_VOLUME ? "FLAT_VOLUME " : "",
|
sink->flags & PA_SINK_FLAT_VOLUME ? "FLAT_VOLUME " : "",
|
||||||
sink->flags & PA_SINK_DYNAMIC_LATENCY ? "DYNAMIC_LATENCY" : "",
|
sink->flags & PA_SINK_DYNAMIC_LATENCY ? "DYNAMIC_LATENCY" : "",
|
||||||
sink_state_to_string(pa_sink_get_state(sink)),
|
pa_sink_state_to_string(pa_sink_get_state(sink)),
|
||||||
sink->suspend_cause & PA_SUSPEND_USER ? "USER " : "",
|
sink->suspend_cause & PA_SUSPEND_USER ? "USER " : "",
|
||||||
sink->suspend_cause & PA_SUSPEND_APPLICATION ? "APPLICATION " : "",
|
sink->suspend_cause & PA_SUSPEND_APPLICATION ? "APPLICATION " : "",
|
||||||
sink->suspend_cause & PA_SUSPEND_IDLE ? "IDLE " : "",
|
sink->suspend_cause & PA_SUSPEND_IDLE ? "IDLE " : "",
|
||||||
|
|
@ -396,7 +362,7 @@ char *pa_source_list_to_string(pa_core *c) {
|
||||||
source->flags & PA_SOURCE_DECIBEL_VOLUME ? "DECIBEL_VOLUME " : "",
|
source->flags & PA_SOURCE_DECIBEL_VOLUME ? "DECIBEL_VOLUME " : "",
|
||||||
source->flags & PA_SOURCE_LATENCY ? "LATENCY " : "",
|
source->flags & PA_SOURCE_LATENCY ? "LATENCY " : "",
|
||||||
source->flags & PA_SOURCE_DYNAMIC_LATENCY ? "DYNAMIC_LATENCY" : "",
|
source->flags & PA_SOURCE_DYNAMIC_LATENCY ? "DYNAMIC_LATENCY" : "",
|
||||||
source_state_to_string(pa_source_get_state(source)),
|
pa_source_state_to_string(pa_source_get_state(source)),
|
||||||
source->suspend_cause & PA_SUSPEND_USER ? "USER " : "",
|
source->suspend_cause & PA_SUSPEND_USER ? "USER " : "",
|
||||||
source->suspend_cause & PA_SUSPEND_APPLICATION ? "APPLICATION " : "",
|
source->suspend_cause & PA_SUSPEND_APPLICATION ? "APPLICATION " : "",
|
||||||
source->suspend_cause & PA_SUSPEND_IDLE ? "IDLE " : "",
|
source->suspend_cause & PA_SUSPEND_IDLE ? "IDLE " : "",
|
||||||
|
|
|
||||||
|
|
@ -427,6 +427,7 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pa_log_debug("%s: state: %s -> %s", s->name, pa_sink_state_to_string(s->state), pa_sink_state_to_string(state));
|
||||||
s->state = state;
|
s->state = state;
|
||||||
|
|
||||||
if (state != PA_SINK_UNLINKED) { /* if we enter UNLINKED state pa_sink_unlink() will fire the appropriate events */
|
if (state != PA_SINK_UNLINKED) { /* if we enter UNLINKED state pa_sink_unlink() will fire the appropriate events */
|
||||||
|
|
@ -2462,6 +2463,19 @@ unsigned pa_sink_check_suspend(pa_sink *s, pa_sink_input *ignore_input, pa_sourc
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *pa_sink_state_to_string(pa_sink_state_t state) {
|
||||||
|
switch (state) {
|
||||||
|
case PA_SINK_INIT: return "INIT";
|
||||||
|
case PA_SINK_IDLE: return "IDLE";
|
||||||
|
case PA_SINK_RUNNING: return "RUNNING";
|
||||||
|
case PA_SINK_SUSPENDED: return "SUSPENDED";
|
||||||
|
case PA_SINK_UNLINKED: return "UNLINKED";
|
||||||
|
case PA_SINK_INVALID_STATE: return "INVALID_STATE";
|
||||||
|
}
|
||||||
|
|
||||||
|
pa_assert_not_reached();
|
||||||
|
}
|
||||||
|
|
||||||
/* Called from the IO thread */
|
/* Called from the IO thread */
|
||||||
static void sync_input_volumes_within_thread(pa_sink *s) {
|
static void sync_input_volumes_within_thread(pa_sink *s) {
|
||||||
pa_sink_input *i;
|
pa_sink_input *i;
|
||||||
|
|
|
||||||
|
|
@ -476,6 +476,8 @@ unsigned pa_sink_check_suspend(pa_sink *s, pa_sink_input *ignore_input, pa_sourc
|
||||||
|
|
||||||
#define pa_sink_get_state(s) ((s)->state)
|
#define pa_sink_get_state(s) ((s)->state)
|
||||||
|
|
||||||
|
const char *pa_sink_state_to_string(pa_sink_state_t state);
|
||||||
|
|
||||||
/* Moves all inputs away, and stores them in pa_queue */
|
/* Moves all inputs away, and stores them in pa_queue */
|
||||||
pa_queue *pa_sink_move_all_start(pa_sink *s, pa_queue *q);
|
pa_queue *pa_sink_move_all_start(pa_sink *s, pa_queue *q);
|
||||||
void pa_sink_move_all_finish(pa_sink *s, pa_queue *q, bool save);
|
void pa_sink_move_all_finish(pa_sink *s, pa_queue *q, bool save);
|
||||||
|
|
|
||||||
|
|
@ -381,6 +381,7 @@ static int source_set_state(pa_source *s, pa_source_state_t state) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pa_log_debug("%s: state: %s -> %s", s->name, pa_source_state_to_string(s->state), pa_source_state_to_string(state));
|
||||||
s->state = state;
|
s->state = state;
|
||||||
|
|
||||||
if (state != PA_SOURCE_UNLINKED) { /* if we enter UNLINKED state pa_source_unlink() will fire the appropriate events */
|
if (state != PA_SOURCE_UNLINKED) { /* if we enter UNLINKED state pa_source_unlink() will fire the appropriate events */
|
||||||
|
|
@ -2014,6 +2015,19 @@ unsigned pa_source_check_suspend(pa_source *s, pa_source_output *ignore) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *pa_source_state_to_string(pa_source_state_t state) {
|
||||||
|
switch (state) {
|
||||||
|
case PA_SOURCE_INIT: return "INIT";
|
||||||
|
case PA_SOURCE_IDLE: return "IDLE";
|
||||||
|
case PA_SOURCE_RUNNING: return "RUNNING";
|
||||||
|
case PA_SOURCE_SUSPENDED: return "SUSPENDED";
|
||||||
|
case PA_SOURCE_UNLINKED: return "UNLINKED";
|
||||||
|
case PA_SOURCE_INVALID_STATE: return "INVALID_STATE";
|
||||||
|
}
|
||||||
|
|
||||||
|
pa_assert_not_reached();
|
||||||
|
}
|
||||||
|
|
||||||
/* Called from the IO thread */
|
/* Called from the IO thread */
|
||||||
static void sync_output_volumes_within_thread(pa_source *s) {
|
static void sync_output_volumes_within_thread(pa_source *s) {
|
||||||
pa_source_output *o;
|
pa_source_output *o;
|
||||||
|
|
|
||||||
|
|
@ -407,6 +407,8 @@ unsigned pa_source_check_suspend(pa_source *s, pa_source_output *ignore);
|
||||||
|
|
||||||
#define pa_source_get_state(s) ((pa_source_state_t) (s)->state)
|
#define pa_source_get_state(s) ((pa_source_state_t) (s)->state)
|
||||||
|
|
||||||
|
const char *pa_source_state_to_string(pa_source_state_t state);
|
||||||
|
|
||||||
/* Moves all inputs away, and stores them in pa_queue */
|
/* Moves all inputs away, and stores them in pa_queue */
|
||||||
pa_queue *pa_source_move_all_start(pa_source *s, pa_queue *q);
|
pa_queue *pa_source_move_all_start(pa_source *s, pa_queue *q);
|
||||||
void pa_source_move_all_finish(pa_source *s, pa_queue *q, bool save);
|
void pa_source_move_all_finish(pa_source *s, pa_queue *q, bool save);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue