log: add pw_log_topic_custom_enabled()

Add a function to check if a specfic custom log level has been defined
for a topic.

We can use this to dynamically check if we need to do the connection debug
messages.

We can also get rid of the conn.* pattern hack to disable connection
messages by default.
This commit is contained in:
Wim Taymans 2024-01-04 17:40:57 +01:00
parent 5152c98789
commit a3c6b3acae
8 changed files with 14 additions and 22 deletions

View file

@ -29,6 +29,8 @@
#include "server.h"
#include "stream.h"
PW_LOG_TOPIC_EXTERN(pulse_conn);
#define client_emit_disconnect(c) spa_hook_list_call(&(c)->listener_list, struct client_events, disconnect, 0)
struct client *client_new(struct server *server)
@ -232,7 +234,8 @@ static int client_try_flush_messages(struct client *client)
data = m->data + idx;
size = m->length - idx;
} else {
if (debug_messages && m->channel == SPA_ID_INVALID)
if (m->channel == SPA_ID_INVALID &&
pw_log_topic_custom_enabled(SPA_LOG_LEVEL_INFO, pulse_conn))
message_dump(SPA_LOG_LEVEL_INFO, m);
message_free(m, true, false);
client->out_index = 0;

View file

@ -82,8 +82,6 @@ void impl_add_listener(struct impl *impl,
struct spa_hook *listener,
const struct impl_events *events, void *data);
extern bool debug_messages;
void broadcast_subscribe_event(struct impl *impl, uint32_t mask, uint32_t event, uint32_t id);
#endif

View file

@ -73,10 +73,6 @@
#define TEMPORARY_MOVE_TIMEOUT (SPA_NSEC_PER_SEC)
PW_LOG_TOPIC_EXTERN(pulse_conn);
bool debug_messages = false;
struct latency_offset_data {
int64_t prev_latency_offset;
uint8_t initialized:1;
@ -5476,8 +5472,6 @@ struct pw_protocol_pulse *pw_protocol_pulse_new(struct pw_context *context,
const char *str;
int res = 0;
debug_messages = pw_log_topic_enabled(SPA_LOG_LEVEL_INFO, pulse_conn);
impl = calloc(1, sizeof(*impl) + user_data_size);
if (impl == NULL)
goto error_free_props;

View file

@ -46,6 +46,8 @@
#define LISTEN_BACKLOG 32
#define MAX_CLIENTS 64
PW_LOG_TOPIC_EXTERN(pulse_conn);
static int handle_packet(struct client *client, struct message *msg)
{
uint32_t command, tag;
@ -67,7 +69,7 @@ static int handle_packet(struct client *client, struct message *msg)
goto finish;
}
if (debug_messages) {
if (pw_log_topic_custom_enabled(SPA_LOG_LEVEL_INFO, pulse_conn)) {
pw_log_debug("client %p: command:%s", client, commands[command].name);
message_dump(SPA_LOG_LEVEL_INFO, msg);
}