diff options
Diffstat (limited to 'src/liana')
| -rw-r--r-- | src/liana/list.h | 17 | ||||
| -rw-r--r-- | src/liana/list_cmp.h | 26 | ||||
| -rw-r--r-- | src/liana/server.c | 3 | ||||
| -rw-r--r-- | src/liana/vcr.c | 16 |
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); |