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;
|
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;
|
|
|
|
};
|
2024-10-18 10:45:22 -07:00
|
|
|
message BooleanProperty {
|
|
|
|
bool value = 1;
|
|
|
|
};
|
|
|
|
message BytesProperty {
|
|
|
|
bytes 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;
|
|
|
|
Stream = 4;
|
|
|
|
AudioSpec = 5;
|
|
|
|
StreamID = 6;
|
|
|
|
}
|
|
|
|
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;
|
|
|
|
};
|