1 /*
2 * This file is auto-generated. DO NOT MODIFY.
3 * Using: out/host/linux-x86/bin/aidl --lang=ndk -Weverything -Wno-missing-permission-annotation -t --min_sdk_version 29 -pout/soong/.intermediates/hardware/interfaces/graphics/common/aidl/android.hardware.graphics.common_interface/6/preprocessed.aidl --ninja -d out/soong/.intermediates/frameworks/av/media/module/aidlpersistentsurface/graphicbuffersource-aidl-ndk-source/gen/staging/android/media/IAidlNode.cpp.d -h out/soong/.intermediates/frameworks/av/media/module/aidlpersistentsurface/graphicbuffersource-aidl-ndk-source/gen/include/staging -o out/soong/.intermediates/frameworks/av/media/module/aidlpersistentsurface/graphicbuffersource-aidl-ndk-source/gen/staging -Iframeworks/native/aidl/gui -Iframeworks/base/core/java -Nframeworks/av/media/module/aidlpersistentsurface/aidl frameworks/av/media/module/aidlpersistentsurface/aidl/android/media/IAidlNode.aidl
4 *
5 * DO NOT CHECK THIS FILE INTO A CODE TREE (e.g. git, etc..).
6 * ALWAYS GENERATE THIS FILE FROM UPDATED AIDL COMPILER
7 * AS A BUILD INTERMEDIATE ONLY. THIS IS NOT SOURCE CODE.
8 */
9 #include "aidl/android/media/IAidlNode.h"
10
11 #include <android/binder_parcel_utils.h>
12 #include <aidl/android/media/BnAidlBufferSource.h>
13 #include <aidl/android/media/BnAidlNode.h>
14 #include <aidl/android/media/BpAidlBufferSource.h>
15 #include <aidl/android/media/BpAidlNode.h>
16 #include <aidl/android/media/IAidlBufferSource.h>
17
18 namespace aidl {
19 namespace android {
20 namespace media {
_aidl_android_media_IAidlNode_onTransact(AIBinder * _aidl_binder,transaction_code_t _aidl_code,const AParcel * _aidl_in,AParcel * _aidl_out)21 static binder_status_t _aidl_android_media_IAidlNode_onTransact(AIBinder* _aidl_binder, transaction_code_t _aidl_code, const AParcel* _aidl_in, AParcel* _aidl_out) {
22 (void)_aidl_in;
23 (void)_aidl_out;
24 binder_status_t _aidl_ret_status = STATUS_UNKNOWN_TRANSACTION;
25 std::shared_ptr<BnAidlNode> _aidl_impl = std::static_pointer_cast<BnAidlNode>(::ndk::ICInterface::asInterface(_aidl_binder));
26 switch (_aidl_code) {
27 case (FIRST_CALL_TRANSACTION + 0 /*freeNode*/): {
28
29 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->freeNode();
30 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
31 if (_aidl_ret_status != STATUS_OK) break;
32
33 if (!AStatus_isOk(_aidl_status.get())) break;
34
35 break;
36 }
37 case (FIRST_CALL_TRANSACTION + 1 /*getConsumerUsage*/): {
38 int64_t _aidl_return;
39
40 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getConsumerUsage(&_aidl_return);
41 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
42 if (_aidl_ret_status != STATUS_OK) break;
43
44 if (!AStatus_isOk(_aidl_status.get())) break;
45
46 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
47 if (_aidl_ret_status != STATUS_OK) break;
48
49 break;
50 }
51 case (FIRST_CALL_TRANSACTION + 2 /*getInputBufferParams*/): {
52 ::aidl::android::media::IAidlNode::InputBufferParams _aidl_return;
53
54 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->getInputBufferParams(&_aidl_return);
55 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
56 if (_aidl_ret_status != STATUS_OK) break;
57
58 if (!AStatus_isOk(_aidl_status.get())) break;
59
60 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_out, _aidl_return);
61 if (_aidl_ret_status != STATUS_OK) break;
62
63 break;
64 }
65 case (FIRST_CALL_TRANSACTION + 3 /*setConsumerUsage*/): {
66 int64_t in_usage;
67
68 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_usage);
69 if (_aidl_ret_status != STATUS_OK) break;
70
71 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->setConsumerUsage(in_usage);
72 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
73 if (_aidl_ret_status != STATUS_OK) break;
74
75 if (!AStatus_isOk(_aidl_status.get())) break;
76
77 break;
78 }
79 case (FIRST_CALL_TRANSACTION + 4 /*setAdjustTimestampGapUs*/): {
80 int32_t in_gapUs;
81
82 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_gapUs);
83 if (_aidl_ret_status != STATUS_OK) break;
84
85 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->setAdjustTimestampGapUs(in_gapUs);
86 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
87 if (_aidl_ret_status != STATUS_OK) break;
88
89 if (!AStatus_isOk(_aidl_status.get())) break;
90
91 break;
92 }
93 case (FIRST_CALL_TRANSACTION + 5 /*setInputSurface*/): {
94 std::shared_ptr<::aidl::android::media::IAidlBufferSource> in_bufferSource;
95
96 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_bufferSource);
97 if (_aidl_ret_status != STATUS_OK) break;
98
99 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->setInputSurface(in_bufferSource);
100 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
101 if (_aidl_ret_status != STATUS_OK) break;
102
103 if (!AStatus_isOk(_aidl_status.get())) break;
104
105 break;
106 }
107 case (FIRST_CALL_TRANSACTION + 6 /*submitBuffer*/): {
108 int32_t in_buffer;
109 std::optional<::aidl::android::hardware::HardwareBuffer> in_hBuffer;
110 int32_t in_flags;
111 int64_t in_timestampUs;
112 ::ndk::ScopedFileDescriptor in_fence;
113
114 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_buffer);
115 if (_aidl_ret_status != STATUS_OK) break;
116
117 _aidl_ret_status = ::ndk::AParcel_readNullableData(_aidl_in, &in_hBuffer);
118 if (_aidl_ret_status != STATUS_OK) break;
119
120 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_flags);
121 if (_aidl_ret_status != STATUS_OK) break;
122
123 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_timestampUs);
124 if (_aidl_ret_status != STATUS_OK) break;
125
126 _aidl_ret_status = ::ndk::AParcel_readNullableData(_aidl_in, &in_fence);
127 if (_aidl_ret_status != STATUS_OK) break;
128
129 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->submitBuffer(in_buffer, in_hBuffer, in_flags, in_timestampUs, in_fence);
130 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
131 if (_aidl_ret_status != STATUS_OK) break;
132
133 if (!AStatus_isOk(_aidl_status.get())) break;
134
135 break;
136 }
137 case (FIRST_CALL_TRANSACTION + 7 /*onDataSpaceChanged*/): {
138 int32_t in_dataSpace;
139 int32_t in_aspects;
140 int32_t in_pixelFormat;
141
142 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_dataSpace);
143 if (_aidl_ret_status != STATUS_OK) break;
144
145 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_aspects);
146 if (_aidl_ret_status != STATUS_OK) break;
147
148 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_in, &in_pixelFormat);
149 if (_aidl_ret_status != STATUS_OK) break;
150
151 ::ndk::ScopedAStatus _aidl_status = _aidl_impl->onDataSpaceChanged(in_dataSpace, in_aspects, in_pixelFormat);
152 _aidl_ret_status = AParcel_writeStatusHeader(_aidl_out, _aidl_status.get());
153 if (_aidl_ret_status != STATUS_OK) break;
154
155 if (!AStatus_isOk(_aidl_status.get())) break;
156
157 break;
158 }
159 }
160 return _aidl_ret_status;
161 }
162
163 static const char* _g_aidl_android_media_IAidlNode_clazz_code_to_function[] = { "freeNode","getConsumerUsage","getInputBufferParams","setConsumerUsage","setAdjustTimestampGapUs","setInputSurface","submitBuffer","onDataSpaceChanged",};
164 static AIBinder_Class* _g_aidl_android_media_IAidlNode_clazz = ::ndk::ICInterface::defineClass(IAidlNode::descriptor, _aidl_android_media_IAidlNode_onTransact, _g_aidl_android_media_IAidlNode_clazz_code_to_function, 8);
165
BpAidlNode(const::ndk::SpAIBinder & binder)166 BpAidlNode::BpAidlNode(const ::ndk::SpAIBinder& binder) : BpCInterface(binder) {}
~BpAidlNode()167 BpAidlNode::~BpAidlNode() {}
168
freeNode()169 ::ndk::ScopedAStatus BpAidlNode::freeNode() {
170 binder_status_t _aidl_ret_status = STATUS_OK;
171 ::ndk::ScopedAStatus _aidl_status;
172 ::ndk::ScopedAParcel _aidl_in;
173 ::ndk::ScopedAParcel _aidl_out;
174
175 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
176 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
177
178 _aidl_ret_status = AIBinder_transact(
179 asBinderReference().get(),
180 (FIRST_CALL_TRANSACTION + 0 /*freeNode*/),
181 _aidl_in.getR(),
182 _aidl_out.getR(),
183 0
184 #ifdef BINDER_STABILITY_SUPPORT
185 | static_cast<int>(FLAG_PRIVATE_LOCAL)
186 #endif // BINDER_STABILITY_SUPPORT
187 );
188 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IAidlNode::getDefaultImpl()) {
189 _aidl_status = IAidlNode::getDefaultImpl()->freeNode();
190 goto _aidl_status_return;
191 }
192 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
193
194 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
195 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
196
197 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
198 _aidl_error:
199 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
200 _aidl_status_return:
201 return _aidl_status;
202 }
getConsumerUsage(int64_t * _aidl_return)203 ::ndk::ScopedAStatus BpAidlNode::getConsumerUsage(int64_t* _aidl_return) {
204 binder_status_t _aidl_ret_status = STATUS_OK;
205 ::ndk::ScopedAStatus _aidl_status;
206 ::ndk::ScopedAParcel _aidl_in;
207 ::ndk::ScopedAParcel _aidl_out;
208
209 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
210 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
211
212 _aidl_ret_status = AIBinder_transact(
213 asBinderReference().get(),
214 (FIRST_CALL_TRANSACTION + 1 /*getConsumerUsage*/),
215 _aidl_in.getR(),
216 _aidl_out.getR(),
217 0
218 #ifdef BINDER_STABILITY_SUPPORT
219 | static_cast<int>(FLAG_PRIVATE_LOCAL)
220 #endif // BINDER_STABILITY_SUPPORT
221 );
222 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IAidlNode::getDefaultImpl()) {
223 _aidl_status = IAidlNode::getDefaultImpl()->getConsumerUsage(_aidl_return);
224 goto _aidl_status_return;
225 }
226 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
227
228 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
229 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
230
231 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
232 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
233 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
234
235 _aidl_error:
236 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
237 _aidl_status_return:
238 return _aidl_status;
239 }
getInputBufferParams(::aidl::android::media::IAidlNode::InputBufferParams * _aidl_return)240 ::ndk::ScopedAStatus BpAidlNode::getInputBufferParams(::aidl::android::media::IAidlNode::InputBufferParams* _aidl_return) {
241 binder_status_t _aidl_ret_status = STATUS_OK;
242 ::ndk::ScopedAStatus _aidl_status;
243 ::ndk::ScopedAParcel _aidl_in;
244 ::ndk::ScopedAParcel _aidl_out;
245
246 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
247 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
248
249 _aidl_ret_status = AIBinder_transact(
250 asBinderReference().get(),
251 (FIRST_CALL_TRANSACTION + 2 /*getInputBufferParams*/),
252 _aidl_in.getR(),
253 _aidl_out.getR(),
254 0
255 #ifdef BINDER_STABILITY_SUPPORT
256 | static_cast<int>(FLAG_PRIVATE_LOCAL)
257 #endif // BINDER_STABILITY_SUPPORT
258 );
259 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IAidlNode::getDefaultImpl()) {
260 _aidl_status = IAidlNode::getDefaultImpl()->getInputBufferParams(_aidl_return);
261 goto _aidl_status_return;
262 }
263 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
264
265 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
266 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
267
268 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
269 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_out.get(), _aidl_return);
270 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
271
272 _aidl_error:
273 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
274 _aidl_status_return:
275 return _aidl_status;
276 }
setConsumerUsage(int64_t in_usage)277 ::ndk::ScopedAStatus BpAidlNode::setConsumerUsage(int64_t in_usage) {
278 binder_status_t _aidl_ret_status = STATUS_OK;
279 ::ndk::ScopedAStatus _aidl_status;
280 ::ndk::ScopedAParcel _aidl_in;
281 ::ndk::ScopedAParcel _aidl_out;
282
283 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
284 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
285
286 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_usage);
287 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
288
289 _aidl_ret_status = AIBinder_transact(
290 asBinderReference().get(),
291 (FIRST_CALL_TRANSACTION + 3 /*setConsumerUsage*/),
292 _aidl_in.getR(),
293 _aidl_out.getR(),
294 0
295 #ifdef BINDER_STABILITY_SUPPORT
296 | static_cast<int>(FLAG_PRIVATE_LOCAL)
297 #endif // BINDER_STABILITY_SUPPORT
298 );
299 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IAidlNode::getDefaultImpl()) {
300 _aidl_status = IAidlNode::getDefaultImpl()->setConsumerUsage(in_usage);
301 goto _aidl_status_return;
302 }
303 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
304
305 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
306 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
307
308 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
309 _aidl_error:
310 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
311 _aidl_status_return:
312 return _aidl_status;
313 }
setAdjustTimestampGapUs(int32_t in_gapUs)314 ::ndk::ScopedAStatus BpAidlNode::setAdjustTimestampGapUs(int32_t in_gapUs) {
315 binder_status_t _aidl_ret_status = STATUS_OK;
316 ::ndk::ScopedAStatus _aidl_status;
317 ::ndk::ScopedAParcel _aidl_in;
318 ::ndk::ScopedAParcel _aidl_out;
319
320 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
321 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
322
323 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_gapUs);
324 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
325
326 _aidl_ret_status = AIBinder_transact(
327 asBinderReference().get(),
328 (FIRST_CALL_TRANSACTION + 4 /*setAdjustTimestampGapUs*/),
329 _aidl_in.getR(),
330 _aidl_out.getR(),
331 0
332 #ifdef BINDER_STABILITY_SUPPORT
333 | static_cast<int>(FLAG_PRIVATE_LOCAL)
334 #endif // BINDER_STABILITY_SUPPORT
335 );
336 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IAidlNode::getDefaultImpl()) {
337 _aidl_status = IAidlNode::getDefaultImpl()->setAdjustTimestampGapUs(in_gapUs);
338 goto _aidl_status_return;
339 }
340 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
341
342 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
343 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
344
345 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
346 _aidl_error:
347 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
348 _aidl_status_return:
349 return _aidl_status;
350 }
setInputSurface(const std::shared_ptr<::aidl::android::media::IAidlBufferSource> & in_bufferSource)351 ::ndk::ScopedAStatus BpAidlNode::setInputSurface(const std::shared_ptr<::aidl::android::media::IAidlBufferSource>& in_bufferSource) {
352 binder_status_t _aidl_ret_status = STATUS_OK;
353 ::ndk::ScopedAStatus _aidl_status;
354 ::ndk::ScopedAParcel _aidl_in;
355 ::ndk::ScopedAParcel _aidl_out;
356
357 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
358 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
359
360 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_bufferSource);
361 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
362
363 _aidl_ret_status = AIBinder_transact(
364 asBinderReference().get(),
365 (FIRST_CALL_TRANSACTION + 5 /*setInputSurface*/),
366 _aidl_in.getR(),
367 _aidl_out.getR(),
368 0
369 #ifdef BINDER_STABILITY_SUPPORT
370 | static_cast<int>(FLAG_PRIVATE_LOCAL)
371 #endif // BINDER_STABILITY_SUPPORT
372 );
373 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IAidlNode::getDefaultImpl()) {
374 _aidl_status = IAidlNode::getDefaultImpl()->setInputSurface(in_bufferSource);
375 goto _aidl_status_return;
376 }
377 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
378
379 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
380 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
381
382 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
383 _aidl_error:
384 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
385 _aidl_status_return:
386 return _aidl_status;
387 }
submitBuffer(int32_t in_buffer,const std::optional<::aidl::android::hardware::HardwareBuffer> & in_hBuffer,int32_t in_flags,int64_t in_timestampUs,const::ndk::ScopedFileDescriptor & in_fence)388 ::ndk::ScopedAStatus BpAidlNode::submitBuffer(int32_t in_buffer, const std::optional<::aidl::android::hardware::HardwareBuffer>& in_hBuffer, int32_t in_flags, int64_t in_timestampUs, const ::ndk::ScopedFileDescriptor& in_fence) {
389 binder_status_t _aidl_ret_status = STATUS_OK;
390 ::ndk::ScopedAStatus _aidl_status;
391 ::ndk::ScopedAParcel _aidl_in;
392 ::ndk::ScopedAParcel _aidl_out;
393
394 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
395 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
396
397 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_buffer);
398 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
399
400 _aidl_ret_status = ::ndk::AParcel_writeNullableData(_aidl_in.get(), in_hBuffer);
401 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
402
403 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_flags);
404 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
405
406 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_timestampUs);
407 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
408
409 _aidl_ret_status = ::ndk::AParcel_writeNullableData(_aidl_in.get(), in_fence);
410 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
411
412 _aidl_ret_status = AIBinder_transact(
413 asBinderReference().get(),
414 (FIRST_CALL_TRANSACTION + 6 /*submitBuffer*/),
415 _aidl_in.getR(),
416 _aidl_out.getR(),
417 0
418 #ifdef BINDER_STABILITY_SUPPORT
419 | static_cast<int>(FLAG_PRIVATE_LOCAL)
420 #endif // BINDER_STABILITY_SUPPORT
421 );
422 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IAidlNode::getDefaultImpl()) {
423 _aidl_status = IAidlNode::getDefaultImpl()->submitBuffer(in_buffer, in_hBuffer, in_flags, in_timestampUs, in_fence);
424 goto _aidl_status_return;
425 }
426 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
427
428 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
429 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
430
431 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
432 _aidl_error:
433 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
434 _aidl_status_return:
435 return _aidl_status;
436 }
onDataSpaceChanged(int32_t in_dataSpace,int32_t in_aspects,int32_t in_pixelFormat)437 ::ndk::ScopedAStatus BpAidlNode::onDataSpaceChanged(int32_t in_dataSpace, int32_t in_aspects, int32_t in_pixelFormat) {
438 binder_status_t _aidl_ret_status = STATUS_OK;
439 ::ndk::ScopedAStatus _aidl_status;
440 ::ndk::ScopedAParcel _aidl_in;
441 ::ndk::ScopedAParcel _aidl_out;
442
443 _aidl_ret_status = AIBinder_prepareTransaction(asBinderReference().get(), _aidl_in.getR());
444 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
445
446 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_dataSpace);
447 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
448
449 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_aspects);
450 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
451
452 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_in.get(), in_pixelFormat);
453 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
454
455 _aidl_ret_status = AIBinder_transact(
456 asBinderReference().get(),
457 (FIRST_CALL_TRANSACTION + 7 /*onDataSpaceChanged*/),
458 _aidl_in.getR(),
459 _aidl_out.getR(),
460 0
461 #ifdef BINDER_STABILITY_SUPPORT
462 | static_cast<int>(FLAG_PRIVATE_LOCAL)
463 #endif // BINDER_STABILITY_SUPPORT
464 );
465 if (_aidl_ret_status == STATUS_UNKNOWN_TRANSACTION && IAidlNode::getDefaultImpl()) {
466 _aidl_status = IAidlNode::getDefaultImpl()->onDataSpaceChanged(in_dataSpace, in_aspects, in_pixelFormat);
467 goto _aidl_status_return;
468 }
469 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
470
471 _aidl_ret_status = AParcel_readStatusHeader(_aidl_out.get(), _aidl_status.getR());
472 if (_aidl_ret_status != STATUS_OK) goto _aidl_error;
473
474 if (!AStatus_isOk(_aidl_status.get())) goto _aidl_status_return;
475 _aidl_error:
476 _aidl_status.set(AStatus_fromStatus(_aidl_ret_status));
477 _aidl_status_return:
478 return _aidl_status;
479 }
480 // Source for BnAidlNode
BnAidlNode()481 BnAidlNode::BnAidlNode() {}
~BnAidlNode()482 BnAidlNode::~BnAidlNode() {}
createBinder()483 ::ndk::SpAIBinder BnAidlNode::createBinder() {
484 AIBinder* binder = AIBinder_new(_g_aidl_android_media_IAidlNode_clazz, static_cast<void*>(this));
485 #ifdef BINDER_STABILITY_SUPPORT
486 AIBinder_markCompilationUnitStability(binder);
487 #endif // BINDER_STABILITY_SUPPORT
488 return ::ndk::SpAIBinder(binder);
489 }
490 // Source for IAidlNode
491 const char* IAidlNode::descriptor = "android.media.IAidlNode";
IAidlNode()492 IAidlNode::IAidlNode() {}
~IAidlNode()493 IAidlNode::~IAidlNode() {}
494
495
fromBinder(const::ndk::SpAIBinder & binder)496 std::shared_ptr<IAidlNode> IAidlNode::fromBinder(const ::ndk::SpAIBinder& binder) {
497 if (!AIBinder_associateClass(binder.get(), _g_aidl_android_media_IAidlNode_clazz)) {
498 #if __ANDROID_API__ >= 31
499 const AIBinder_Class* originalClass = AIBinder_getClass(binder.get());
500 if (originalClass == nullptr) return nullptr;
501 if (0 == strcmp(AIBinder_Class_getDescriptor(originalClass), descriptor)) {
502 return ::ndk::SharedRefBase::make<BpAidlNode>(binder);
503 }
504 #endif
505 return nullptr;
506 }
507 std::shared_ptr<::ndk::ICInterface> interface = ::ndk::ICInterface::asInterface(binder.get());
508 if (interface) {
509 return std::static_pointer_cast<IAidlNode>(interface);
510 }
511 return ::ndk::SharedRefBase::make<BpAidlNode>(binder);
512 }
513
writeToParcel(AParcel * parcel,const std::shared_ptr<IAidlNode> & instance)514 binder_status_t IAidlNode::writeToParcel(AParcel* parcel, const std::shared_ptr<IAidlNode>& instance) {
515 return AParcel_writeStrongBinder(parcel, instance ? instance->asBinder().get() : nullptr);
516 }
readFromParcel(const AParcel * parcel,std::shared_ptr<IAidlNode> * instance)517 binder_status_t IAidlNode::readFromParcel(const AParcel* parcel, std::shared_ptr<IAidlNode>* instance) {
518 ::ndk::SpAIBinder binder;
519 binder_status_t status = AParcel_readStrongBinder(parcel, binder.getR());
520 if (status != STATUS_OK) return status;
521 *instance = IAidlNode::fromBinder(binder);
522 return STATUS_OK;
523 }
setDefaultImpl(const std::shared_ptr<IAidlNode> & impl)524 bool IAidlNode::setDefaultImpl(const std::shared_ptr<IAidlNode>& impl) {
525 // Only one user of this interface can use this function
526 // at a time. This is a heuristic to detect if two different
527 // users in the same process use this function.
528 assert(!IAidlNode::default_impl);
529 if (impl) {
530 IAidlNode::default_impl = impl;
531 return true;
532 }
533 return false;
534 }
getDefaultImpl()535 const std::shared_ptr<IAidlNode>& IAidlNode::getDefaultImpl() {
536 return IAidlNode::default_impl;
537 }
538 std::shared_ptr<IAidlNode> IAidlNode::default_impl = nullptr;
freeNode()539 ::ndk::ScopedAStatus IAidlNodeDefault::freeNode() {
540 ::ndk::ScopedAStatus _aidl_status;
541 _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
542 return _aidl_status;
543 }
getConsumerUsage(int64_t *)544 ::ndk::ScopedAStatus IAidlNodeDefault::getConsumerUsage(int64_t* /*_aidl_return*/) {
545 ::ndk::ScopedAStatus _aidl_status;
546 _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
547 return _aidl_status;
548 }
getInputBufferParams(::aidl::android::media::IAidlNode::InputBufferParams *)549 ::ndk::ScopedAStatus IAidlNodeDefault::getInputBufferParams(::aidl::android::media::IAidlNode::InputBufferParams* /*_aidl_return*/) {
550 ::ndk::ScopedAStatus _aidl_status;
551 _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
552 return _aidl_status;
553 }
setConsumerUsage(int64_t)554 ::ndk::ScopedAStatus IAidlNodeDefault::setConsumerUsage(int64_t /*in_usage*/) {
555 ::ndk::ScopedAStatus _aidl_status;
556 _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
557 return _aidl_status;
558 }
setAdjustTimestampGapUs(int32_t)559 ::ndk::ScopedAStatus IAidlNodeDefault::setAdjustTimestampGapUs(int32_t /*in_gapUs*/) {
560 ::ndk::ScopedAStatus _aidl_status;
561 _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
562 return _aidl_status;
563 }
setInputSurface(const std::shared_ptr<::aidl::android::media::IAidlBufferSource> &)564 ::ndk::ScopedAStatus IAidlNodeDefault::setInputSurface(const std::shared_ptr<::aidl::android::media::IAidlBufferSource>& /*in_bufferSource*/) {
565 ::ndk::ScopedAStatus _aidl_status;
566 _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
567 return _aidl_status;
568 }
submitBuffer(int32_t,const std::optional<::aidl::android::hardware::HardwareBuffer> &,int32_t,int64_t,const::ndk::ScopedFileDescriptor &)569 ::ndk::ScopedAStatus IAidlNodeDefault::submitBuffer(int32_t /*in_buffer*/, const std::optional<::aidl::android::hardware::HardwareBuffer>& /*in_hBuffer*/, int32_t /*in_flags*/, int64_t /*in_timestampUs*/, const ::ndk::ScopedFileDescriptor& /*in_fence*/) {
570 ::ndk::ScopedAStatus _aidl_status;
571 _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
572 return _aidl_status;
573 }
onDataSpaceChanged(int32_t,int32_t,int32_t)574 ::ndk::ScopedAStatus IAidlNodeDefault::onDataSpaceChanged(int32_t /*in_dataSpace*/, int32_t /*in_aspects*/, int32_t /*in_pixelFormat*/) {
575 ::ndk::ScopedAStatus _aidl_status;
576 _aidl_status.set(AStatus_fromStatus(STATUS_UNKNOWN_TRANSACTION));
577 return _aidl_status;
578 }
asBinder()579 ::ndk::SpAIBinder IAidlNodeDefault::asBinder() {
580 return ::ndk::SpAIBinder();
581 }
isRemote()582 bool IAidlNodeDefault::isRemote() {
583 return false;
584 }
585 } // namespace media
586 } // namespace android
587 } // namespace aidl
588 namespace aidl {
589 namespace android {
590 namespace media {
591 const char* IAidlNode::InputBufferParams::descriptor = "android.media.IAidlNode.InputBufferParams";
592
readFromParcel(const AParcel * _aidl_parcel)593 binder_status_t IAidlNode::InputBufferParams::readFromParcel(const AParcel* _aidl_parcel) {
594 binder_status_t _aidl_ret_status = STATUS_OK;
595 int32_t _aidl_start_pos = AParcel_getDataPosition(_aidl_parcel);
596 int32_t _aidl_parcelable_size = 0;
597 _aidl_ret_status = AParcel_readInt32(_aidl_parcel, &_aidl_parcelable_size);
598 if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
599
600 if (_aidl_parcelable_size < 4) return STATUS_BAD_VALUE;
601 if (_aidl_start_pos > INT32_MAX - _aidl_parcelable_size) return STATUS_BAD_VALUE;
602 if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) {
603 AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
604 return _aidl_ret_status;
605 }
606 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &bufferCountActual);
607 if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
608
609 if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) {
610 AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
611 return _aidl_ret_status;
612 }
613 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &frameWidth);
614 if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
615
616 if (AParcel_getDataPosition(_aidl_parcel) - _aidl_start_pos >= _aidl_parcelable_size) {
617 AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
618 return _aidl_ret_status;
619 }
620 _aidl_ret_status = ::ndk::AParcel_readData(_aidl_parcel, &frameHeight);
621 if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
622
623 AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos + _aidl_parcelable_size);
624 return _aidl_ret_status;
625 }
writeToParcel(AParcel * _aidl_parcel) const626 binder_status_t IAidlNode::InputBufferParams::writeToParcel(AParcel* _aidl_parcel) const {
627 binder_status_t _aidl_ret_status;
628 int32_t _aidl_start_pos = AParcel_getDataPosition(_aidl_parcel);
629 _aidl_ret_status = AParcel_writeInt32(_aidl_parcel, 0);
630 if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
631
632 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, bufferCountActual);
633 if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
634
635 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, frameWidth);
636 if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
637
638 _aidl_ret_status = ::ndk::AParcel_writeData(_aidl_parcel, frameHeight);
639 if (_aidl_ret_status != STATUS_OK) return _aidl_ret_status;
640
641 int32_t _aidl_end_pos = AParcel_getDataPosition(_aidl_parcel);
642 AParcel_setDataPosition(_aidl_parcel, _aidl_start_pos);
643 AParcel_writeInt32(_aidl_parcel, _aidl_end_pos - _aidl_start_pos);
644 AParcel_setDataPosition(_aidl_parcel, _aidl_end_pos);
645 return _aidl_ret_status;
646 }
647
648 } // namespace media
649 } // namespace android
650 } // namespace aidl
651