summaryrefslogtreecommitdiff
path: root/src/fruits
diff options
context:
space:
mode:
Diffstat (limited to 'src/fruits')
-rw-r--r--src/fruits/cmv/cmv.c6
-rw-r--r--src/fruits/ctv/ctv.c56
-rw-r--r--src/fruits/droid/ctv/app/src/main/AndroidManifest.xml1
-rw-r--r--src/fruits/droid/ctv/gradle/libs.versions.toml2
4 files changed, 40 insertions, 25 deletions
diff --git a/src/fruits/cmv/cmv.c b/src/fruits/cmv/cmv.c
index 8509485..6fd1f38 100644
--- a/src/fruits/cmv/cmv.c
+++ b/src/fruits/cmv/cmv.c
@@ -12,7 +12,11 @@
#include "../common.h"
+#ifndef CAMU_SINK_ONLY
+#ifndef _WIN32
static str *CMV_UNIX_PATH = al_str_c("/tmp/cmv_sock");
+#endif
+#endif
struct cmv {
struct nn_event_loop loop;
@@ -87,7 +91,7 @@ s32 wmain(s32 argc, wchar_t **argv)
addr = CAMU_TEST_ADDR;
}
#else
- type = NNWT_SOCKET_TCP; addr = CAMU_SERVER_IP;
+ type = NNWT_SOCKET_TCP; addr = CAMU_TEST_ADDR;
#endif
#ifndef CAMU_SINK_ONLY
diff --git a/src/fruits/ctv/ctv.c b/src/fruits/ctv/ctv.c
index c7bd250..b350c8a 100644
--- a/src/fruits/ctv/ctv.c
+++ b/src/fruits/ctv/ctv.c
@@ -8,7 +8,9 @@
#include "../../mixer/audio_null.h"
#include "../../mixer/audio_miniaudio.h"
#include "../../sink/common.h"
-#include "../../server/common.c"
+#include "../../server/common.h"
+
+#include "../common.h"
struct ctv {
struct nn_event_loop loop;
@@ -44,37 +46,44 @@ static nn_thread_result NNWT_THREADCALL event_loop_thread(void *userdata)
return 0;
}
+static void to_be_removed_inline_create_client(struct ctv *c, GLFMDisplay *display)
+{
+ c->scr.callback = screen_callback;
+ c->scr.userdata = c;
+ camu_screen_init(&c->scr, display);
+ camu_screen_create_window(&c->scr, "ctv");
+ c->renderer = camu_renderer_lp_create();
+ camu_screen_create_renderer(&c->scr, c->renderer);
+
+ camu_mixer_init(&c->mixer, camu_audio_miniaudio_create());
+ c->mixer.audio->configure_stream(c->mixer.audio, NULL);
+ camu_mixer_pick_format(&c->mixer, &c->mixer.fmt);
+
+ nn_event_loop_init(&c->loop);
+
+ camu_sink_init(&c->sink, &c->loop, &c->mixer, c->renderer);
+ al_str_from(&c->sink.default_list, "default");
+ c->sink.callback = sink_callback;
+ c->sink.userdata = c;
+ camu_sink_connect(&c->sink, NNWT_SOCKET_TCP, CAMU_TEST_IP, CAMU_PORT, al_str_c("ctv"));
+
+ nn_thread_create(&c->thread, event_loop_thread, c);
+}
+
static void onSurfaceCreated(GLFMDisplay *display, s32 width, s32 height)
{
struct ctv *c = (struct ctv *)glfmGetUserData(display);
(void)width;
(void)height;
+
GLFMRenderingAPI api = glfmGetRenderingAPI(display);
al_log_info("window_glfm", "Created GLES context of version %s.",
api == GLFMRenderingAPIOpenGLES32 ? "3.2" :
api == GLFMRenderingAPIOpenGLES31 ? "3.1" :
api == GLFMRenderingAPIOpenGLES3 ? "3.0" : "2.0");
- if (!c->created) {
- c->scr.callback = screen_callback;
- c->scr.userdata = c;
- camu_screen_init(&c->scr, display);
- camu_screen_create_window(&c->scr, "ctv");
- c->renderer = camu_renderer_lp_create();
- camu_screen_create_renderer(&c->scr, c->renderer);
-
- camu_mixer_init(&c->mixer, camu_audio_miniaudio_create());
- c->mixer.audio->configure_stream(c->mixer.audio, NULL);
- camu_mixer_pick_format(&c->mixer, &c->mixer.fmt);
-
- nn_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;
- camu_sink_connect(&c->sink, NNWT_SOCKET_TCP, CAMU_SERVER_IP, CAMU_PORT, al_str_c("ctv"));
-
- nn_thread_create(&c->thread, event_loop_thread, c);
+ if (!c->created) {
+ to_be_removed_inline_create_client(c, display);
c->created = true;
}
}
@@ -87,8 +96,9 @@ static void onSurfaceDestroyed(GLFMDisplay *display)
static void onDraw(GLFMDisplay *display)
{
struct ctv *c = (struct ctv *)glfmGetUserData(display);
- if (camu_screen_tick(&c->scr)) {
- c->renderer->render(c->renderer, &c->scr);
+ bool force;
+ if (camu_screen_tick(&c->scr, &force)) {
+ c->renderer->render(c->renderer, &c->scr, force);
}
}
diff --git a/src/fruits/droid/ctv/app/src/main/AndroidManifest.xml b/src/fruits/droid/ctv/app/src/main/AndroidManifest.xml
index 00f96c1..cca763f 100644
--- a/src/fruits/droid/ctv/app/src/main/AndroidManifest.xml
+++ b/src/fruits/droid/ctv/app/src/main/AndroidManifest.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-feature android:name="android.software.leanback"
android:required="false" />
<uses-feature android:name="android.hardware.touchscreen"
diff --git a/src/fruits/droid/ctv/gradle/libs.versions.toml b/src/fruits/droid/ctv/gradle/libs.versions.toml
index c474f95..ea02696 100644
--- a/src/fruits/droid/ctv/gradle/libs.versions.toml
+++ b/src/fruits/droid/ctv/gradle/libs.versions.toml
@@ -1,5 +1,5 @@
[versions]
-agp = "8.7.2"
+agp = "8.7.3"
[libraries]