diff options
| author | 2024-05-25 20:22:59 -0400 | |
|---|---|---|
| committer | 2024-05-25 20:22:59 -0400 | |
| commit | 2f9a0945bfeee3296cec3d38d094e4c49f9cb65f (patch) | |
| tree | ce80b220accbb44920932b1a2a6ca49ed31752a4 /src/fruits | |
| parent | 90e0930d820972802d1bb2fb27d7dded304483d6 (diff) | |
| download | camu-2f9a0945bfeee3296cec3d38d094e4c49f9cb65f.tar.gz camu-2f9a0945bfeee3296cec3d38d094e4c49f9cb65f.tar.bz2 camu-2f9a0945bfeee3296cec3d38d094e4c49f9cb65f.zip | |
wip
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/fruits')
| -rw-r--r-- | src/fruits/sink/sink.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/fruits/sink/sink.c b/src/fruits/sink/sink.c index cbd82bd..2b3d451 100644 --- a/src/fruits/sink/sink.c +++ b/src/fruits/sink/sink.c @@ -129,7 +129,13 @@ static void screen_callback(void *userdata, u8 op, f64 float0) static aki_thread_result AKI_THREADCALL event_loop_thread(void *userdata) { struct cmv *c = (struct cmv *)userdata; - aki_event_loop_run(&c->loop); + aki_event_loop_init(&c->loop); + camu_sink_init(&c->sink, &c->loop, &c->mixer, c->renderer); + c->sink.callback = sink_callback; + c->sink.userdata = c; + if (camu_sink_connect(&c->sink, CAMU_SERVER_IP, CAMU_PORT)) { + aki_event_loop_run(&c->loop); + } aki_event_loop_destroy(&c->loop); return 0; } @@ -154,8 +160,6 @@ s32 wmain(s32 argc, wchar_t **argv) signal(SIGINT, sigint_handler); - aki_event_loop_init(&c.loop); - c.scr.callback = screen_callback; c.scr.userdata = &c; if (!camu_screen_init(&c.scr) || !camu_screen_create_window(&c.scr, "cmv")) { @@ -172,13 +176,6 @@ s32 wmain(s32 argc, wchar_t **argv) goto err; } - camu_sink_init(&c.sink, &c.loop, &c.mixer, c.renderer); - c.sink.callback = sink_callback; - c.sink.userdata = &c; - if (!camu_sink_connect(&c.sink, CAMU_SERVER_IP, CAMU_PORT)) { - goto err; - } - struct aki_thread thread0; aki_thread_create(&thread0, event_loop_thread, &c); @@ -206,7 +203,6 @@ s32 wmain(s32 argc, wchar_t **argv) return EXIT_SUCCESS; err: - aki_event_loop_destroy(&c.loop); aki_common_close(); return EXIT_FAILURE; } |