looper/ipc/common.proto

133 lines
2.5 KiB
Protocol Buffer
Raw Normal View History

2024-08-08 13:12:37 -07:00
syntax = "proto3";
import "google/protobuf/any.proto";
enum PropertyId {
BackendSpecific = 0;
StreamIdProperty = 1;
StreamsProperty = 2;
TitleProperty = 3;
FilenameProperty = 4;
FilePathProperty = 5;
PositionProperty = 6;
SpecProperty = 7;
BackendId = 8;
BackendName = 9;
2024-09-28 10:31:06 -07:00
PlaybackRate = 10;
LengthProperty = 11;
PriorityProperty = 12;
2024-08-08 13:12:37 -07:00
};
message StringProperty {
string value = 506;
}
2024-09-28 10:31:06 -07:00
message DoubleProperty {
double value = 1;
};
message BooleanProperty {
bool value = 1;
};
message BytesProperty {
bytes value = 1;
};
2024-10-26 09:01:06 -07:00
message IntProperty {
int64 value = 1;
}
2024-10-19 10:19:08 -07:00
message PropertyHintRange {
optional double min = 1;
optional double max = 2;
};
message PropertyHintEnum {
repeated string data = 1;
};
message PropertyHint {
oneof hint {
PropertyHintRange range = 1;
fixed64 max_length = 2;
PropertyHintEnum enum = 3;
};
};
enum PropertyType {
Double = 0;
Boolean = 1;
String = 2;
Bytes = 3;
2024-10-19 10:30:47 -07:00
StreamType = 4;
AudioSpecType = 5;
2024-10-19 10:19:08 -07:00
StreamID = 6;
2024-10-26 09:01:06 -07:00
Int = 7;
2024-10-19 10:19:08 -07:00
}
message Property {
PropertyType type = 1;
optional PropertyId id = 5;
optional string path = 2;
optional string name = 4;
optional PropertyHint hint = 3;
};
2024-08-08 13:12:37 -07:00
message StreamId {
uint64 id = 504;
};
message Stream {
uint64 id = 501;
double len = 502;
string title = 503;
};
message StreamList {
repeated Stream streams = 500;
}
enum EndianID {
LITTLE = 0;
BIG = 1;
};
enum FormatType {
UNSIGNED = 0;
SIGNED = 1;
FLOAT = 2;
};
message AudioSpec {
uint32 channel_count = 509;
EndianID endian = 510;
FormatType format_type = 511;
uint32 bits = 512;
uint64 sample_rate = 513;
optional uint64 min_samples = 514;
optional uint64 max_samples = 515;
}
message PropertyData {
PropertyId id = 100;
optional uint64 idx = 108;
google.protobuf.Any value = 101;
};
message GetProperty {
PropertyId id = 102;
optional string path = 107;
optional uint64 idx = 103;
};
message SetProperty {
PropertyId id = 104;
optional string path = 109;
optional uint64 idx = 105;
google.protobuf.Any value = 106;
};
message ResetProperty {
string path = 110;
optional uint64 idx = 111;
};
message ErrorResponse {
string id = 5000;
optional string desc = 5001;
bool fatal = 5002;
};
message PropertyDataOrError {
oneof data {
PropertyData output = 1;
ErrorResponse err = 2;
};
};
message ResetResponse {
optional PropertyDataOrError value = 1;
}
message MaybeError {
optional ErrorResponse err = 1;
};