mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-04 13:30:12 -05:00
pulse-server: make GET_SERVER_INFO accessible without manager
For example, pulseaudio.js[1] immediately sends a GET_SERVER_INFO request after AUTH, and only later issues a SET_CLIENT_NAME. See #1966. [1]: https://github.com/janakj/pulseaudio.js
This commit is contained in:
parent
1c3e45a584
commit
e35b9828d3
1 changed files with 4 additions and 5 deletions
|
|
@ -3146,13 +3146,12 @@ static int do_get_server_info(struct client *client, uint32_t command, uint32_t
|
||||||
{
|
{
|
||||||
struct impl *impl = client->impl;
|
struct impl *impl = client->impl;
|
||||||
struct pw_manager *manager = client->manager;
|
struct pw_manager *manager = client->manager;
|
||||||
struct pw_core_info *info = manager->info;
|
struct pw_core_info *info = manager ? manager->info : NULL;
|
||||||
char name[256];
|
char name[256];
|
||||||
struct message *reply;
|
struct message *reply;
|
||||||
|
|
||||||
pw_log_info("[%s] GET_SERVER_INFO tag:%u", client->name, tag);
|
pw_log_info("[%s] GET_SERVER_INFO tag:%u", client->name, tag);
|
||||||
|
|
||||||
|
|
||||||
snprintf(name, sizeof(name), "PulseAudio (on PipeWire %s)", pw_get_library_version());
|
snprintf(name, sizeof(name), "PulseAudio (on PipeWire %s)", pw_get_library_version());
|
||||||
|
|
||||||
reply = reply_new(client, tag);
|
reply = reply_new(client, tag);
|
||||||
|
|
@ -3162,8 +3161,8 @@ static int do_get_server_info(struct client *client, uint32_t command, uint32_t
|
||||||
TAG_STRING, pw_get_user_name(),
|
TAG_STRING, pw_get_user_name(),
|
||||||
TAG_STRING, pw_get_host_name(),
|
TAG_STRING, pw_get_host_name(),
|
||||||
TAG_SAMPLE_SPEC, &impl->defs.sample_spec,
|
TAG_SAMPLE_SPEC, &impl->defs.sample_spec,
|
||||||
TAG_STRING, get_default(client, true), /* default sink name */
|
TAG_STRING, manager ? get_default(client, true) : "", /* default sink name */
|
||||||
TAG_STRING, get_default(client, false), /* default source name */
|
TAG_STRING, manager ? get_default(client, false) : "", /* default source name */
|
||||||
TAG_U32, info ? info->cookie : 0, /* cookie */
|
TAG_U32, info ? info->cookie : 0, /* cookie */
|
||||||
TAG_INVALID);
|
TAG_INVALID);
|
||||||
|
|
||||||
|
|
@ -4869,7 +4868,7 @@ const struct command commands[COMMAND_MAX] =
|
||||||
COMMAND(PLAY_SAMPLE, do_play_sample),
|
COMMAND(PLAY_SAMPLE, do_play_sample),
|
||||||
COMMAND(REMOVE_SAMPLE, do_remove_sample),
|
COMMAND(REMOVE_SAMPLE, do_remove_sample),
|
||||||
|
|
||||||
COMMAND(GET_SERVER_INFO, do_get_server_info),
|
COMMAND(GET_SERVER_INFO, do_get_server_info, COMMAND_ACCESS_WITHOUT_MANAGER),
|
||||||
COMMAND(GET_SINK_INFO, do_get_info),
|
COMMAND(GET_SINK_INFO, do_get_info),
|
||||||
COMMAND(GET_SOURCE_INFO, do_get_info),
|
COMMAND(GET_SOURCE_INFO, do_get_info),
|
||||||
COMMAND(GET_MODULE_INFO, do_get_info),
|
COMMAND(GET_MODULE_INFO, do_get_info),
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue