summaryrefslogtreecommitdiff
path: root/src/fruits/cmc
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2025-06-23 17:49:11 -0400
committerAndrew Opalach <andrew@akon.city> 2025-06-23 17:49:11 -0400
commite0fcbf0910b52a6e66eb733a2850ec58a53cf0e3 (patch)
treea24ff2b9313263666d121536064e01436b480571 /src/fruits/cmc
parente9475ce94ba69bd437d8cf0cf3f78062be928568 (diff)
downloadcamu-e0fcbf0910b52a6e66eb733a2850ec58a53cf0e3.tar.gz
camu-e0fcbf0910b52a6e66eb733a2850ec58a53cf0e3.tar.bz2
camu-e0fcbf0910b52a6e66eb733a2850ec58a53cf0e3.zip
Improve FFmpeg hwaccel fallback, VR emulation
- Optimize sink seeking with single video frame. - Small cleanups. Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/fruits/cmc')
-rw-r--r--src/fruits/cmc/cmc.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/fruits/cmc/cmc.c b/src/fruits/cmc/cmc.c
index 0529f81..1baae8f 100644
--- a/src/fruits/cmc/cmc.c
+++ b/src/fruits/cmc/cmc.c
@@ -214,7 +214,7 @@ static void client_callback(void *userdata, u8 op, void *opaque)
u32 size = nn_packet_read_u32(packet);
u8 *ptr;
NNWT_PACKET_READ_DATA(packet, size, ptr);
- entry->raw.data = al_malloc(size);
+ entry->raw.data = (u8 *)al_malloc(size);
al_memcpy(entry->raw.data, ptr, size);
entry->raw.sample_count = nn_packet_read_u32(packet);
cmc_ui_queue_render(&c->ui);
@@ -269,7 +269,7 @@ s32 main(s32 argc, char *argv[])
al_array_init(c.cli.args);
if (!parse_command_line(argc, argv)) {
- return EXIT_FAILURE;
+ goto err;
}
nn_event_loop_init(&c.loop);
@@ -281,12 +281,18 @@ s32 main(s32 argc, char *argv[])
c.client.callback = client_callback;
c.client.userdata = &c;
if (!camu_client_login(&c.client, &al_str_c("andrew"), &c.loop, CAMU_TEST_TYPE, &CAMU_TEST_ADDR, CAMU_PORT)) {
- return EXIT_FAILURE;
+ goto err;
}
nn_event_loop_run(&c.loop);
cmc_ui_close(&c.ui);
+ nn_common_close();
+
return EXIT_SUCCESS;
+err:
+ nn_common_close();
+
+ return EXIT_FAILURE;
}