diff options
| author | 2026-08-26 17:56:52 -0400 | |
|---|---|---|
| committer | 2026-08-26 17:56:52 -0400 | |
| commit | 197d41a3e23cab35848f623c6133baccc62aacbe (patch) | |
| tree | 04943c1de9653de53615e10ced1eab07c2562325 /src/server/server.c | |
| parent | 6094c907b26e21f13373bae6bf3306dbae40af3c (diff) | |
| download | camu-197d41a3e23cab35848f623c6133baccc62aacbe.tar.gz camu-197d41a3e23cab35848f623c6133baccc62aacbe.tar.bz2 camu-197d41a3e23cab35848f623c6133baccc62aacbe.zip | |
OSD stuff and Android fixes
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/server/server.c')
| -rw-r--r-- | src/server/server.c | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/server/server.c b/src/server/server.c index c547b5d..7781c05 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -12,6 +12,7 @@ #ifdef CAMU_HAVE_PORTAL #include "../portal/src/packet_ext.h" #endif +#include "../codec/packet_ext.h" #include "server.h" #include "common.h" @@ -334,7 +335,11 @@ static struct cch_entry *entry_from_post(struct camu_server *server, struct camu if (index <= post->media.count) { struct camu_post_media *media = &al_array_at(post->media, index); if (!al_str_is_empty(&media->url)) { +#ifdef NAUNET_HAS_CURL entry = cch_handler_http_create(&media->url, server->loop); +#else + (void)server; +#endif } } if (!entry) { @@ -528,6 +533,22 @@ static void client_portal_callback(void *userdata0, void *userdata1, struct camu } #endif +static void maybe_send_visual_data(struct camu_server *server, struct nn_rpc_connection *conn, u32 node_id) +{ + struct camu_resource *resource = get_resource_by_node_id(server, node_id); + if (resource) { + struct lia_visual_data *visual = &resource->node->visual; + if (!visual->samples) return; + struct nn_packet *packet = nn_rpc_get_packet(conn->rpc, CAMU_CLIENT_VISUAL_DATA); + nn_packet_write_u32(packet, node_id); + nn_packet_write_audio_format(packet, &visual->fmt); + nn_packet_write_u32(packet, visual->size); + NNWT_PACKET_WRITE_DATA(packet, visual->samples, visual->size); + nn_packet_write_u32(packet, visual->count); + nn_rpc_connection_command(conn, packet, NULL, NULL); + } +} + static bool client_command_callback(void *userdata, struct nn_rpc_connection *conn, struct nn_packet *packet, struct nn_packet *rpacket) { @@ -577,8 +598,7 @@ static bool client_command_callback(void *userdata, struct nn_rpc_connection *co #endif case CAMU_CLIENT_REQUEST_VISUAL_DATA: { u32 node_id = nn_packet_read_u32(packet); - struct camu_resource *resource = get_resource_by_node_id(server, node_id); - (void)resource; + maybe_send_visual_data(server, conn, node_id); break; } } @@ -1004,3 +1024,8 @@ void camu_server_local_add(struct camu_server *server, struct nn_packet *packet) { handle_add_command(server, al_array_last(server->lists), packet); } + +void camu_server_local_set_index(struct camu_server *server, u32 index) +{ + lia_list_skipto(al_array_last(server->lists), LIANA_SEQUENCE_ANY, index); +} |