mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-04 13:29:59 -05:00
basic cli interface
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@22 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
eb946dbdbe
commit
993d1bce74
21 changed files with 505 additions and 49 deletions
35
src/source.c
35
src/source.c
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include "source.h"
|
||||
#include "sourceoutput.h"
|
||||
#include "strbuf.h"
|
||||
|
||||
struct source* source_new(struct core *core, const char *name, const struct sample_spec *spec) {
|
||||
struct source *s;
|
||||
|
|
@ -70,3 +71,37 @@ void source_post(struct source*s, struct memchunk *chunk) {
|
|||
|
||||
idxset_foreach(s->outputs, do_post, chunk);
|
||||
}
|
||||
|
||||
struct source* source_get_default(struct core *c) {
|
||||
struct source *source;
|
||||
assert(c);
|
||||
|
||||
if ((source = idxset_get_by_index(c->sources, c->default_source_index)))
|
||||
return source;
|
||||
|
||||
if (!(source = idxset_first(c->sources, &c->default_source_index)))
|
||||
return NULL;
|
||||
|
||||
fprintf(stderr, "core: default source vanished, setting to %u.\n", source->index);
|
||||
return source;
|
||||
}
|
||||
|
||||
char *source_list_to_string(struct core *c) {
|
||||
struct strbuf *s;
|
||||
struct source *source, *default_source;
|
||||
uint32_t index = IDXSET_INVALID;
|
||||
assert(c);
|
||||
|
||||
s = strbuf_new();
|
||||
assert(s);
|
||||
|
||||
strbuf_printf(s, "%u source(s) available.\n", idxset_ncontents(c->sources));
|
||||
|
||||
default_source = source_get_default(c);
|
||||
|
||||
for (source = idxset_first(c->sources, &index); source; source = idxset_next(c->sources, &index))
|
||||
strbuf_printf(s, " %c index: %u, name: <%s>\n", source == default_source ? '*' : ' ', source->index, source->name);
|
||||
|
||||
return strbuf_tostring_free(s);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue