Name: pulseaudio
Summary: Improved Linux sound server
Version: 15.0
-Release: 27
+Release: 28
Group: Multimedia/Audio
License: LGPL-2.1
URL: http://pulseaudio.org
.realtime_scheduling = true,
.realtime_priority = 5, /* Half of JACK's default rtprio */
#ifdef TIZEN_EMPTY_POP
- .empty_pop_threshold = 10,
+ .empty_pop_threshold = 60,
#endif
.disallow_module_loading = false,
.disallow_exit = false,
void pa_core_dump_sink_inputs(pa_core *core) {
pa_sink_input *si = NULL;
uint32_t idx = 0;
+ unsigned int i = 0;
+
+ if (pa_idxset_isempty(core->sink_inputs)) {
+ pa_log_warn("No sink-input to dump");
+ return;
+ }
- pa_log_warn(">> Start dumping (%u) sink-inputs", pa_idxset_size(core->sink_inputs));
PA_IDXSET_FOREACH(si, core->sink_inputs, idx)
- pa_sink_input_dump_info(si);
- pa_log_warn("<< Dump finished!");
+ pa_sink_input_dump_info(si, ++i, pa_idxset_size(core->sink_inputs));
}
+
+void pa_core_dump_source_outputs(pa_core *core) {
+ pa_source_output *so = NULL;
+ uint32_t idx = 0;
+ unsigned int i = 0;
+
+ if (pa_idxset_isempty(core->source_outputs)) {
+ pa_log_warn("No source-output to dump");
+ return;
+ }
+
+ PA_IDXSET_FOREACH(so, core->source_outputs, idx)
+ pa_source_output_dump_info(so, ++i, pa_idxset_size(core->source_outputs));
+}
+
#endif
#ifdef __TIZEN__
void pa_core_dump_sink_inputs(pa_core *core);
+void pa_core_dump_source_outputs(pa_core *core);
#endif
#endif
}
#ifdef __TIZEN__
-void pa_sink_input_dump_info(pa_sink_input *i) {
+void pa_sink_input_dump_info(pa_sink_input *i, unsigned int iteration, unsigned int total) {
pa_assert(i);
- pa_log_warn("#%4u: client(%5d), sink(%2u), state(%d), muted(%d), app(pid:%s, org:%s, binary:%s), media(name:%s, role:%s)",
- i->index,
+ pa_log_warn(" #(%2u/%2u), index(%4u), client(%5d), sink(%2u), state(%d), muted(%s)"
+ ", app(%s, %s), media(name:%s, role:%s)",
+ iteration, total, i->index,
i->client ? (int)i->client->index : -1,
- i->sink->index, i->state, i->muted,
- pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_PROCESS_ID),
- pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_PROCESS_ID_ORIGIN),
- pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_PROCESS_BINARY),
- pa_proplist_gets(i->proplist, PA_PROP_MEDIA_NAME),
- pa_proplist_gets(i->proplist, PA_PROP_MEDIA_ROLE));
+ i->sink->index, i->state, pa_yes_no(i->muted),
+ pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_PROCESS_ID)),
+ pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_APPLICATION_PROCESS_BINARY)),
+ pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_MEDIA_NAME)),
+ pa_strnull(pa_proplist_gets(i->proplist, PA_PROP_MEDIA_ROLE)));
}
#endif
#ifdef __TIZEN__
void pa_sink_input_update_empty_pop(pa_sink_input *i, size_t length, bool *is_timeout);
-void pa_sink_input_dump_info(pa_sink_input *i);
+void pa_sink_input_dump_info(pa_sink_input *i, unsigned int iteration, unsigned int total);
#endif
#define pa_sink_input_assert_io_context(s) \
pa_source_output_move_to(o, o->core->default_source, false);
}
}
+
+#ifdef __TIZEN__
+void pa_source_output_dump_info(pa_source_output *o, unsigned int iteration, unsigned int total) {
+ pa_assert(o);
+
+ pa_log_warn(" #(%2u/%2u), index(%4u), client(%5d), source(%2u), state(%d), muted(%s)"
+ ", app(%s, %s), media(name:%s, role:%s)",
+ iteration, total, o->index,
+ o->client ? (int)o->client->index : -1,
+ o->source->index, o->state, pa_yes_no(o->muted),
+ pa_strnull(pa_proplist_gets(o->proplist, PA_PROP_APPLICATION_PROCESS_ID)),
+ pa_strnull(pa_proplist_gets(o->proplist, PA_PROP_APPLICATION_PROCESS_BINARY)),
+ pa_strnull(pa_proplist_gets(o->proplist, PA_PROP_MEDIA_NAME)),
+ pa_strnull(pa_proplist_gets(o->proplist, PA_PROP_MEDIA_ROLE)));
+}
+#endif
\ No newline at end of file
void pa_source_output_set_preferred_source(pa_source_output *o, pa_source *s);
+#ifdef __TIZEN__
+void pa_source_output_dump_info(pa_source_output *o, unsigned int iteration, unsigned int total);
+#endif
+
#define pa_source_output_assert_io_context(s) \
pa_assert(pa_thread_mq_get() || !PA_SOURCE_OUTPUT_IS_LINKED((s)->state))