syntax = "proto3";
package video.multiplex.internal.multiplex;
option go_package = "multiplex";

import "code.justin.tv/video/usherapi/rpc/usher/channel.proto";
import "code.justin.tv/video/usherapi/rpc/usher/channel_properties.proto";
import "code.justin.tv/video/usherapi/rpc/usher/hls_transcode.proto";
import "code.justin.tv/video/usherapi/rpc/usher/stream.proto";
import "code.justin.tv/video/digestion/pkg/dgn/dgn.proto";

service Multiplex {
  rpc ChannelPropertiesLiveHLSChannels(twitch.video.usher.ChannelPropertiesLiveHLSChannelsRequest) returns (twitch.video.usher.ChannelPropertiesLiveHLSChannelsResponse) {}
  rpc ChannelPropertiesList(twitch.video.usher.ChannelPropertiesListRequest) returns (twitch.video.usher.ListOf_ChannelPropertiesListResponse) {}
  rpc StreamMinuteBroadcasts(twitch.video.usher.StreamMinuteBroadcastsRequest) returns (twitch.video.usher.ListOf_StreamMinuteBroadcastsResponse) {}
  rpc ChannelLiveCheck(twitch.video.usher.ChannelLiveCheckRequest) returns (twitch.video.usher.ChannelLiveCheckResponse) {}
  rpc DisconnectChannel(dgn.ChannelRequest) returns (dgn.Channel) {}
  rpc HLSTranscodeShowChannel(twitch.video.usher.HLSTranscodeShowChannelRequest) returns (twitch.video.usher.HLSTranscode) {}
  rpc StreamForceReplicationByChannelId(twitch.video.usher.StreamForceReplicationByChannelIdRequest) returns (twitch.video.usher.StreamForceReplicationByChannelIdResponse) {}
  // rpc StreamShow(twitch.video.usher.StreamShowRequest) returns (twitch.video.usher.Stream) {}
}
