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