summaryrefslogtreecommitdiff
path: root/cras/src/server/cras_rclient.c
diff options
context:
space:
mode:
authorJorge E. Moreira <jemoreira@google.com>2021-02-08 17:59:31 -0800
committerJorge E. Moreira <jemoreira@google.com>2021-02-08 17:59:31 -0800
commitdc2b74a983c1182f9f4e05a8e6e91beb04792c51 (patch)
tree8c44572911d479dc6dca87dd1cc2e9eca46500ba /cras/src/server/cras_rclient.c
parentc8f8b3cd94220d03fcdee753d8fc762224c3d177 (diff)
parent9668bb7e705f4102e0558c522f1488a966a51826 (diff)
downloadadhd-dc2b74a983c1182f9f4e05a8e6e91beb04792c51.tar.gz
Merge branch 'upstream-master'
Change-Id: I25af576b68bcd95ee401067ee798e963f9a96264
Diffstat (limited to 'cras/src/server/cras_rclient.c')
-rw-r--r--cras/src/server/cras_rclient.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/cras/src/server/cras_rclient.c b/cras/src/server/cras_rclient.c
index 22fbb05c..d2646e75 100644
--- a/cras/src/server/cras_rclient.c
+++ b/cras/src/server/cras_rclient.c
@@ -59,9 +59,16 @@ int cras_rclient_send_message(const struct cras_rclient *client,
return client->ops->send_message_to_client(client, msg, fds, num_fds);
}
+static void cras_rclient_set_client_type(struct cras_rclient *client,
+ enum CRAS_CLIENT_TYPE client_type)
+{
+ client->client_type = client_type;
+}
+
struct cras_rclient *cras_rclient_create(int fd, size_t id,
enum CRAS_CONNECTION_TYPE conn_type)
{
+ struct cras_rclient *client;
if (!cras_validate_connection_type(conn_type))
goto error;
@@ -76,6 +83,14 @@ struct cras_rclient *cras_rclient_create(int fd, size_t id,
return cras_playback_rclient_create(fd, id);
case CRAS_VMS_UNIFIED:
return cras_unified_rclient_create(fd, id);
+ case CRAS_PLUGIN_PLAYBACK:
+ client = cras_playback_rclient_create(fd, id);
+ cras_rclient_set_client_type(client, CRAS_CLIENT_TYPE_PLUGIN);
+ return client;
+ case CRAS_PLUGIN_UNIFIED:
+ client = cras_unified_rclient_create(fd, id);
+ cras_rclient_set_client_type(client, CRAS_CLIENT_TYPE_PLUGIN);
+ return client;
default:
goto error;
}