2021-10-22 19:30:09 +00:00
|
|
|
syntax = "proto3";
|
|
|
|
package media_set;
|
|
|
|
|
|
|
|
option go_package = "pb/media_set";
|
|
|
|
|
|
|
|
import "google/protobuf/duration.proto";
|
|
|
|
|
|
|
|
message MediaSet {
|
|
|
|
message Audio {
|
|
|
|
int64 bytes = 1;
|
|
|
|
int32 channels = 2;
|
2021-10-27 19:34:59 +00:00
|
|
|
int64 approx_frames = 3;
|
|
|
|
int64 frames = 4;
|
|
|
|
int32 sample_rate = 5;
|
2021-10-22 19:30:09 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
message Video {
|
|
|
|
int64 bytes = 1;
|
|
|
|
google.protobuf.Duration duration = 2;
|
2021-10-27 19:34:59 +00:00
|
|
|
int32 thumbnail_width = 3;
|
|
|
|
int32 thumbnail_height = 4;
|
2021-10-22 19:30:09 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
string id = 1;
|
|
|
|
Audio audio = 2;
|
|
|
|
Video video = 3;
|
2021-10-27 19:34:59 +00:00
|
|
|
bool loaded = 4;
|
2021-10-22 19:30:09 +00:00
|
|
|
};
|
|
|
|
|
2021-10-29 12:52:31 +00:00
|
|
|
message FetchAudioProgress {
|
2021-10-27 19:34:59 +00:00
|
|
|
float percent_completed = 2;
|
|
|
|
repeated int32 peaks = 1;
|
|
|
|
}
|
|
|
|
|
2021-10-29 12:52:31 +00:00
|
|
|
message FetchRequest {
|
2021-10-22 19:30:09 +00:00
|
|
|
string id = 1;
|
|
|
|
}
|
|
|
|
|
2021-10-29 12:52:31 +00:00
|
|
|
message FetchAudioRequest {
|
2021-10-22 19:30:09 +00:00
|
|
|
string id = 1;
|
2021-10-27 19:34:59 +00:00
|
|
|
int32 num_bins = 2;
|
2021-10-22 19:30:09 +00:00
|
|
|
}
|
|
|
|
|
2021-10-29 12:52:31 +00:00
|
|
|
service FetchService {
|
|
|
|
rpc Fetch(FetchRequest) returns (MediaSet) {}
|
|
|
|
rpc FetchAudio(FetchAudioRequest) returns (stream FetchAudioProgress) {}
|
2021-10-22 19:30:09 +00:00
|
|
|
}
|