summaryrefslogtreecommitdiff
path: root/chromium/extensions/browser/api/media_perception_private/conversion_utils.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/extensions/browser/api/media_perception_private/conversion_utils.cc')
-rw-r--r--chromium/extensions/browser/api/media_perception_private/conversion_utils.cc57
1 files changed, 57 insertions, 0 deletions
diff --git a/chromium/extensions/browser/api/media_perception_private/conversion_utils.cc b/chromium/extensions/browser/api/media_perception_private/conversion_utils.cc
index 8ea457ea397..f8849a4b051 100644
--- a/chromium/extensions/browser/api/media_perception_private/conversion_utils.cc
+++ b/chromium/extensions/browser/api/media_perception_private/conversion_utils.cc
@@ -77,6 +77,8 @@ EntityType EntityTypeProtoToIdl(const mri::Entity& entity) {
return ENTITY_TYPE_PERSON;
case mri::Entity::MOTION_REGION:
return ENTITY_TYPE_MOTION_REGION;
+ case mri::Entity::LABELED_REGION:
+ return ENTITY_TYPE_LABELED_REGION;
case mri::Entity::UNSPECIFIED:
return ENTITY_TYPE_UNSPECIFIED;
}
@@ -100,9 +102,29 @@ Entity EntityProtoToIdl(const mri::Entity& entity) {
if (entity.has_depth())
entity_result.depth = DistanceProtoToIdl(entity.depth());
+ if (entity.has_label())
+ entity_result.entity_label = std::make_unique<std::string>(entity.label());
+
return entity_result;
}
+PacketLatency PacketLatencyProtoToIdl(
+ const mri::PacketLatency& packet_latency) {
+ PacketLatency packet_latency_result;
+
+ if (packet_latency.has_label()) {
+ packet_latency_result.packet_label =
+ std::make_unique<std::string>(packet_latency.label());
+ }
+
+ if (packet_latency.has_latency_usec()) {
+ packet_latency_result.latency_usec =
+ std::make_unique<int>(packet_latency.latency_usec());
+ }
+
+ return packet_latency_result;
+}
+
FramePerception FramePerceptionProtoToIdl(
const mri::FramePerception& frame_perception) {
FramePerception frame_perception_result;
@@ -127,6 +149,14 @@ FramePerception FramePerceptionProtoToIdl(
for (const auto& entity : frame_perception.entity())
frame_perception_result.entities->emplace_back(EntityProtoToIdl(entity));
}
+ if (frame_perception.packet_latency_size() > 0) {
+ frame_perception_result.packet_latency =
+ std::make_unique<std::vector<PacketLatency>>();
+ for (const auto& packet_latency : frame_perception.packet_latency()) {
+ frame_perception_result.packet_latency->emplace_back(
+ PacketLatencyProtoToIdl(packet_latency));
+ }
+ }
return frame_perception_result;
}
@@ -223,6 +253,24 @@ mri::State::Status StateStatusIdlToProto(const State& state) {
return mri::State::STATUS_UNSPECIFIED;
}
+void VideoStreamParamIdlToProto(mri::VideoStreamParam* param_result,
+ const VideoStreamParam& param) {
+ if (param_result == nullptr)
+ return;
+
+ if (param.id)
+ param_result->set_id(*param.id);
+
+ if (param.width)
+ param_result->set_width(*param.width);
+
+ if (param.height)
+ param_result->set_height(*param.height);
+
+ if (param.frame_rate)
+ param_result->set_frame_rate(*param.frame_rate);
+}
+
} // namespace
State StateProtoToIdl(const mri::State& state) {
@@ -243,6 +291,15 @@ mri::State StateIdlToProto(const State& state) {
if (state.device_context)
state_result.set_device_context(*state.device_context);
+ if (state.video_stream_param && state.video_stream_param.get() != nullptr) {
+ for (size_t i = 0; i < state.video_stream_param.get()->size(); ++i) {
+ mri::VideoStreamParam* video_stream_param_result =
+ state_result.add_video_stream_param();
+ VideoStreamParamIdlToProto(video_stream_param_result,
+ state.video_stream_param.get()->at(i));
+ }
+ }
+
return state_result;
}