blob: c248c193aaec5670cb680d1da16ceb962ec716a5 [file] [log] [blame]
// 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;
}
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;
}