looper/ipc/common.proto

90 lines
1.7 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;
};
message StringProperty {
string value = 506;
}
message StreamId {
uint64 id = 504;
};
message Stream {
uint64 id = 501;
double len = 502;
string title = 503;
};
message StreamList {
repeated Stream streams = 500;
}
message Position {
double pos = 508;
};
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;
};