From b1cddf6feb397c495546c153987a1a337fb01409 Mon Sep 17 00:00:00 2001
From: chenke <chenke@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 04 八月 2017 10:31:43 +0800
Subject: [PATCH] 远程通信原型

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteMethod.proto.cpp |  708 +++++++++++++++++++++
 VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteMethod.proto.h   | 1222 +++++++++++++++++++++++++++++++++++++
 2 files changed, 1,930 insertions(+), 0 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteMethod.proto.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteMethod.proto.cpp
new file mode 100644
index 0000000..0e57475
--- /dev/null
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteMethod.proto.cpp
@@ -0,0 +1,708 @@
+// Generated by Cap'n Proto compiler, DO NOT EDIT
+// source: RemoteMethod.proto
+
+#include "RemoteMethod.proto.h"
+
+namespace capnp {
+namespace schemas {
+static const ::capnp::_::AlignedData<32> b_fe696f70a406f213 = {
+  {   0,   0,   0,   0,   5,   0,   6,   0,
+     19, 242,   6, 164, 112, 111, 105, 254,
+     19,   0,   0,   0,   3,   0,   0,   0,
+     26,  31, 109, 111, 236,   9, 206, 214,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     21,   0,   0,   0,  18,   1,   0,   0,
+     37,   0,   0,   0,   7,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     33,   0,   0,   0,  71,   0,   0,   0,
+     81,   0,   0,   0,   7,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     82, 101, 109, 111, 116, 101,  77, 101,
+    116, 104, 111, 100,  46, 112, 114, 111,
+    116, 111,  58,  82, 116, 115, 112,  70,
+     97,  99, 101,  68, 101, 116, 101,  99,
+    116,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   1,   0,   1,   0,
+      4,   0,   0,   0,   3,   0,   5,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     91, 127, 205,  10, 233,  83, 186, 244,
+    180, 211,  54, 190, 226, 198, 205, 241,
+     17,   0,   0,   0, 178,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     13,   0,   0,   0,   7,   0,   0,   0,
+    102, 105, 114, 101,  70,  97,  99, 101,
+     67, 111, 117, 110, 116,  76, 105, 115,
+    116, 101, 110, 101, 114,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   1,   0,
+      0,   0,   0,   0,   1,   0,   1,   0, }
+};
+::capnp::word const* const bp_fe696f70a406f213 = b_fe696f70a406f213.words;
+#if !CAPNP_LITE
+static const ::capnp::_::RawSchema* const d_fe696f70a406f213[] = {
+  &s_f1cdc6e2be36d3b4,
+  &s_f4ba53e90acd7f5b,
+};
+static const uint16_t m_fe696f70a406f213[] = {0};
+const ::capnp::_::RawSchema s_fe696f70a406f213 = {
+  0xfe696f70a406f213, b_fe696f70a406f213.words, 32, d_fe696f70a406f213, m_fe696f70a406f213,
+  2, 1, nullptr, nullptr, nullptr, { &s_fe696f70a406f213, nullptr, nullptr, 0, 0, nullptr }
+};
+#endif  // !CAPNP_LITE
+static const ::capnp::_::AlignedData<53> b_f4ba53e90acd7f5b = {
+  {   0,   0,   0,   0,   5,   0,   6,   0,
+     91, 127, 205,  10, 233,  83, 186, 244,
+     34,   0,   0,   0,   1,   0,   1,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   7,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     21,   0,   0,   0, 250,   1,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     41,   0,   0,   0, 119,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     82, 101, 109, 111, 116, 101,  77, 101,
+    116, 104, 111, 100,  46, 112, 114, 111,
+    116, 111,  58,  82, 116, 115, 112,  70,
+     97,  99, 101,  68, 101, 116, 101,  99,
+    116,  46, 102, 105, 114, 101,  70,  97,
+     99, 101,  67, 111, 117, 110, 116,  76,
+    105, 115, 116, 101, 110, 101, 114,  36,
+     80,  97, 114,  97, 109, 115,   0,   0,
+      8,   0,   0,   0,   3,   0,   4,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     41,   0,   0,   0,  98,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     40,   0,   0,   0,   3,   0,   1,   0,
+     52,   0,   0,   0,   2,   0,   1,   0,
+      1,   0,   0,   0,   1,   0,   0,   0,
+      0,   0,   1,   0,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     49,   0,   0,   0,  82,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     48,   0,   0,   0,   3,   0,   1,   0,
+     60,   0,   0,   0,   2,   0,   1,   0,
+     99,  97, 109, 101, 114,  97,  73, 110,
+    100, 101, 120,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    102,  97,  99, 101,  67, 111, 117, 110,
+    116,   0,   0,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0, }
+};
+::capnp::word const* const bp_f4ba53e90acd7f5b = b_f4ba53e90acd7f5b.words;
+#if !CAPNP_LITE
+static const uint16_t m_f4ba53e90acd7f5b[] = {0, 1};
+static const uint16_t i_f4ba53e90acd7f5b[] = {0, 1};
+const ::capnp::_::RawSchema s_f4ba53e90acd7f5b = {
+  0xf4ba53e90acd7f5b, b_f4ba53e90acd7f5b.words, 53, nullptr, m_f4ba53e90acd7f5b,
+  0, 2, i_f4ba53e90acd7f5b, nullptr, nullptr, { &s_f4ba53e90acd7f5b, nullptr, nullptr, 0, 0, nullptr }
+};
+#endif  // !CAPNP_LITE
+static const ::capnp::_::AlignedData<20> b_f1cdc6e2be36d3b4 = {
+  {   0,   0,   0,   0,   5,   0,   6,   0,
+    180, 211,  54, 190, 226, 198, 205, 241,
+     34,   0,   0,   0,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   7,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     21,   0,   0,   0,   2,   2,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     82, 101, 109, 111, 116, 101,  77, 101,
+    116, 104, 111, 100,  46, 112, 114, 111,
+    116, 111,  58,  82, 116, 115, 112,  70,
+     97,  99, 101,  68, 101, 116, 101,  99,
+    116,  46, 102, 105, 114, 101,  70,  97,
+     99, 101,  67, 111, 117, 110, 116,  76,
+    105, 115, 116, 101, 110, 101, 114,  36,
+     82, 101, 115, 117, 108, 116, 115,   0, }
+};
+::capnp::word const* const bp_f1cdc6e2be36d3b4 = b_f1cdc6e2be36d3b4.words;
+#if !CAPNP_LITE
+const ::capnp::_::RawSchema s_f1cdc6e2be36d3b4 = {
+  0xf1cdc6e2be36d3b4, b_f1cdc6e2be36d3b4.words, 20, nullptr, nullptr,
+  0, 0, nullptr, nullptr, nullptr, { &s_f1cdc6e2be36d3b4, nullptr, nullptr, 0, 0, nullptr }
+};
+#endif  // !CAPNP_LITE
+static const ::capnp::_::AlignedData<52> b_8be3cf35c0c628de = {
+  {   0,   0,   0,   0,   5,   0,   6,   0,
+    222,  40, 198, 192,  53, 207, 227, 139,
+     19,   0,   0,   0,   3,   0,   0,   0,
+     26,  31, 109, 111, 236,   9, 206, 214,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     21,   0,   0,   0,   2,   1,   0,   0,
+     33,   0,   0,   0,   7,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     29,   0,   0,   0, 199,   0,   0,   0,
+    161,   0,   0,   0,   7,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     82, 101, 109, 111, 116, 101,  77, 101,
+    116, 104, 111, 100,  46, 112, 114, 111,
+    116, 111,  58,  82, 116, 115, 112,  70,
+     97,  99, 101,  86, 105, 101, 119,   0,
+      0,   0,   0,   0,   1,   0,   1,   0,
+     12,   0,   0,   0,   3,   0,   5,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    101, 166, 110,  56, 169,   6, 247, 244,
+     12,  95,   9,  58,  23,  62,  95, 214,
+     81,   0,   0,   0,  98,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     73,   0,   0,   0,   7,   0,   0,   0,
+      1,   0,   0,   0,   0,   0,   0,   0,
+    129,  64, 248, 158,  59, 158, 145, 243,
+     53, 228, 117, 237, 157,  41, 220, 228,
+     61,   0,   0,   0, 114,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     53,   0,   0,   0,   7,   0,   0,   0,
+      2,   0,   0,   0,   0,   0,   0,   0,
+    170, 177, 191,  34, 132, 135, 133, 130,
+    102,  66,  39,  63, 215, 204,  63, 217,
+     41,   0,   0,   0, 106,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     33,   0,   0,   0,   7,   0,   0,   0,
+    103, 101, 116,  70,  97,  99, 101,  76,
+    105, 115, 116,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   1,   0,
+    103, 101, 116,  70,  97,  99, 101,  73,
+    109,  97, 103, 101, 115,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   1,   0,
+    115, 101, 116,  70,  97,  99, 101,  76,
+     97,  98, 101, 108,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   1,   0,
+      0,   0,   0,   0,   1,   0,   1,   0, }
+};
+::capnp::word const* const bp_8be3cf35c0c628de = b_8be3cf35c0c628de.words;
+#if !CAPNP_LITE
+static const ::capnp::_::RawSchema* const d_8be3cf35c0c628de[] = {
+  &s_8285878422bfb1aa,
+  &s_d65f3e173a095f0c,
+  &s_d93fccd73f274266,
+  &s_e4dc299ded75e435,
+  &s_f3919e3b9ef84081,
+  &s_f4f706a9386ea665,
+};
+static const uint16_t m_8be3cf35c0c628de[] = {1, 0, 2};
+const ::capnp::_::RawSchema s_8be3cf35c0c628de = {
+  0x8be3cf35c0c628de, b_8be3cf35c0c628de.words, 52, d_8be3cf35c0c628de, m_8be3cf35c0c628de,
+  6, 3, nullptr, nullptr, nullptr, { &s_8be3cf35c0c628de, nullptr, nullptr, 0, 0, nullptr }
+};
+#endif  // !CAPNP_LITE
+static const ::capnp::_::AlignedData<36> b_f4f706a9386ea665 = {
+  {   0,   0,   0,   0,   5,   0,   6,   0,
+    101, 166, 110,  56, 169,   6, 247, 244,
+     32,   0,   0,   0,   1,   0,   1,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   7,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     21,   0,   0,   0, 154,   1,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     37,   0,   0,   0,  63,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     82, 101, 109, 111, 116, 101,  77, 101,
+    116, 104, 111, 100,  46, 112, 114, 111,
+    116, 111,  58,  82, 116, 115, 112,  70,
+     97,  99, 101,  86, 105, 101, 119,  46,
+    103, 101, 116,  70,  97,  99, 101,  76,
+    105, 115, 116,  36,  80,  97, 114,  97,
+    109, 115,   0,   0,   0,   0,   0,   0,
+      4,   0,   0,   0,   3,   0,   4,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     13,   0,   0,   0,  98,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     12,   0,   0,   0,   3,   0,   1,   0,
+     24,   0,   0,   0,   2,   0,   1,   0,
+     99,  97, 109, 101, 114,  97,  73, 110,
+    100, 101, 120,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0, }
+};
+::capnp::word const* const bp_f4f706a9386ea665 = b_f4f706a9386ea665.words;
+#if !CAPNP_LITE
+static const uint16_t m_f4f706a9386ea665[] = {0};
+static const uint16_t i_f4f706a9386ea665[] = {0};
+const ::capnp::_::RawSchema s_f4f706a9386ea665 = {
+  0xf4f706a9386ea665, b_f4f706a9386ea665.words, 36, nullptr, m_f4f706a9386ea665,
+  0, 1, i_f4f706a9386ea665, nullptr, nullptr, { &s_f4f706a9386ea665, nullptr, nullptr, 0, 0, nullptr }
+};
+#endif  // !CAPNP_LITE
+static const ::capnp::_::AlignedData<36> b_d65f3e173a095f0c = {
+  {   0,   0,   0,   0,   5,   0,   6,   0,
+     12,  95,   9,  58,  23,  62,  95, 214,
+     32,   0,   0,   0,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      1,   0,   7,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     21,   0,   0,   0, 162,   1,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     37,   0,   0,   0,  63,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     82, 101, 109, 111, 116, 101,  77, 101,
+    116, 104, 111, 100,  46, 112, 114, 111,
+    116, 111,  58,  82, 116, 115, 112,  70,
+     97,  99, 101,  86, 105, 101, 119,  46,
+    103, 101, 116,  70,  97,  99, 101,  76,
+    105, 115, 116,  36,  82, 101, 115, 117,
+    108, 116, 115,   0,   0,   0,   0,   0,
+      4,   0,   0,   0,   3,   0,   4,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     13,   0,   0,   0,  74,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     12,   0,   0,   0,   3,   0,   1,   0,
+     24,   0,   0,   0,   2,   0,   1,   0,
+    102,  97,  99, 101,  76, 105, 115, 116,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     13,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     13,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0, }
+};
+::capnp::word const* const bp_d65f3e173a095f0c = b_d65f3e173a095f0c.words;
+#if !CAPNP_LITE
+static const uint16_t m_d65f3e173a095f0c[] = {0};
+static const uint16_t i_d65f3e173a095f0c[] = {0};
+const ::capnp::_::RawSchema s_d65f3e173a095f0c = {
+  0xd65f3e173a095f0c, b_d65f3e173a095f0c.words, 36, nullptr, m_d65f3e173a095f0c,
+  0, 1, i_d65f3e173a095f0c, nullptr, nullptr, { &s_d65f3e173a095f0c, nullptr, nullptr, 0, 0, nullptr }
+};
+#endif  // !CAPNP_LITE
+static const ::capnp::_::AlignedData<36> b_f3919e3b9ef84081 = {
+  {   0,   0,   0,   0,   5,   0,   6,   0,
+    129,  64, 248, 158,  59, 158, 145, 243,
+     32,   0,   0,   0,   1,   0,   1,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   7,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     21,   0,   0,   0, 170,   1,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     37,   0,   0,   0,  63,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     82, 101, 109, 111, 116, 101,  77, 101,
+    116, 104, 111, 100,  46, 112, 114, 111,
+    116, 111,  58,  82, 116, 115, 112,  70,
+     97,  99, 101,  86, 105, 101, 119,  46,
+    103, 101, 116,  70,  97,  99, 101,  73,
+    109,  97, 103, 101, 115,  36,  80,  97,
+    114,  97, 109, 115,   0,   0,   0,   0,
+      4,   0,   0,   0,   3,   0,   4,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     13,   0,   0,   0,  98,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     12,   0,   0,   0,   3,   0,   1,   0,
+     24,   0,   0,   0,   2,   0,   1,   0,
+     99,  97, 109, 101, 114,  97,  73, 110,
+    100, 101, 120,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0, }
+};
+::capnp::word const* const bp_f3919e3b9ef84081 = b_f3919e3b9ef84081.words;
+#if !CAPNP_LITE
+static const uint16_t m_f3919e3b9ef84081[] = {0};
+static const uint16_t i_f3919e3b9ef84081[] = {0};
+const ::capnp::_::RawSchema s_f3919e3b9ef84081 = {
+  0xf3919e3b9ef84081, b_f3919e3b9ef84081.words, 36, nullptr, m_f3919e3b9ef84081,
+  0, 1, i_f3919e3b9ef84081, nullptr, nullptr, { &s_f3919e3b9ef84081, nullptr, nullptr, 0, 0, nullptr }
+};
+#endif  // !CAPNP_LITE
+static const ::capnp::_::AlignedData<51> b_e4dc299ded75e435 = {
+  {   0,   0,   0,   0,   5,   0,   6,   0,
+     53, 228, 117, 237, 157,  41, 220, 228,
+     32,   0,   0,   0,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      2,   0,   7,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     21,   0,   0,   0, 178,   1,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     37,   0,   0,   0, 119,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     82, 101, 109, 111, 116, 101,  77, 101,
+    116, 104, 111, 100,  46, 112, 114, 111,
+    116, 111,  58,  82, 116, 115, 112,  70,
+     97,  99, 101,  86, 105, 101, 119,  46,
+    103, 101, 116,  70,  97,  99, 101,  73,
+    109,  97, 103, 101, 115,  36,  82, 101,
+    115, 117, 108, 116, 115,   0,   0,   0,
+      8,   0,   0,   0,   3,   0,   4,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     41,   0,   0,   0, 106,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     40,   0,   0,   0,   3,   0,   1,   0,
+     52,   0,   0,   0,   2,   0,   1,   0,
+      1,   0,   0,   0,   1,   0,   0,   0,
+      0,   0,   1,   0,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     49,   0,   0,   0,  66,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     44,   0,   0,   0,   3,   0,   1,   0,
+     56,   0,   0,   0,   2,   0,   1,   0,
+    105, 109, 103,  73, 110, 100, 101, 120,
+     68,  97, 116,  97,   0,   0,   0,   0,
+     13,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     13,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    105, 109, 103,  68,  97, 116,  97,   0,
+     13,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     13,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0, }
+};
+::capnp::word const* const bp_e4dc299ded75e435 = b_e4dc299ded75e435.words;
+#if !CAPNP_LITE
+static const uint16_t m_e4dc299ded75e435[] = {1, 0};
+static const uint16_t i_e4dc299ded75e435[] = {0, 1};
+const ::capnp::_::RawSchema s_e4dc299ded75e435 = {
+  0xe4dc299ded75e435, b_e4dc299ded75e435.words, 51, nullptr, m_e4dc299ded75e435,
+  0, 2, i_e4dc299ded75e435, nullptr, nullptr, { &s_e4dc299ded75e435, nullptr, nullptr, 0, 0, nullptr }
+};
+#endif  // !CAPNP_LITE
+static const ::capnp::_::AlignedData<66> b_8285878422bfb1aa = {
+  {   0,   0,   0,   0,   5,   0,   6,   0,
+    170, 177, 191,  34, 132, 135, 133, 130,
+     32,   0,   0,   0,   1,   0,   1,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      1,   0,   7,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     21,   0,   0,   0, 162,   1,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     37,   0,   0,   0, 175,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     82, 101, 109, 111, 116, 101,  77, 101,
+    116, 104, 111, 100,  46, 112, 114, 111,
+    116, 111,  58,  82, 116, 115, 112,  70,
+     97,  99, 101,  86, 105, 101, 119,  46,
+    115, 101, 116,  70,  97,  99, 101,  76,
+     97,  98, 101, 108,  36,  80,  97, 114,
+     97, 109, 115,   0,   0,   0,   0,   0,
+     12,   0,   0,   0,   3,   0,   4,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     69,   0,   0,   0,  98,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     68,   0,   0,   0,   3,   0,   1,   0,
+     80,   0,   0,   0,   2,   0,   1,   0,
+      1,   0,   0,   0,   1,   0,   0,   0,
+      0,   0,   1,   0,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     77,   0,   0,   0,  66,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     72,   0,   0,   0,   3,   0,   1,   0,
+     84,   0,   0,   0,   2,   0,   1,   0,
+      2,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   1,   0,   2,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     81,   0,   0,   0,  50,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     76,   0,   0,   0,   3,   0,   1,   0,
+     88,   0,   0,   0,   2,   0,   1,   0,
+     99,  97, 109, 101, 114,  97,  73, 110,
+    100, 101, 120,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    116, 114,  97,  99, 107,  73, 100,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      8,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+    108,  97,  98, 101, 108,   0,   0,   0,
+     12,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     12,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0, }
+};
+::capnp::word const* const bp_8285878422bfb1aa = b_8285878422bfb1aa.words;
+#if !CAPNP_LITE
+static const uint16_t m_8285878422bfb1aa[] = {0, 2, 1};
+static const uint16_t i_8285878422bfb1aa[] = {0, 1, 2};
+const ::capnp::_::RawSchema s_8285878422bfb1aa = {
+  0x8285878422bfb1aa, b_8285878422bfb1aa.words, 66, nullptr, m_8285878422bfb1aa,
+  0, 3, i_8285878422bfb1aa, nullptr, nullptr, { &s_8285878422bfb1aa, nullptr, nullptr, 0, 0, nullptr }
+};
+#endif  // !CAPNP_LITE
+static const ::capnp::_::AlignedData<19> b_d93fccd73f274266 = {
+  {   0,   0,   0,   0,   5,   0,   6,   0,
+    102,  66,  39,  63, 215, 204,  63, 217,
+     32,   0,   0,   0,   1,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   7,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     21,   0,   0,   0, 170,   1,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+      0,   0,   0,   0,   0,   0,   0,   0,
+     82, 101, 109, 111, 116, 101,  77, 101,
+    116, 104, 111, 100,  46, 112, 114, 111,
+    116, 111,  58,  82, 116, 115, 112,  70,
+     97,  99, 101,  86, 105, 101, 119,  46,
+    115, 101, 116,  70,  97,  99, 101,  76,
+     97,  98, 101, 108,  36,  82, 101, 115,
+    117, 108, 116, 115,   0,   0,   0,   0, }
+};
+::capnp::word const* const bp_d93fccd73f274266 = b_d93fccd73f274266.words;
+#if !CAPNP_LITE
+const ::capnp::_::RawSchema s_d93fccd73f274266 = {
+  0xd93fccd73f274266, b_d93fccd73f274266.words, 19, nullptr, nullptr,
+  0, 0, nullptr, nullptr, nullptr, { &s_d93fccd73f274266, nullptr, nullptr, 0, 0, nullptr }
+};
+#endif  // !CAPNP_LITE
+}  // namespace schemas
+}  // namespace capnp
+
+// =======================================================================================
+
+
+#if !CAPNP_LITE
+::capnp::Request< ::RtspFaceDetect::FireFaceCountListenerParams,  ::RtspFaceDetect::FireFaceCountListenerResults>
+RtspFaceDetect::Client::fireFaceCountListenerRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
+  return newCall< ::RtspFaceDetect::FireFaceCountListenerParams,  ::RtspFaceDetect::FireFaceCountListenerResults>(
+      0xfe696f70a406f213ull, 0, sizeHint);
+}
+::kj::Promise<void> RtspFaceDetect::Server::fireFaceCountListener(FireFaceCountListenerContext) {
+  return ::capnp::Capability::Server::internalUnimplemented(
+      "RemoteMethod.proto:RtspFaceDetect", "fireFaceCountListener",
+      0xfe696f70a406f213ull, 0);
+}
+::kj::Promise<void> RtspFaceDetect::Server::dispatchCall(
+    uint64_t interfaceId, uint16_t methodId,
+    ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context) {
+  switch (interfaceId) {
+    case 0xfe696f70a406f213ull:
+      return dispatchCallInternal(methodId, context);
+    default:
+      return internalUnimplemented("RemoteMethod.proto:RtspFaceDetect", interfaceId);
+  }
+}
+::kj::Promise<void> RtspFaceDetect::Server::dispatchCallInternal(
+    uint16_t methodId,
+    ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context) {
+  switch (methodId) {
+    case 0:
+      return fireFaceCountListener(::capnp::Capability::Server::internalGetTypedContext<
+           ::RtspFaceDetect::FireFaceCountListenerParams,  ::RtspFaceDetect::FireFaceCountListenerResults>(context));
+    default:
+      (void)context;
+      return ::capnp::Capability::Server::internalUnimplemented(
+          "RemoteMethod.proto:RtspFaceDetect",
+          0xfe696f70a406f213ull, methodId);
+  }
+}
+#endif  // !CAPNP_LITE
+
+// RtspFaceDetect
+#if !CAPNP_LITE
+constexpr ::capnp::Kind RtspFaceDetect::_capnpPrivate::kind;
+constexpr ::capnp::_::RawSchema const* RtspFaceDetect::_capnpPrivate::schema;
+#endif  // !CAPNP_LITE
+
+// RtspFaceDetect::FireFaceCountListenerParams
+constexpr uint16_t RtspFaceDetect::FireFaceCountListenerParams::_capnpPrivate::dataWordSize;
+constexpr uint16_t RtspFaceDetect::FireFaceCountListenerParams::_capnpPrivate::pointerCount;
+#if !CAPNP_LITE
+constexpr ::capnp::Kind RtspFaceDetect::FireFaceCountListenerParams::_capnpPrivate::kind;
+constexpr ::capnp::_::RawSchema const* RtspFaceDetect::FireFaceCountListenerParams::_capnpPrivate::schema;
+#endif  // !CAPNP_LITE
+
+// RtspFaceDetect::FireFaceCountListenerResults
+constexpr uint16_t RtspFaceDetect::FireFaceCountListenerResults::_capnpPrivate::dataWordSize;
+constexpr uint16_t RtspFaceDetect::FireFaceCountListenerResults::_capnpPrivate::pointerCount;
+#if !CAPNP_LITE
+constexpr ::capnp::Kind RtspFaceDetect::FireFaceCountListenerResults::_capnpPrivate::kind;
+constexpr ::capnp::_::RawSchema const* RtspFaceDetect::FireFaceCountListenerResults::_capnpPrivate::schema;
+#endif  // !CAPNP_LITE
+
+#if !CAPNP_LITE
+::capnp::Request< ::RtspFaceView::GetFaceListParams,  ::RtspFaceView::GetFaceListResults>
+RtspFaceView::Client::getFaceListRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
+  return newCall< ::RtspFaceView::GetFaceListParams,  ::RtspFaceView::GetFaceListResults>(
+      0x8be3cf35c0c628deull, 0, sizeHint);
+}
+::kj::Promise<void> RtspFaceView::Server::getFaceList(GetFaceListContext) {
+  return ::capnp::Capability::Server::internalUnimplemented(
+      "RemoteMethod.proto:RtspFaceView", "getFaceList",
+      0x8be3cf35c0c628deull, 0);
+}
+::capnp::Request< ::RtspFaceView::GetFaceImagesParams,  ::RtspFaceView::GetFaceImagesResults>
+RtspFaceView::Client::getFaceImagesRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
+  return newCall< ::RtspFaceView::GetFaceImagesParams,  ::RtspFaceView::GetFaceImagesResults>(
+      0x8be3cf35c0c628deull, 1, sizeHint);
+}
+::kj::Promise<void> RtspFaceView::Server::getFaceImages(GetFaceImagesContext) {
+  return ::capnp::Capability::Server::internalUnimplemented(
+      "RemoteMethod.proto:RtspFaceView", "getFaceImages",
+      0x8be3cf35c0c628deull, 1);
+}
+::capnp::Request< ::RtspFaceView::SetFaceLabelParams,  ::RtspFaceView::SetFaceLabelResults>
+RtspFaceView::Client::setFaceLabelRequest(::kj::Maybe< ::capnp::MessageSize> sizeHint) {
+  return newCall< ::RtspFaceView::SetFaceLabelParams,  ::RtspFaceView::SetFaceLabelResults>(
+      0x8be3cf35c0c628deull, 2, sizeHint);
+}
+::kj::Promise<void> RtspFaceView::Server::setFaceLabel(SetFaceLabelContext) {
+  return ::capnp::Capability::Server::internalUnimplemented(
+      "RemoteMethod.proto:RtspFaceView", "setFaceLabel",
+      0x8be3cf35c0c628deull, 2);
+}
+::kj::Promise<void> RtspFaceView::Server::dispatchCall(
+    uint64_t interfaceId, uint16_t methodId,
+    ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context) {
+  switch (interfaceId) {
+    case 0x8be3cf35c0c628deull:
+      return dispatchCallInternal(methodId, context);
+    default:
+      return internalUnimplemented("RemoteMethod.proto:RtspFaceView", interfaceId);
+  }
+}
+::kj::Promise<void> RtspFaceView::Server::dispatchCallInternal(
+    uint16_t methodId,
+    ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context) {
+  switch (methodId) {
+    case 0:
+      return getFaceList(::capnp::Capability::Server::internalGetTypedContext<
+           ::RtspFaceView::GetFaceListParams,  ::RtspFaceView::GetFaceListResults>(context));
+    case 1:
+      return getFaceImages(::capnp::Capability::Server::internalGetTypedContext<
+           ::RtspFaceView::GetFaceImagesParams,  ::RtspFaceView::GetFaceImagesResults>(context));
+    case 2:
+      return setFaceLabel(::capnp::Capability::Server::internalGetTypedContext<
+           ::RtspFaceView::SetFaceLabelParams,  ::RtspFaceView::SetFaceLabelResults>(context));
+    default:
+      (void)context;
+      return ::capnp::Capability::Server::internalUnimplemented(
+          "RemoteMethod.proto:RtspFaceView",
+          0x8be3cf35c0c628deull, methodId);
+  }
+}
+#endif  // !CAPNP_LITE
+
+// RtspFaceView
+#if !CAPNP_LITE
+constexpr ::capnp::Kind RtspFaceView::_capnpPrivate::kind;
+constexpr ::capnp::_::RawSchema const* RtspFaceView::_capnpPrivate::schema;
+#endif  // !CAPNP_LITE
+
+// RtspFaceView::GetFaceListParams
+constexpr uint16_t RtspFaceView::GetFaceListParams::_capnpPrivate::dataWordSize;
+constexpr uint16_t RtspFaceView::GetFaceListParams::_capnpPrivate::pointerCount;
+#if !CAPNP_LITE
+constexpr ::capnp::Kind RtspFaceView::GetFaceListParams::_capnpPrivate::kind;
+constexpr ::capnp::_::RawSchema const* RtspFaceView::GetFaceListParams::_capnpPrivate::schema;
+#endif  // !CAPNP_LITE
+
+// RtspFaceView::GetFaceListResults
+constexpr uint16_t RtspFaceView::GetFaceListResults::_capnpPrivate::dataWordSize;
+constexpr uint16_t RtspFaceView::GetFaceListResults::_capnpPrivate::pointerCount;
+#if !CAPNP_LITE
+constexpr ::capnp::Kind RtspFaceView::GetFaceListResults::_capnpPrivate::kind;
+constexpr ::capnp::_::RawSchema const* RtspFaceView::GetFaceListResults::_capnpPrivate::schema;
+#endif  // !CAPNP_LITE
+
+// RtspFaceView::GetFaceImagesParams
+constexpr uint16_t RtspFaceView::GetFaceImagesParams::_capnpPrivate::dataWordSize;
+constexpr uint16_t RtspFaceView::GetFaceImagesParams::_capnpPrivate::pointerCount;
+#if !CAPNP_LITE
+constexpr ::capnp::Kind RtspFaceView::GetFaceImagesParams::_capnpPrivate::kind;
+constexpr ::capnp::_::RawSchema const* RtspFaceView::GetFaceImagesParams::_capnpPrivate::schema;
+#endif  // !CAPNP_LITE
+
+// RtspFaceView::GetFaceImagesResults
+constexpr uint16_t RtspFaceView::GetFaceImagesResults::_capnpPrivate::dataWordSize;
+constexpr uint16_t RtspFaceView::GetFaceImagesResults::_capnpPrivate::pointerCount;
+#if !CAPNP_LITE
+constexpr ::capnp::Kind RtspFaceView::GetFaceImagesResults::_capnpPrivate::kind;
+constexpr ::capnp::_::RawSchema const* RtspFaceView::GetFaceImagesResults::_capnpPrivate::schema;
+#endif  // !CAPNP_LITE
+
+// RtspFaceView::SetFaceLabelParams
+constexpr uint16_t RtspFaceView::SetFaceLabelParams::_capnpPrivate::dataWordSize;
+constexpr uint16_t RtspFaceView::SetFaceLabelParams::_capnpPrivate::pointerCount;
+#if !CAPNP_LITE
+constexpr ::capnp::Kind RtspFaceView::SetFaceLabelParams::_capnpPrivate::kind;
+constexpr ::capnp::_::RawSchema const* RtspFaceView::SetFaceLabelParams::_capnpPrivate::schema;
+#endif  // !CAPNP_LITE
+
+// RtspFaceView::SetFaceLabelResults
+constexpr uint16_t RtspFaceView::SetFaceLabelResults::_capnpPrivate::dataWordSize;
+constexpr uint16_t RtspFaceView::SetFaceLabelResults::_capnpPrivate::pointerCount;
+#if !CAPNP_LITE
+constexpr ::capnp::Kind RtspFaceView::SetFaceLabelResults::_capnpPrivate::kind;
+constexpr ::capnp::_::RawSchema const* RtspFaceView::SetFaceLabelResults::_capnpPrivate::schema;
+#endif  // !CAPNP_LITE
+
+
+
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteMethod.proto.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteMethod.proto.h
new file mode 100644
index 0000000..5c26256
--- /dev/null
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RemoteMethod.proto.h
@@ -0,0 +1,1222 @@
+// Generated by Cap'n Proto compiler, DO NOT EDIT
+// source: RemoteMethod.proto
+
+#ifndef CAPNP_INCLUDED_d6ce09ec6f6d1f1a_
+#define CAPNP_INCLUDED_d6ce09ec6f6d1f1a_
+
+#include <capnp/generated-header-support.h>
+#if !CAPNP_LITE
+#include <capnp/capability.h>
+#endif  // !CAPNP_LITE
+
+#if CAPNP_VERSION != 7000
+#error "Version mismatch between generated code and library headers.  You must use the same version of the Cap'n Proto compiler and library."
+#endif
+
+
+namespace capnp {
+namespace schemas {
+
+CAPNP_DECLARE_SCHEMA(fe696f70a406f213);
+CAPNP_DECLARE_SCHEMA(f4ba53e90acd7f5b);
+CAPNP_DECLARE_SCHEMA(f1cdc6e2be36d3b4);
+CAPNP_DECLARE_SCHEMA(8be3cf35c0c628de);
+CAPNP_DECLARE_SCHEMA(f4f706a9386ea665);
+CAPNP_DECLARE_SCHEMA(d65f3e173a095f0c);
+CAPNP_DECLARE_SCHEMA(f3919e3b9ef84081);
+CAPNP_DECLARE_SCHEMA(e4dc299ded75e435);
+CAPNP_DECLARE_SCHEMA(8285878422bfb1aa);
+CAPNP_DECLARE_SCHEMA(d93fccd73f274266);
+
+}  // namespace schemas
+}  // namespace capnp
+
+
+struct RtspFaceDetect {
+  RtspFaceDetect() = delete;
+
+#if !CAPNP_LITE
+  class Client;
+  class Server;
+#endif  // !CAPNP_LITE
+
+  struct FireFaceCountListenerParams;
+  struct FireFaceCountListenerResults;
+
+  #if !CAPNP_LITE
+  struct _capnpPrivate {
+    CAPNP_DECLARE_INTERFACE_HEADER(fe696f70a406f213)
+    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
+  };
+  #endif  // !CAPNP_LITE
+};
+
+struct RtspFaceDetect::FireFaceCountListenerParams {
+  FireFaceCountListenerParams() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(f4ba53e90acd7f5b, 1, 0)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RtspFaceDetect::FireFaceCountListenerResults {
+  FireFaceCountListenerResults() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(f1cdc6e2be36d3b4, 0, 0)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RtspFaceView {
+  RtspFaceView() = delete;
+
+#if !CAPNP_LITE
+  class Client;
+  class Server;
+#endif  // !CAPNP_LITE
+
+  struct GetFaceListParams;
+  struct GetFaceListResults;
+  struct GetFaceImagesParams;
+  struct GetFaceImagesResults;
+  struct SetFaceLabelParams;
+  struct SetFaceLabelResults;
+
+  #if !CAPNP_LITE
+  struct _capnpPrivate {
+    CAPNP_DECLARE_INTERFACE_HEADER(8be3cf35c0c628de)
+    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
+  };
+  #endif  // !CAPNP_LITE
+};
+
+struct RtspFaceView::GetFaceListParams {
+  GetFaceListParams() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(f4f706a9386ea665, 1, 0)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RtspFaceView::GetFaceListResults {
+  GetFaceListResults() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(d65f3e173a095f0c, 0, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RtspFaceView::GetFaceImagesParams {
+  GetFaceImagesParams() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(f3919e3b9ef84081, 1, 0)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RtspFaceView::GetFaceImagesResults {
+  GetFaceImagesResults() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(e4dc299ded75e435, 0, 2)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RtspFaceView::SetFaceLabelParams {
+  SetFaceLabelParams() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(8285878422bfb1aa, 1, 1)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
+    #endif  // !CAPNP_LITE
+  };
+};
+
+struct RtspFaceView::SetFaceLabelResults {
+  SetFaceLabelResults() = delete;
+
+  class Reader;
+  class Builder;
+  class Pipeline;
+
+  struct _capnpPrivate {
+    CAPNP_DECLARE_STRUCT_HEADER(d93fccd73f274266, 0, 0)
+    #if !CAPNP_LITE
+    static constexpr ::capnp::_::RawBrandedSchema const* brand() { return &schema->defaultBrand; }
+    #endif  // !CAPNP_LITE
+  };
+};
+
+// =======================================================================================
+
+#if !CAPNP_LITE
+class RtspFaceDetect::Client
+    : public virtual ::capnp::Capability::Client {
+public:
+  typedef RtspFaceDetect Calls;
+  typedef RtspFaceDetect Reads;
+
+  Client(decltype(nullptr));
+  explicit Client(::kj::Own< ::capnp::ClientHook>&& hook);
+  template <typename _t, typename = ::kj::EnableIf< ::kj::canConvert<_t*, Server*>()>>
+  Client(::kj::Own<_t>&& server);
+  template <typename _t, typename = ::kj::EnableIf< ::kj::canConvert<_t*, Client*>()>>
+  Client(::kj::Promise<_t>&& promise);
+  Client(::kj::Exception&& exception);
+  Client(Client&) = default;
+  Client(Client&&) = default;
+  Client& operator=(Client& other);
+  Client& operator=(Client&& other);
+
+  ::capnp::Request< ::RtspFaceDetect::FireFaceCountListenerParams,  ::RtspFaceDetect::FireFaceCountListenerResults> fireFaceCountListenerRequest(
+      ::kj::Maybe< ::capnp::MessageSize> sizeHint = nullptr);
+
+protected:
+  Client() = default;
+};
+
+class RtspFaceDetect::Server
+    : public virtual ::capnp::Capability::Server {
+public:
+  typedef RtspFaceDetect Serves;
+
+  ::kj::Promise<void> dispatchCall(uint64_t interfaceId, uint16_t methodId,
+      ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context)
+      override;
+
+protected:
+  typedef  ::RtspFaceDetect::FireFaceCountListenerParams FireFaceCountListenerParams;
+  typedef  ::RtspFaceDetect::FireFaceCountListenerResults FireFaceCountListenerResults;
+  typedef ::capnp::CallContext<FireFaceCountListenerParams, FireFaceCountListenerResults> FireFaceCountListenerContext;
+  virtual ::kj::Promise<void> fireFaceCountListener(FireFaceCountListenerContext context);
+
+  inline  ::RtspFaceDetect::Client thisCap() {
+    return ::capnp::Capability::Server::thisCap()
+        .template castAs< ::RtspFaceDetect>();
+  }
+
+  ::kj::Promise<void> dispatchCallInternal(uint16_t methodId,
+      ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context);
+};
+#endif  // !CAPNP_LITE
+
+class RtspFaceDetect::FireFaceCountListenerParams::Reader {
+public:
+  typedef FireFaceCountListenerParams Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::uint32_t getCameraIndex() const;
+
+  inline  ::uint32_t getFaceCount() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RtspFaceDetect::FireFaceCountListenerParams::Builder {
+public:
+  typedef FireFaceCountListenerParams Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::uint32_t getCameraIndex();
+  inline void setCameraIndex( ::uint32_t value);
+
+  inline  ::uint32_t getFaceCount();
+  inline void setFaceCount( ::uint32_t value);
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RtspFaceDetect::FireFaceCountListenerParams::Pipeline {
+public:
+  typedef FireFaceCountListenerParams Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RtspFaceDetect::FireFaceCountListenerResults::Reader {
+public:
+  typedef FireFaceCountListenerResults Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
+  }
+#endif  // !CAPNP_LITE
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RtspFaceDetect::FireFaceCountListenerResults::Builder {
+public:
+  typedef FireFaceCountListenerResults Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RtspFaceDetect::FireFaceCountListenerResults::Pipeline {
+public:
+  typedef FireFaceCountListenerResults Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+#if !CAPNP_LITE
+class RtspFaceView::Client
+    : public virtual ::capnp::Capability::Client {
+public:
+  typedef RtspFaceView Calls;
+  typedef RtspFaceView Reads;
+
+  Client(decltype(nullptr));
+  explicit Client(::kj::Own< ::capnp::ClientHook>&& hook);
+  template <typename _t, typename = ::kj::EnableIf< ::kj::canConvert<_t*, Server*>()>>
+  Client(::kj::Own<_t>&& server);
+  template <typename _t, typename = ::kj::EnableIf< ::kj::canConvert<_t*, Client*>()>>
+  Client(::kj::Promise<_t>&& promise);
+  Client(::kj::Exception&& exception);
+  Client(Client&) = default;
+  Client(Client&&) = default;
+  Client& operator=(Client& other);
+  Client& operator=(Client&& other);
+
+  ::capnp::Request< ::RtspFaceView::GetFaceListParams,  ::RtspFaceView::GetFaceListResults> getFaceListRequest(
+      ::kj::Maybe< ::capnp::MessageSize> sizeHint = nullptr);
+  ::capnp::Request< ::RtspFaceView::GetFaceImagesParams,  ::RtspFaceView::GetFaceImagesResults> getFaceImagesRequest(
+      ::kj::Maybe< ::capnp::MessageSize> sizeHint = nullptr);
+  ::capnp::Request< ::RtspFaceView::SetFaceLabelParams,  ::RtspFaceView::SetFaceLabelResults> setFaceLabelRequest(
+      ::kj::Maybe< ::capnp::MessageSize> sizeHint = nullptr);
+
+protected:
+  Client() = default;
+};
+
+class RtspFaceView::Server
+    : public virtual ::capnp::Capability::Server {
+public:
+  typedef RtspFaceView Serves;
+
+  ::kj::Promise<void> dispatchCall(uint64_t interfaceId, uint16_t methodId,
+      ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context)
+      override;
+
+protected:
+  typedef  ::RtspFaceView::GetFaceListParams GetFaceListParams;
+  typedef  ::RtspFaceView::GetFaceListResults GetFaceListResults;
+  typedef ::capnp::CallContext<GetFaceListParams, GetFaceListResults> GetFaceListContext;
+  virtual ::kj::Promise<void> getFaceList(GetFaceListContext context);
+  typedef  ::RtspFaceView::GetFaceImagesParams GetFaceImagesParams;
+  typedef  ::RtspFaceView::GetFaceImagesResults GetFaceImagesResults;
+  typedef ::capnp::CallContext<GetFaceImagesParams, GetFaceImagesResults> GetFaceImagesContext;
+  virtual ::kj::Promise<void> getFaceImages(GetFaceImagesContext context);
+  typedef  ::RtspFaceView::SetFaceLabelParams SetFaceLabelParams;
+  typedef  ::RtspFaceView::SetFaceLabelResults SetFaceLabelResults;
+  typedef ::capnp::CallContext<SetFaceLabelParams, SetFaceLabelResults> SetFaceLabelContext;
+  virtual ::kj::Promise<void> setFaceLabel(SetFaceLabelContext context);
+
+  inline  ::RtspFaceView::Client thisCap() {
+    return ::capnp::Capability::Server::thisCap()
+        .template castAs< ::RtspFaceView>();
+  }
+
+  ::kj::Promise<void> dispatchCallInternal(uint16_t methodId,
+      ::capnp::CallContext< ::capnp::AnyPointer, ::capnp::AnyPointer> context);
+};
+#endif  // !CAPNP_LITE
+
+class RtspFaceView::GetFaceListParams::Reader {
+public:
+  typedef GetFaceListParams Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::uint32_t getCameraIndex() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RtspFaceView::GetFaceListParams::Builder {
+public:
+  typedef GetFaceListParams Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::uint32_t getCameraIndex();
+  inline void setCameraIndex( ::uint32_t value);
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RtspFaceView::GetFaceListParams::Pipeline {
+public:
+  typedef GetFaceListParams Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RtspFaceView::GetFaceListResults::Reader {
+public:
+  typedef GetFaceListResults Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasFaceList() const;
+  inline  ::capnp::Data::Reader getFaceList() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RtspFaceView::GetFaceListResults::Builder {
+public:
+  typedef GetFaceListResults Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasFaceList();
+  inline  ::capnp::Data::Builder getFaceList();
+  inline void setFaceList( ::capnp::Data::Reader value);
+  inline  ::capnp::Data::Builder initFaceList(unsigned int size);
+  inline void adoptFaceList(::capnp::Orphan< ::capnp::Data>&& value);
+  inline ::capnp::Orphan< ::capnp::Data> disownFaceList();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RtspFaceView::GetFaceListResults::Pipeline {
+public:
+  typedef GetFaceListResults Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RtspFaceView::GetFaceImagesParams::Reader {
+public:
+  typedef GetFaceImagesParams Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::uint32_t getCameraIndex() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RtspFaceView::GetFaceImagesParams::Builder {
+public:
+  typedef GetFaceImagesParams Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::uint32_t getCameraIndex();
+  inline void setCameraIndex( ::uint32_t value);
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RtspFaceView::GetFaceImagesParams::Pipeline {
+public:
+  typedef GetFaceImagesParams Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RtspFaceView::GetFaceImagesResults::Reader {
+public:
+  typedef GetFaceImagesResults Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
+  }
+#endif  // !CAPNP_LITE
+
+  inline bool hasImgIndexData() const;
+  inline  ::capnp::Data::Reader getImgIndexData() const;
+
+  inline bool hasImgData() const;
+  inline  ::capnp::Data::Reader getImgData() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RtspFaceView::GetFaceImagesResults::Builder {
+public:
+  typedef GetFaceImagesResults Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline bool hasImgIndexData();
+  inline  ::capnp::Data::Builder getImgIndexData();
+  inline void setImgIndexData( ::capnp::Data::Reader value);
+  inline  ::capnp::Data::Builder initImgIndexData(unsigned int size);
+  inline void adoptImgIndexData(::capnp::Orphan< ::capnp::Data>&& value);
+  inline ::capnp::Orphan< ::capnp::Data> disownImgIndexData();
+
+  inline bool hasImgData();
+  inline  ::capnp::Data::Builder getImgData();
+  inline void setImgData( ::capnp::Data::Reader value);
+  inline  ::capnp::Data::Builder initImgData(unsigned int size);
+  inline void adoptImgData(::capnp::Orphan< ::capnp::Data>&& value);
+  inline ::capnp::Orphan< ::capnp::Data> disownImgData();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RtspFaceView::GetFaceImagesResults::Pipeline {
+public:
+  typedef GetFaceImagesResults Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RtspFaceView::SetFaceLabelParams::Reader {
+public:
+  typedef SetFaceLabelParams Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
+  }
+#endif  // !CAPNP_LITE
+
+  inline  ::uint32_t getCameraIndex() const;
+
+  inline  ::uint32_t getTrackId() const;
+
+  inline bool hasLabel() const;
+  inline  ::capnp::Text::Reader getLabel() const;
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RtspFaceView::SetFaceLabelParams::Builder {
+public:
+  typedef SetFaceLabelParams Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+  inline  ::uint32_t getCameraIndex();
+  inline void setCameraIndex( ::uint32_t value);
+
+  inline  ::uint32_t getTrackId();
+  inline void setTrackId( ::uint32_t value);
+
+  inline bool hasLabel();
+  inline  ::capnp::Text::Builder getLabel();
+  inline void setLabel( ::capnp::Text::Reader value);
+  inline  ::capnp::Text::Builder initLabel(unsigned int size);
+  inline void adoptLabel(::capnp::Orphan< ::capnp::Text>&& value);
+  inline ::capnp::Orphan< ::capnp::Text> disownLabel();
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RtspFaceView::SetFaceLabelParams::Pipeline {
+public:
+  typedef SetFaceLabelParams Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+class RtspFaceView::SetFaceLabelResults::Reader {
+public:
+  typedef SetFaceLabelResults Reads;
+
+  Reader() = default;
+  inline explicit Reader(::capnp::_::StructReader base): _reader(base) {}
+
+  inline ::capnp::MessageSize totalSize() const {
+    return _reader.totalSize().asPublic();
+  }
+
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const {
+    return ::capnp::_::structString(_reader, *_capnpPrivate::brand());
+  }
+#endif  // !CAPNP_LITE
+
+private:
+  ::capnp::_::StructReader _reader;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::List;
+  friend class ::capnp::MessageBuilder;
+  friend class ::capnp::Orphanage;
+};
+
+class RtspFaceView::SetFaceLabelResults::Builder {
+public:
+  typedef SetFaceLabelResults Builds;
+
+  Builder() = delete;  // Deleted to discourage incorrect usage.
+                       // You can explicitly initialize to nullptr instead.
+  inline Builder(decltype(nullptr)) {}
+  inline explicit Builder(::capnp::_::StructBuilder base): _builder(base) {}
+  inline operator Reader() const { return Reader(_builder.asReader()); }
+  inline Reader asReader() const { return *this; }
+
+  inline ::capnp::MessageSize totalSize() const { return asReader().totalSize(); }
+#if !CAPNP_LITE
+  inline ::kj::StringTree toString() const { return asReader().toString(); }
+#endif  // !CAPNP_LITE
+
+private:
+  ::capnp::_::StructBuilder _builder;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+  friend class ::capnp::Orphanage;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::_::PointerHelpers;
+};
+
+#if !CAPNP_LITE
+class RtspFaceView::SetFaceLabelResults::Pipeline {
+public:
+  typedef SetFaceLabelResults Pipelines;
+
+  inline Pipeline(decltype(nullptr)): _typeless(nullptr) {}
+  inline explicit Pipeline(::capnp::AnyPointer::Pipeline&& typeless)
+      : _typeless(kj::mv(typeless)) {}
+
+private:
+  ::capnp::AnyPointer::Pipeline _typeless;
+  friend class ::capnp::PipelineHook;
+  template <typename, ::capnp::Kind>
+  friend struct ::capnp::ToDynamic_;
+};
+#endif  // !CAPNP_LITE
+
+// =======================================================================================
+
+#if !CAPNP_LITE
+inline RtspFaceDetect::Client::Client(decltype(nullptr))
+    : ::capnp::Capability::Client(nullptr) {}
+inline RtspFaceDetect::Client::Client(
+    ::kj::Own< ::capnp::ClientHook>&& hook)
+    : ::capnp::Capability::Client(::kj::mv(hook)) {}
+template <typename _t, typename>
+inline RtspFaceDetect::Client::Client(::kj::Own<_t>&& server)
+    : ::capnp::Capability::Client(::kj::mv(server)) {}
+template <typename _t, typename>
+inline RtspFaceDetect::Client::Client(::kj::Promise<_t>&& promise)
+    : ::capnp::Capability::Client(::kj::mv(promise)) {}
+inline RtspFaceDetect::Client::Client(::kj::Exception&& exception)
+    : ::capnp::Capability::Client(::kj::mv(exception)) {}
+inline  ::RtspFaceDetect::Client& RtspFaceDetect::Client::operator=(Client& other) {
+  ::capnp::Capability::Client::operator=(other);
+  return *this;
+}
+inline  ::RtspFaceDetect::Client& RtspFaceDetect::Client::operator=(Client&& other) {
+  ::capnp::Capability::Client::operator=(kj::mv(other));
+  return *this;
+}
+
+#endif  // !CAPNP_LITE
+inline  ::uint32_t RtspFaceDetect::FireFaceCountListenerParams::Reader::getCameraIndex() const {
+  return _reader.getDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+}
+
+inline  ::uint32_t RtspFaceDetect::FireFaceCountListenerParams::Builder::getCameraIndex() {
+  return _builder.getDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+}
+inline void RtspFaceDetect::FireFaceCountListenerParams::Builder::setCameraIndex( ::uint32_t value) {
+  _builder.setDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
+}
+
+inline  ::uint32_t RtspFaceDetect::FireFaceCountListenerParams::Reader::getFaceCount() const {
+  return _reader.getDataField< ::uint32_t>(
+      ::capnp::bounded<1>() * ::capnp::ELEMENTS);
+}
+
+inline  ::uint32_t RtspFaceDetect::FireFaceCountListenerParams::Builder::getFaceCount() {
+  return _builder.getDataField< ::uint32_t>(
+      ::capnp::bounded<1>() * ::capnp::ELEMENTS);
+}
+inline void RtspFaceDetect::FireFaceCountListenerParams::Builder::setFaceCount( ::uint32_t value) {
+  _builder.setDataField< ::uint32_t>(
+      ::capnp::bounded<1>() * ::capnp::ELEMENTS, value);
+}
+
+#if !CAPNP_LITE
+inline RtspFaceView::Client::Client(decltype(nullptr))
+    : ::capnp::Capability::Client(nullptr) {}
+inline RtspFaceView::Client::Client(
+    ::kj::Own< ::capnp::ClientHook>&& hook)
+    : ::capnp::Capability::Client(::kj::mv(hook)) {}
+template <typename _t, typename>
+inline RtspFaceView::Client::Client(::kj::Own<_t>&& server)
+    : ::capnp::Capability::Client(::kj::mv(server)) {}
+template <typename _t, typename>
+inline RtspFaceView::Client::Client(::kj::Promise<_t>&& promise)
+    : ::capnp::Capability::Client(::kj::mv(promise)) {}
+inline RtspFaceView::Client::Client(::kj::Exception&& exception)
+    : ::capnp::Capability::Client(::kj::mv(exception)) {}
+inline  ::RtspFaceView::Client& RtspFaceView::Client::operator=(Client& other) {
+  ::capnp::Capability::Client::operator=(other);
+  return *this;
+}
+inline  ::RtspFaceView::Client& RtspFaceView::Client::operator=(Client&& other) {
+  ::capnp::Capability::Client::operator=(kj::mv(other));
+  return *this;
+}
+
+#endif  // !CAPNP_LITE
+inline  ::uint32_t RtspFaceView::GetFaceListParams::Reader::getCameraIndex() const {
+  return _reader.getDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+}
+
+inline  ::uint32_t RtspFaceView::GetFaceListParams::Builder::getCameraIndex() {
+  return _builder.getDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+}
+inline void RtspFaceView::GetFaceListParams::Builder::setCameraIndex( ::uint32_t value) {
+  _builder.setDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
+}
+
+inline bool RtspFaceView::GetFaceListResults::Reader::hasFaceList() const {
+  return !_reader.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
+}
+inline bool RtspFaceView::GetFaceListResults::Builder::hasFaceList() {
+  return !_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Data::Reader RtspFaceView::GetFaceListResults::Reader::getFaceList() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_reader.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS));
+}
+inline  ::capnp::Data::Builder RtspFaceView::GetFaceListResults::Builder::getFaceList() {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS));
+}
+inline void RtspFaceView::GetFaceListResults::Builder::setFaceList( ::capnp::Data::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Data>::set(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Data::Builder RtspFaceView::GetFaceListResults::Builder::initFaceList(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::init(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS), size);
+}
+inline void RtspFaceView::GetFaceListResults::Builder::adoptFaceList(
+    ::capnp::Orphan< ::capnp::Data>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Data>::adopt(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Data> RtspFaceView::GetFaceListResults::Builder::disownFaceList() {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::disown(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS));
+}
+
+inline  ::uint32_t RtspFaceView::GetFaceImagesParams::Reader::getCameraIndex() const {
+  return _reader.getDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+}
+
+inline  ::uint32_t RtspFaceView::GetFaceImagesParams::Builder::getCameraIndex() {
+  return _builder.getDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+}
+inline void RtspFaceView::GetFaceImagesParams::Builder::setCameraIndex( ::uint32_t value) {
+  _builder.setDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
+}
+
+inline bool RtspFaceView::GetFaceImagesResults::Reader::hasImgIndexData() const {
+  return !_reader.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
+}
+inline bool RtspFaceView::GetFaceImagesResults::Builder::hasImgIndexData() {
+  return !_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Data::Reader RtspFaceView::GetFaceImagesResults::Reader::getImgIndexData() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_reader.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS));
+}
+inline  ::capnp::Data::Builder RtspFaceView::GetFaceImagesResults::Builder::getImgIndexData() {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS));
+}
+inline void RtspFaceView::GetFaceImagesResults::Builder::setImgIndexData( ::capnp::Data::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Data>::set(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Data::Builder RtspFaceView::GetFaceImagesResults::Builder::initImgIndexData(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::init(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS), size);
+}
+inline void RtspFaceView::GetFaceImagesResults::Builder::adoptImgIndexData(
+    ::capnp::Orphan< ::capnp::Data>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Data>::adopt(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Data> RtspFaceView::GetFaceImagesResults::Builder::disownImgIndexData() {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::disown(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS));
+}
+
+inline bool RtspFaceView::GetFaceImagesResults::Reader::hasImgData() const {
+  return !_reader.getPointerField(
+      ::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
+}
+inline bool RtspFaceView::GetFaceImagesResults::Builder::hasImgData() {
+  return !_builder.getPointerField(
+      ::capnp::bounded<1>() * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Data::Reader RtspFaceView::GetFaceImagesResults::Reader::getImgData() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_reader.getPointerField(
+      ::capnp::bounded<1>() * ::capnp::POINTERS));
+}
+inline  ::capnp::Data::Builder RtspFaceView::GetFaceImagesResults::Builder::getImgData() {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::get(_builder.getPointerField(
+      ::capnp::bounded<1>() * ::capnp::POINTERS));
+}
+inline void RtspFaceView::GetFaceImagesResults::Builder::setImgData( ::capnp::Data::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Data>::set(_builder.getPointerField(
+      ::capnp::bounded<1>() * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Data::Builder RtspFaceView::GetFaceImagesResults::Builder::initImgData(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::init(_builder.getPointerField(
+      ::capnp::bounded<1>() * ::capnp::POINTERS), size);
+}
+inline void RtspFaceView::GetFaceImagesResults::Builder::adoptImgData(
+    ::capnp::Orphan< ::capnp::Data>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Data>::adopt(_builder.getPointerField(
+      ::capnp::bounded<1>() * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Data> RtspFaceView::GetFaceImagesResults::Builder::disownImgData() {
+  return ::capnp::_::PointerHelpers< ::capnp::Data>::disown(_builder.getPointerField(
+      ::capnp::bounded<1>() * ::capnp::POINTERS));
+}
+
+inline  ::uint32_t RtspFaceView::SetFaceLabelParams::Reader::getCameraIndex() const {
+  return _reader.getDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+}
+
+inline  ::uint32_t RtspFaceView::SetFaceLabelParams::Builder::getCameraIndex() {
+  return _builder.getDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS);
+}
+inline void RtspFaceView::SetFaceLabelParams::Builder::setCameraIndex( ::uint32_t value) {
+  _builder.setDataField< ::uint32_t>(
+      ::capnp::bounded<0>() * ::capnp::ELEMENTS, value);
+}
+
+inline  ::uint32_t RtspFaceView::SetFaceLabelParams::Reader::getTrackId() const {
+  return _reader.getDataField< ::uint32_t>(
+      ::capnp::bounded<1>() * ::capnp::ELEMENTS);
+}
+
+inline  ::uint32_t RtspFaceView::SetFaceLabelParams::Builder::getTrackId() {
+  return _builder.getDataField< ::uint32_t>(
+      ::capnp::bounded<1>() * ::capnp::ELEMENTS);
+}
+inline void RtspFaceView::SetFaceLabelParams::Builder::setTrackId( ::uint32_t value) {
+  _builder.setDataField< ::uint32_t>(
+      ::capnp::bounded<1>() * ::capnp::ELEMENTS, value);
+}
+
+inline bool RtspFaceView::SetFaceLabelParams::Reader::hasLabel() const {
+  return !_reader.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
+}
+inline bool RtspFaceView::SetFaceLabelParams::Builder::hasLabel() {
+  return !_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS).isNull();
+}
+inline  ::capnp::Text::Reader RtspFaceView::SetFaceLabelParams::Reader::getLabel() const {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_reader.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS));
+}
+inline  ::capnp::Text::Builder RtspFaceView::SetFaceLabelParams::Builder::getLabel() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::get(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS));
+}
+inline void RtspFaceView::SetFaceLabelParams::Builder::setLabel( ::capnp::Text::Reader value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::set(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS), value);
+}
+inline  ::capnp::Text::Builder RtspFaceView::SetFaceLabelParams::Builder::initLabel(unsigned int size) {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::init(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS), size);
+}
+inline void RtspFaceView::SetFaceLabelParams::Builder::adoptLabel(
+    ::capnp::Orphan< ::capnp::Text>&& value) {
+  ::capnp::_::PointerHelpers< ::capnp::Text>::adopt(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS), kj::mv(value));
+}
+inline ::capnp::Orphan< ::capnp::Text> RtspFaceView::SetFaceLabelParams::Builder::disownLabel() {
+  return ::capnp::_::PointerHelpers< ::capnp::Text>::disown(_builder.getPointerField(
+      ::capnp::bounded<0>() * ::capnp::POINTERS));
+}
+
+
+#endif  // CAPNP_INCLUDED_d6ce09ec6f6d1f1a_

--
Gitblit v1.8.0