1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
|
https://github.com/any1/neatvnc/commit/a4b238241f3f
https://github.com/any1/neatvnc/commit/c1f4833dc134
--- meson.build.orig 2025-07-28 20:37:48 UTC
+++ meson.build
@@ -63,12 +63,12 @@ libavutil = dependency('libavutil', required: get_opti
libavfilter = dependency('libavfilter', required: get_option('h264'))
libavutil = dependency('libavutil', required: get_option('h264'))
-aml_version = ['>=0.3.0', '<0.4.0']
+aml_version = ['>=1.0.0', '<2.0.0']
aml_project = subproject('aml', required: false, version: aml_version)
if aml_project.found()
aml = aml_project.get_variable('aml_dep')
else
- aml = dependency('aml', version: aml_version)
+ aml = dependency('aml1', version: aml_version)
endif
inc = include_directories('include')
--- src/enc/h264/ffmpeg-impl.c.orig 2025-07-28 20:37:48 UTC
+++ src/enc/h264/ffmpeg-impl.c
@@ -415,9 +415,9 @@ get_frame_failure:
return rc == AVERROR(EAGAIN) ? 0 : rc;
}
-static void h264_encoder__do_work(void* handle)
+static void h264_encoder__do_work(struct aml_work* work)
{
- struct h264_encoder_ffmpeg* self = aml_get_userdata(handle);
+ struct h264_encoder_ffmpeg* self = aml_get_userdata(work);
AVFrame* frame = fb_to_avframe(self->current_fb);
assert(frame); // TODO
@@ -453,9 +453,9 @@ failure:
av_frame_free(&frame);
}
-static void h264_encoder__on_work_done(void* handle)
+static void h264_encoder__on_work_done(struct aml_work* work)
{
- struct h264_encoder_ffmpeg* self = aml_get_userdata(handle);
+ struct h264_encoder_ffmpeg* self = aml_get_userdata(work);
uint64_t pts = nvnc_fb_get_pts(self->current_fb);
nvnc_fb_release(self->current_fb);
--- src/enc/h264/v4l2m2m-impl.c.orig 2025-07-28 20:37:48 UTC
+++ src/enc/h264/v4l2m2m-impl.c
@@ -511,9 +511,9 @@ static void encode_buffer(struct h264_encoder_v4l2m2m*
}
}
-static void process_fd_events(void* handle)
+static void process_fd_events(struct aml_handler* handler)
{
- struct h264_encoder_v4l2m2m* self = aml_get_userdata(handle);
+ struct h264_encoder_v4l2m2m* self = aml_get_userdata(handler);
process_dst_bufs(self);
}
--- src/enc/raw.c.orig 2025-07-28 20:37:48 UTC
+++ src/enc/raw.c
@@ -126,9 +126,9 @@ static int raw_encode_frame(struct raw_encoder_work* c
return 0;
}
-static void raw_encoder_do_work(void* obj)
+static void raw_encoder_do_work(struct aml_work* work)
{
- struct raw_encoder_work* ctx = aml_get_userdata(obj);
+ struct raw_encoder_work* ctx = aml_get_userdata(work);
int rc __attribute__((unused));
struct nvnc_fb* fb = ctx->fb;
@@ -163,9 +163,9 @@ static void raw_encoder_do_work(void* obj)
assert(ctx->result);
}
-static void raw_encoder_on_done(void* obj)
+static void raw_encoder_on_done(struct aml_work* work)
{
- struct raw_encoder_work* ctx = aml_get_userdata(obj);
+ struct raw_encoder_work* ctx = aml_get_userdata(work);
struct raw_encoder* self = ctx->parent;
assert(ctx->result);
--- src/enc/tight.c.orig 2025-07-28 20:37:48 UTC
+++ src/enc/tight.c
@@ -106,8 +106,8 @@ struct encoder_impl encoder_impl_tight;
struct encoder_impl encoder_impl_tight;
-static void do_tight_zs_work(void*);
-static void on_tight_zs_work_done(void*);
+static void do_tight_zs_work(struct aml_work*);
+static void on_tight_zs_work_done(struct aml_work*);
static int schedule_tight_finish(struct tight_encoder* self);
static inline struct tight_encoder* tight_encoder(struct encoder* encoder)
@@ -428,9 +428,9 @@ static void tight_encode_tile(struct tight_encoder* se
tile->state = TIGHT_TILE_ENCODED;
}
-static void do_tight_zs_work(void* obj)
+static void do_tight_zs_work(struct aml_work* work)
{
- struct tight_zs_worker_ctx* ctx = aml_get_userdata(obj);
+ struct tight_zs_worker_ctx* ctx = aml_get_userdata(work);
struct tight_encoder* self = ctx->encoder;
int index = ctx->index;
@@ -440,7 +440,7 @@ static void do_tight_zs_work(void* obj)
tight_encode_tile(self, x, y);
}
-static void on_tight_zs_work_done(void* obj)
+static void on_tight_zs_work_done(struct aml_work* obj)
{
struct tight_zs_worker_ctx* ctx = aml_get_userdata(obj);
struct tight_encoder* self = ctx->encoder;
@@ -509,15 +509,15 @@ static void tight_finish(struct tight_encoder* self)
tight_finish_tile(self, x, y);
}
-static void do_tight_finish(void* obj)
+static void do_tight_finish(struct aml_work* work)
{
- struct tight_encoder* self = aml_get_userdata(obj);
+ struct tight_encoder* self = aml_get_userdata(work);
tight_finish(self);
}
-static void on_tight_finished(void* obj)
+static void on_tight_finished(struct aml_work* work)
{
- struct tight_encoder* self = aml_get_userdata(obj);
+ struct tight_encoder* self = aml_get_userdata(work);
struct encoded_frame* result;
result = encoded_frame_new(self->dst.data, self->dst.len, self->n_rects,
--- src/enc/zrle.c.orig 2025-07-28 20:37:48 UTC
+++ src/enc/zrle.c
@@ -340,9 +340,9 @@ static int zrle_encode_frame(struct zrle_encoder* self
return 0;
}
-static void zrle_encoder_do_work(void* obj)
+static void zrle_encoder_do_work(struct aml_work* work)
{
- struct zrle_encoder* self = aml_get_userdata(obj);
+ struct zrle_encoder* self = aml_get_userdata(work);
int rc __attribute__((unused));
struct nvnc_fb* fb = self->current_fb;
@@ -374,9 +374,9 @@ static void zrle_encoder_do_work(void* obj)
assert(self->current_result);
}
-static void zrle_encoder_on_done(void* obj)
+static void zrle_encoder_on_done(struct aml_work* work)
{
- struct zrle_encoder* self = aml_get_userdata(obj);
+ struct zrle_encoder* self = aml_get_userdata(work);
assert(self->current_result);
--- src/resampler.c.orig 2025-07-28 20:37:48 UTC
+++ src/resampler.c
@@ -147,9 +147,8 @@ void resample_now(struct nvnc_fb* dst, struct nvnc_fb*
pixman_image_unref(dstimg);
}
-static void do_work(void* handle)
+static void do_work(struct aml_work* work)
{
- struct aml_work* work = handle;
struct resampler_work* ctx = aml_get_userdata(work);
struct nvnc_fb* src = ctx->src;
@@ -159,11 +158,9 @@ static void do_work(void* handle)
resample_now(dst, src, &dst_side_data->buffer_damage);
}
-static void on_work_done(void* handle)
+static void on_work_done(struct aml_work* work)
{
- struct aml_work* work = handle;
struct resampler_work* ctx = aml_get_userdata(work);
-
ctx->on_done(ctx->dst, &ctx->frame_damage, ctx->userdata);
}
--- src/server.c.orig 2025-07-28 20:37:48 UTC
+++ src/server.c
@@ -210,9 +210,8 @@ static void client_close(struct nvnc_client* client)
free(client);
}
-static void do_deferred_client_close(void* obj)
+static void do_deferred_client_close(struct aml_idle* idle)
{
- struct aml_idle* idle = obj;
struct nvnc_client* client = aml_get_userdata(idle);
client->close_task = NULL;
aml_stop(aml_get_default(), idle);
@@ -2013,9 +2012,9 @@ static void on_client_event(struct stream* stream, enu
client->buffer_index = 0;
}
-static void on_connection(void* obj)
+static void on_connection(struct aml_handler* poll_handle)
{
- struct nvnc* server = aml_get_userdata(obj);
+ struct nvnc* server = aml_get_userdata(poll_handle);
struct nvnc_client* client = calloc(1, sizeof(*client));
if (!client)
--- src/stream/gnutls.c.orig 2025-07-28 20:37:48 UTC
+++ src/stream/gnutls.c
@@ -171,10 +171,10 @@ static void stream_gnutls__on_writable(struct stream*
}
}
-static void stream_gnutls__on_event(void* obj)
+static void stream_gnutls__on_event(struct aml_handler* handler)
{
- struct stream* self = aml_get_userdata(obj);
- uint32_t events = aml_get_revents(obj);
+ struct stream* self = aml_get_userdata(handler);
+ uint32_t events = aml_get_revents(handler);
stream_ref(self);
--- src/stream/tcp.c.orig 2025-07-28 20:37:48 UTC
+++ src/stream/tcp.c
@@ -191,10 +191,10 @@ static void stream_tcp__on_writable(struct stream* sel
}
}
-static void stream_tcp__on_event(void* obj)
+static void stream_tcp__on_event(struct aml_handler* handler)
{
- struct stream* self = aml_get_userdata(obj);
- uint32_t events = aml_get_revents(obj);
+ struct stream* self = aml_get_userdata(handler);
+ uint32_t events = aml_get_revents(handler);
// We hold a reference here in case the stream gets destroyed inside
// callback.
|