106 lines
2.1 KiB
Protocol Buffer
106 lines
2.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package api;
|
|
|
|
option go_package = "git.netflux.io/rob/octoplex/internal/generated/grpc/proto";
|
|
|
|
service InternalAPI {
|
|
rpc Communicate(stream Envelope) returns (stream Envelope);
|
|
}
|
|
|
|
message Envelope {
|
|
oneof payload {
|
|
Command command = 1;
|
|
Event event = 2;
|
|
}
|
|
}
|
|
|
|
message Command {
|
|
oneof command_type {
|
|
AddDestinationCommand add_destinaion = 1;
|
|
RemoveDestinationCommand remove_destination = 2;
|
|
StartDestinationCommand start_destination = 3;
|
|
StopDestinationCommand stop_destination = 4;
|
|
CloseOtherInstancesCommand close_other_instances = 5;
|
|
QuitCommand quit = 6;
|
|
}
|
|
}
|
|
|
|
message AddDestinationCommand {
|
|
string name = 1;
|
|
string url = 2;
|
|
}
|
|
|
|
message RemoveDestinationCommand {
|
|
string url= 1;
|
|
}
|
|
|
|
message StartDestinationCommand {
|
|
string url = 1;
|
|
}
|
|
|
|
message StopDestinationCommand {
|
|
string url = 1;
|
|
}
|
|
|
|
message CloseOtherInstancesCommand {}
|
|
|
|
message QuitCommand {}
|
|
|
|
message Event {
|
|
oneof event_type {
|
|
AppStateChangedEvent app_state_changed = 1;
|
|
DestinationStreamExitedEvent destination_stream_exited = 2;
|
|
DestinationAddedEvent destination_added = 3;
|
|
AddDestinationFailedEvent add_destination_failed = 4;
|
|
DestinationRemovedEvent destination_removed = 5;
|
|
RemoveDestinationFailedEvent remove_destination_failed = 6;
|
|
StartDestinationFailedEvent start_destination_failed = 7;
|
|
MediaServerStartedEvent media_server_started = 8;
|
|
OtherInstanceDetectedEvent other_instance_detected = 9;
|
|
FatalErrorEvent fatal_error = 10;
|
|
}
|
|
}
|
|
|
|
// TODO: complete
|
|
message AppStateChangedEvent {}
|
|
|
|
message DestinationStreamExitedEvent {
|
|
string name = 1;
|
|
string error = 2;
|
|
}
|
|
|
|
message DestinationAddedEvent {
|
|
string url = 1;
|
|
}
|
|
|
|
message AddDestinationFailedEvent {
|
|
string url = 1;
|
|
string error = 2;
|
|
}
|
|
|
|
message DestinationRemovedEvent {
|
|
string url = 1;
|
|
}
|
|
|
|
message RemoveDestinationFailedEvent {
|
|
string url = 1;
|
|
string error = 2;
|
|
}
|
|
|
|
message StartDestinationFailedEvent {
|
|
string url = 1;
|
|
string error = 2;
|
|
}
|
|
|
|
message MediaServerStartedEvent {
|
|
string rtmp_url = 1;
|
|
string rtmps_url = 2;
|
|
}
|
|
|
|
message OtherInstanceDetectedEvent {}
|
|
|
|
message FatalErrorEvent {
|
|
string error = 1;
|
|
}
|