mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-10-31 22:25:33 -04:00
improve esound module
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@232 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
12949d0a65
commit
370ff1d7cd
2 changed files with 13 additions and 10 deletions
|
|
@ -122,7 +122,7 @@ static int esd_proto_stream_pan(struct connection *c, esd_proto_t request, const
|
||||||
static int esd_proto_sample_cache(struct connection *c, esd_proto_t request, const void *data, size_t length);
|
static int esd_proto_sample_cache(struct connection *c, esd_proto_t request, const void *data, size_t length);
|
||||||
static int esd_proto_sample_free_or_play(struct connection *c, esd_proto_t request, const void *data, size_t length);
|
static int esd_proto_sample_free_or_play(struct connection *c, esd_proto_t request, const void *data, size_t length);
|
||||||
static int esd_proto_sample_get_id(struct connection *c, esd_proto_t request, const void *data, size_t length);
|
static int esd_proto_sample_get_id(struct connection *c, esd_proto_t request, const void *data, size_t length);
|
||||||
static int esd_proto_noop(struct connection *c, esd_proto_t request, const void *data, size_t length);
|
static int esd_proto_standby_or_resume(struct connection *c, esd_proto_t request, const void *data, size_t length);
|
||||||
|
|
||||||
/* the big map of protocol handler info */
|
/* the big map of protocol handler info */
|
||||||
static struct proto_handler proto_map[ESD_PROTO_MAX] = {
|
static struct proto_handler proto_map[ESD_PROTO_MAX] = {
|
||||||
|
|
@ -134,17 +134,17 @@ static struct proto_handler proto_map[ESD_PROTO_MAX] = {
|
||||||
{ ESD_NAME_MAX + 2 * sizeof(int), esd_proto_stream_record, "stream rec" },
|
{ ESD_NAME_MAX + 2 * sizeof(int), esd_proto_stream_record, "stream rec" },
|
||||||
{ ESD_NAME_MAX + 2 * sizeof(int), esd_proto_stream_record, "stream mon" },
|
{ ESD_NAME_MAX + 2 * sizeof(int), esd_proto_stream_record, "stream mon" },
|
||||||
|
|
||||||
{ ESD_NAME_MAX + 3 * sizeof(int), esd_proto_sample_cache, "sample cache" },
|
{ ESD_NAME_MAX + 3 * sizeof(int), esd_proto_sample_cache, "sample cache" }, /* 6 */
|
||||||
{ sizeof(int), esd_proto_sample_free_or_play, "sample free" },
|
{ sizeof(int), esd_proto_sample_free_or_play, "sample free" },
|
||||||
{ sizeof(int), esd_proto_sample_free_or_play, "sample play" },
|
{ sizeof(int), esd_proto_sample_free_or_play, "sample play" }, /* 8 */
|
||||||
{ sizeof(int), NULL, "sample loop" },
|
{ sizeof(int), NULL, "sample loop" },
|
||||||
{ sizeof(int), NULL, "sample stop" },
|
{ sizeof(int), NULL, "sample stop" },
|
||||||
{ -1, NULL, "TODO: sample kill" },
|
{ -1, NULL, "TODO: sample kill" },
|
||||||
|
|
||||||
{ ESD_KEY_LEN + sizeof(int), esd_proto_noop, "standby" }, /* NOOP! */
|
{ ESD_KEY_LEN + sizeof(int), esd_proto_standby_or_resume, "standby" }, /* NOOP! */
|
||||||
{ ESD_KEY_LEN + sizeof(int), esd_proto_noop, "resume" }, /* NOOP! */
|
{ ESD_KEY_LEN + sizeof(int), esd_proto_standby_or_resume, "resume" }, /* NOOP! */ /* 13 */
|
||||||
|
|
||||||
{ ESD_NAME_MAX, esd_proto_sample_get_id, "sample getid" },
|
{ ESD_NAME_MAX, esd_proto_sample_get_id, "sample getid" }, /* 14 */
|
||||||
{ ESD_NAME_MAX + 2 * sizeof(int), NULL, "stream filter" },
|
{ ESD_NAME_MAX + 2 * sizeof(int), NULL, "stream filter" },
|
||||||
|
|
||||||
{ sizeof(int), esd_proto_server_info, "server info" },
|
{ sizeof(int), esd_proto_server_info, "server info" },
|
||||||
|
|
@ -655,11 +655,12 @@ static int esd_proto_sample_free_or_play(struct connection *c, esd_proto_t reque
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int esd_proto_noop(struct connection *c, esd_proto_t request, const void *data, size_t length) {
|
static int esd_proto_standby_or_resume(struct connection *c, esd_proto_t request, const void *data, size_t length) {
|
||||||
int *ok;
|
int *ok;
|
||||||
ok = connection_write(c, sizeof(int));
|
ok = connection_write(c, sizeof(int)*2);
|
||||||
assert(ok);
|
assert(ok);
|
||||||
*ok = 1;
|
ok[0] = 1;
|
||||||
|
ok[1] = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -697,6 +698,8 @@ static int do_read(struct connection *c) {
|
||||||
|
|
||||||
handler = proto_map+c->request;
|
handler = proto_map+c->request;
|
||||||
|
|
||||||
|
pa_log(__FILE__": executing request #%u\n", c->request);
|
||||||
|
|
||||||
if (!handler->proc) {
|
if (!handler->proc) {
|
||||||
pa_log(__FILE__": recieved unimplemented request #%u.\n", c->request);
|
pa_log(__FILE__": recieved unimplemented request #%u.\n", c->request);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
||||||
|
|
@ -237,7 +237,7 @@ uint32_t pa_scache_get_id_by_name(struct pa_core *c, const char *name) {
|
||||||
struct pa_scache_entry *e;
|
struct pa_scache_entry *e;
|
||||||
assert(c && name);
|
assert(c && name);
|
||||||
|
|
||||||
if (!(e = pa_namereg_get(c, name, PA_NAMEREG_SAMPLE, 1)))
|
if (!(e = pa_namereg_get(c, name, PA_NAMEREG_SAMPLE, 0)))
|
||||||
return PA_IDXSET_INVALID;
|
return PA_IDXSET_INVALID;
|
||||||
|
|
||||||
return e->index;
|
return e->index;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue