summaryrefslogtreecommitdiff
path: root/src/liana
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2025-03-31 19:16:50 -0400
committerAndrew Opalach <andrew@akon.city> 2025-03-31 19:16:50 -0400
commitc8b3ed01a41c0215a4a33ce8468b162463129600 (patch)
treeb29fad1faf0d172e2e46be9a73f9b3bc73f8b29a /src/liana
parent2f34d806e42b6d6299ef46284466b98536485839 (diff)
downloadcamu-c8b3ed01a41c0215a4a33ce8468b162463129600.tar.gz
camu-c8b3ed01a41c0215a4a33ce8468b162463129600.tar.bz2
camu-c8b3ed01a41c0215a4a33ce8468b162463129600.zip
Overall style change, small fixes
- Tweak sink switch_to() order. Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/liana')
-rw-r--r--src/liana/list.h17
-rw-r--r--src/liana/list_cmp.h26
-rw-r--r--src/liana/server.c3
-rw-r--r--src/liana/vcr.c16
4 files changed, 37 insertions, 25 deletions
diff --git a/src/liana/list.h b/src/liana/list.h
index 754a4bd..70873ff 100644
--- a/src/liana/list.h
+++ b/src/liana/list.h
@@ -7,10 +7,10 @@
#define LIANA_SEQUENCE_ANY -1
#define LIANA_TIMESTAMP_INVALID ((u64)-1)
-#define LIANA_BASE_DELAY 500000Lu // 500ms
-#define LIANA_BASE_PING 125000Lu // 125ms
+#define LIANA_BASE_DELAY 500000u // 500ms
+#define LIANA_BASE_PING 125000u // 125ms
#define LIANA_PAUSE_DELAY LIANA_BASE_PING
-#define LIANA_DELAY_IGNORE 0Lu
+#define LIANA_DELAY_IGNORE 0u
#define LIANA_BUFFER_AHEAD 2
@@ -118,6 +118,17 @@ struct lia_list {
void *userdata;
};
+static inline const char *lia_pause_op_name(u8 pause)
+{
+ switch (pause) {
+ case LIANA_PAUSE_NONE: return "PAUSE_NONE";
+ case LIANA_PAUSE_RESUME: return "PAUSE_RESUME";
+ case LIANA_PAUSE_PAUSE: return "PAUSE_PAUSE";
+ case LIANA_PAUSE_BOTH: return "PAUSE_BOTH";
+ default: al_assert_and_return(NULL);
+ }
+}
+
void lia_list_init(struct lia_list *list, str *name);
void lia_list_pump(struct lia_list *list);
diff --git a/src/liana/list_cmp.h b/src/liana/list_cmp.h
index c9c0812..556f5dd 100644
--- a/src/liana/list_cmp.h
+++ b/src/liana/list_cmp.h
@@ -4,40 +4,40 @@
#include "list.h"
-AL_UNUSED_FUNCTION_PUSH
+AL_IGNORE_WARNING("-Wunused-function")
static void camu_db_num_from_path(wstr *path, s64 *id, s64 *index)
{
u32 last_slash = al_wstr_rfind(path, L'/');
- if (last_slash == al_wstr_npos) {
+ if (last_slash == AL_WSTR_NPOS) {
return;
}
- wstr temp = al_wstr_substr(path, last_slash + 1, path->length);
+ wstr sub = al_wstr_substr(path, last_slash + 1, path->length);
// Skip 2 '_' characters.
- if (!(al_wstr_tok(&temp, L'_') && al_wstr_tok(&temp, L'_'))) {
+ if (!(al_wstr_tok(&sub, L'_') && al_wstr_tok(&sub, L'_'))) {
return;
}
- u32 target = al_wstr_find(&temp, L'_');
- if (target == al_wstr_npos) {
+ u32 target = al_wstr_find(&sub, L'_');
+ if (target == AL_WSTR_NPOS) {
return;
}
- temp = al_wstr_substr(&temp, 0, target);
+ sub = al_wstr_substr(&sub, 0, target);
bool error;
- s64 num = al_wstr_to_long(&temp, 10, &error);
+ s64 num = al_wstr_to_long(&sub, 10, &error);
if (error) return;
*id = num;
u32 ext_dot = al_wstr_rfind(path, L'.');
- u32 media_a = al_wstr_rfind(path, 'a');
- if (ext_dot == al_wstr_npos || media_a == al_wstr_npos) {
+ u32 a_of_media = al_wstr_rfind(path, 'a');
+ if (ext_dot == AL_WSTR_NPOS || a_of_media == AL_WSTR_NPOS) {
return;
}
- temp = al_wstr_substr(path, media_a + 1, ext_dot);
+ sub = al_wstr_substr(path, a_of_media + 1, ext_dot);
- num = al_wstr_to_long(&temp, 10, &error);
+ num = al_wstr_to_long(&sub, 10, &error);
if (error) return;
*index = num;
}
@@ -60,4 +60,4 @@ static s32 camu_db_compare(const void *a, const void *b)
return 0;
}
-AL_UNUSED_FUNCTION_PUSH
+AL_IGNORE_WARNING_END
diff --git a/src/liana/server.c b/src/liana/server.c
index 808f810..6ab3532 100644
--- a/src/liana/server.c
+++ b/src/liana/server.c
@@ -118,8 +118,7 @@ static void free_connection(struct lia_node_connection *conn)
conn->handler->free(&conn->handler);
cch_entry_return_handle(conn->node->entry, &conn->handle);
nn_packet_pool_free(&conn->pool);
- bool removed;
- al_array_remove_checked(node->connections, conn, removed);
+ bool removed = al_array_remove(node->connections, conn);
al_assert(removed);
al_free(conn);
if (should_free_node(node)) {
diff --git a/src/liana/vcr.c b/src/liana/vcr.c
index a70a19a..ef2406c 100644
--- a/src/liana/vcr.c
+++ b/src/liana/vcr.c
@@ -1,3 +1,4 @@
+#define AL_LOG_SECTION "vcr"
#include <al/log.h>
#include "vcr.h"
@@ -103,7 +104,7 @@ static nn_thread_result NNWT_THREADCALL vcr_track_thread(void *userdata)
// NULL packet means flush.
bool success = track->client->handle_packet(track->client, packet);
if (!success) {
- al_log_error("liana", "Error handling packet, exiting track thread.");
+ error("Error handling packet, exiting track thread.");
return_entire_cache(track);
track->cache.disabled = true;
nn_packet_cache_unlock(&track->cache);
@@ -219,7 +220,7 @@ static void cork_if_buffered(struct lia_vcr *vcr, u64 buffer)
if (vcr->expand == VCR_EXPAND_UNTOUCHED) {
vcr->mark.buffered = buffer * 2;
vcr->expand = VCR_EXPAND_GROWN;
- al_log_info("vcr", "Expanded buffer to size %.2fMB.", vcr->mark.buffered / (f32)MB(1));
+ info("Expanded buffer to size %.2fMB.", vcr->mark.buffered / (f32)MB(1));
return;
} else if (vcr->expand == VCR_EXPAND_GROWN) {
vcr->mark.low = vcr->mark.buffered - MB(2);
@@ -252,7 +253,7 @@ static void update_metrics(struct lia_vcr *vcr, u32 size)
f32 kbps = (frame / 125.f) / (diff / 1000000.f);
f32 capacity = vcr->mark.buffered / (f32)MB(1);
f32 buffered = al_atomic_load(u64)(&vcr->count, AL_ATOMIC_RELAXED) / (f32)MB(1);
- al_log_info("vcr", "Receiving packets at %.2fkbps (%.2f/%.2fMB).", kbps, buffered, capacity);
+ info("Receiving packets at %.2fkbps (%.2f/%.2fMB).", kbps, buffered, capacity);
}
}
@@ -266,7 +267,7 @@ void lia_vcr_push_packet(struct lia_vcr *vcr, struct nn_packet *packet)
update_metrics(vcr, size);
track = get_track_from_index(vcr, nn_packet_read_s32(packet));
if (!track) {
- al_log_debug("liana", "Received data from errored or unknown track.");
+ debug("Received data from errored or unknown track.");
break;
}
if (VCR_TRACK_THREADED(track)) {
@@ -283,7 +284,7 @@ void lia_vcr_push_packet(struct lia_vcr *vcr, struct nn_packet *packet)
return;
} else {
if (!track->client->handle_packet(track->client, packet)) {
- al_log_warn("liana", "Error handling non-buffered packet.");
+ warn("Error handling non-buffered packet.");
}
}
break;
@@ -295,12 +296,13 @@ void lia_vcr_push_packet(struct lia_vcr *vcr, struct nn_packet *packet)
#ifndef CAMU_DIRECT_MODE
nn_signal_stop(&vcr->signal);
#endif
+ debug("Received EOF.");
break;
case LIANA_PACKET_ERROR:
- al_log_warn("liana", "Unhandled error packet.");
+ warn("Unhandled error packet.");
break;
default:
- al_log_warn("liana", "Erroneous packet.");
+ warn("Erroneous packet.");
break;
}
nn_packet_stream_return_packet(vcr->data, packet);