| // Copyright 2018 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| // See platform2/media_perception/mojom/device_management.mojom for relevant |
| // comments on data fields. |
| |
| syntax = "proto2"; |
| |
| package mri; |
| |
| enum PixelFormat { |
| FORMAT_UNKNOWN = 0; |
| I420 = 1; |
| MJPEG = 2; |
| NV12 = 3; |
| } |
| |
| message VideoStreamParams { |
| optional uint32 width_in_pixels = 1; |
| optional uint32 height_in_pixels = 2; |
| optional float frame_rate_in_frames_per_second = 3; |
| optional PixelFormat pixel_format = 4; |
| } |
| |
| message VideoDevice { |
| optional string id = 1; |
| optional string display_name = 2; |
| optional string model_id = 3; |
| repeated VideoStreamParams supported_configurations = 4; |
| optional VideoStreamParams configuration = 5; |
| optional bool in_use = 6; |
| } |
| |
| message VirtualVideoDevice { |
| optional VideoDevice video_device = 1; |
| } |
| |
| enum SampleFormat { |
| SND_PCM_UNKNOWN_FORMAT = 0; |
| SND_PCM_FORMAT_S32_LE = 1; |
| SND_PCM_FORMAT_S16_LE = 2; |
| } |
| |
| message AudioStreamParams { |
| optional float frequency_in_hz = 1; |
| optional int32 num_channels = 2; |
| optional int32 frame_size = 3; |
| optional SampleFormat sample_format = 4; |
| } |
| |
| message AudioDevice { |
| optional string id = 1; |
| optional string display_name = 2; |
| repeated AudioStreamParams supported_configurations = 3; |
| optional AudioStreamParams configuration = 4; |
| } |
| |
| enum DeviceType { |
| DEVICE_TYPE_UNKNOWN = 0; |
| VIDEO = 1; |
| AUDIO = 2; |
| VIRTUAL_VIDEO = 3; |
| } |
| |
| message DeviceTemplate { |
| optional string template_name = 1; |
| optional DeviceType device_type = 2; |
| } |
| |