Skip to content

Commit

Permalink
Update protobuf files
Browse files Browse the repository at this point in the history
  • Loading branch information
dwmw2 committed Apr 5, 2018
1 parent 8985733 commit 53146c1
Show file tree
Hide file tree
Showing 6 changed files with 385 additions and 0 deletions.
1 change: 1 addition & 0 deletions protobuf/auth_message.proto
Expand Up @@ -119,6 +119,7 @@ message AuthMessage {
optional bool authorized = 5;
optional string call_uuid = 6; // CCP only
optional string profile_uuid = 7; // for display only, CCP clients
optional fixed64 session_id = 8;
optional uint32 profile_id = 16; // for display only, relay clients

// at one point we had the idea that codec would be dynamically
Expand Down
7 changes: 7 additions & 0 deletions protobuf/ping.proto
@@ -0,0 +1,7 @@
// Copyright (c) 2014 Biba Systems, Inc. All rights reserved.

message Ping {
optional uint64 sent_ms = 1;
optional uint64 recv_ms = 2;
}

11 changes: 11 additions & 0 deletions protobuf/rr.proto
@@ -0,0 +1,11 @@
// Copyright (c) 2014 Biba Systems, Inc. All rights reserved.

message ScreenRR {
required uint32 version = 1;
required uint64 timestamp_ms = 2;
optional uint64 rtt_ms = 3;
optional uint64 bytes_recv = 4;
optional uint64 bytes_sent = 5;
optional uint32 frames_recv = 6;
optional uint32 frames_sent = 7;
}
43 changes: 43 additions & 0 deletions protobuf/screen_client_control_message.proto
@@ -0,0 +1,43 @@

message ScreenClientControlMessage {
optional ScreenClientControlMessageType message_type = 1;
optional uint32 profile_id = 2;
optional string display_name = 3;
optional uint32 keycode = 4;
optional uint32 keymodifier = 5;
optional uint32 mousemodifier = 6;
optional uint32 x = 7;
optional uint32 y = 8;
optional ScreenClientControlMessageError err = 9;
optional string errstr = 10;
optional int32 scroll_delta = 11;
optional string profile_uuid = 12;
}

enum ScreenClientControlMessageType {
OPEN = 1;
ACK = 2;
NACK = 3;
KEYUP = 4;
KEYDOWN = 5;
MOUSEUP = 6;
MOUSEDOWN = 7;
MOUSEMOVE = 8;
MOUSECLICK = 9;
MOUSEDCLICK = 10;
PARTCLOSE = 11;
UNEXPARTCLOSE = 12;
CLOSE = 13;
UNEXCLOSE = 14;
ERROR = 15;
HSCROLL = 16;
VSCROLL = 17;
RIGHT_MOUSEDOWN = 18;
RIGHT_MOUSEUP = 19;
}

enum ScreenClientControlMessageError {
ERROR_GENERIC = 1;
ERROR_SERVER = 2;
ERROR_CLIENT = 3;
}
309 changes: 309 additions & 0 deletions protobuf/video_control.proto
@@ -0,0 +1,309 @@
//
// Video signalling protocol message definitions
// version 2
//
// Copyright (c) 2014 Biba Systems, Inc. All rights reserved.
//

option optimize_for = LITE_RUNTIME;

message SignalFrame {
enum Type {
JOIN = 1;
JOIN_ACK = 2;
SUBSCRIBE = 3;
SUBSCRIBE_ACK = 4;
INDEX = 5;
STATS = 6;
PAUSE = 7;
RESUME = 8;
LEAVE = 9;
LEAVE_ACK = 10;
START_STREAM = 11;
STOP_STREAM = 12;
BITRATES = 13;
CLIENT_INFO = 14;
EXPRESS_STATS = 15;
AUDIO_CONTROL = 16;
AUDIO_METADATA = 17;
AUDIO_STREAM_ID_INFO = 18;
PING_PONG = 19;
AUDIO_STATUS = 20;
}

required uint64 timestamp_ms = 1;
required Type type = 2;
optional ErrorFrame error = 3;
optional JoinFrame join = 4; // client => server
optional JoinAckFrame joinack = 5; // client <= server
optional SubscribeFrame sub = 6; // client => server
optional SubscribeAckFrame suback = 7; // client <= server
optional IndexFrame index = 8;
optional StatsSampleFrame stats = 9;
optional PauseResumeFrame pause = 10;
optional LeaveFrame leave = 11;
optional LeaveAckFrame leave_ack = 12;
optional StartStopStreamFrame startstop = 13;
optional BitrateFrame bitrates = 14;
optional ClientInfoFrame client_info = 15;
repeated ExpressStatsFrame express_stats = 16;
optional AudioControlFrame audio_control = 17;
optional AudioMetadataFrame audio_metadata = 18;
optional AudioStreamIdInfoFrame audio_stream_id_info = 19;
optional PingPongFrame ping_pong = 20;
optional AudioStatusFrame audio_status = 21;
}

message ErrorFrame {
optional uint32 status = 1;
optional string description = 2;
}

enum JoinFlags {
SEND_BITRATES = 1;
}

message JoinFrame {
optional uint32 protocol_version = 1 [default=2];
optional uint32 max_num_of_videos = 2 [default=8];
optional uint32 flags = 3;
}

message JoinAckFrame {}

message LeaveFrame {}

message LeaveAckFrame {}

enum StreamServiceType {
RX = 1;
TX = 2;
DUPLEX = 3;
}

enum StreamMediaType {
AUDIO = 1;
VIDEO = 2;
}

message SubscribeFrame {
optional StreamServiceType duplex = 1 [default=RX];
repeated StreamDescriptor send_streams = 2;
repeated uint32 receive_stream_ids = 3;
optional string sdp_offer = 4;
optional string xrp_host = 5;
optional bool xrp_checkin = 6;
optional bool xrp_muted = 7;
}

message SubscribeAckFrame {
optional StreamServiceType duplex = 1;
repeated StreamAllocation allocations = 2;
optional string sdp_answer = 3;
repeated TrackMapping tracks = 4;
}

message IndexFrame {
optional bool at_capacity = 1;
repeated StreamDescriptor sources = 2;
repeated uint32 paused_at_source_ids = 3;
}

message StatsSampleFrame {
optional uint64 bytes_sent = 1;
optional uint64 bytes_recv = 2;
optional uint64 actual_enc_bitrate = 3;
optional uint64 avail_send_bandwidth = 4;
optional uint64 retransmit_bitrate = 5;
optional uint64 avail_recv_bandwidth = 6;
optional uint64 target_enc_bitrate = 7;
optional uint64 bucket_delay = 8;
optional uint64 transmit_bitrate = 9;
optional uint64 recv_bitrate = 10;
optional uint64 target_recv_bitrate = 11;
optional uint64 transmit_fps = 12;
optional uint64 local_render_fps = 13;
optional uint64 remote_render_fps = 14;
optional uint64 average_encode_ms = 15;
optional uint64 firs_recv = 16;
optional uint64 input_fps = 17;
optional uint64 nacks_recv = 18;
optional uint64 plis_recv = 19;
optional uint64 rtt_ms = 20;
repeated RecvVideoStatsFrame recv_video_stats = 21;
}

message RecvVideoStatsFrame {
required uint32 group_id = 1;
required uint32 stream_id = 2;
optional uint64 decode_ms = 3;
optional uint64 firs_sent = 4;
optional uint64 recv_fps = 5;
optional uint64 decode_fps = 6;
optional uint64 output_fps = 7;
optional uint64 render_fps = 8;
optional uint64 nacks_sent = 9;
optional uint64 plis_sent = 10;
optional uint64 packet_lost = 11;
optional uint64 fraction_packet_lost = 12;
}

message PauseResumeFrame {
repeated uint32 stream_ids = 1;
}

message StartStopStreamFrame {
repeated uint32 stream_ids = 1;
}

message BitrateFrame {
repeated Bitrate bitrates = 1;
}

message ClientInfoFrame {
optional uint32 group_id = 1;
optional uint32 width = 2;
optional uint32 height = 3;
}

message StreamDescriptor {
optional uint32 stream_id = 1;
optional uint32 framerate = 2;
optional uint32 max_bitrate_kbps = 3;
optional string track_label = 4;
optional uint32 profile_id = 5;
optional uint32 group_id = 6;
optional uint32 avg_bitrate_bps = 7;
optional string profile_uuid = 8;
optional StreamMediaType media_type = 9;
}

message StreamAllocation {
optional string track_label = 1;
optional uint32 stream_id = 2;
optional uint32 group_id = 3;
}

message TrackMapping {
optional uint32 stream_id = 1;
optional uint32 ssrc = 2;
optional string track_label = 3;
}

message Subscription {
optional uint32 source_stream_id = 1;
optional uint32 subscriber_profile_id = 2;
}

message Bitrate {
optional uint32 source_stream_id = 1;
optional uint32 avg_bitrate_bps = 2;
}

enum ExpressStatsType {
SSRC_AUDIO_SEND = 1;
SSRC_AUDIO_RECV = 2;
SSRC_VIDEO_SEND = 3;
SSRC_VIDEO_RECV = 4;
TRACK_REMOTE_AUDIO = 5;
TRACK_REMOTE_VIDEO = 6;
VIDEO_BANDWIDTH_ESTIMATION = 7;
INBOUND_RTP_LOCAL = 8;
OUTBOUND_RTP_LOCAL = 9;
INBOUND_RTP_LOCAL_VIDEO = 10;
OUTBOUND_RTP_LOCAL_VIDEO = 11;
}

enum ExpressMetricType {
AUDIO_INPUT_LEVEL = 1;
AUDIO_OUTUT_LEVEL = 2;
RESIDUAL_ECHO_LIKELIHOOD = 3;
ECHO_RETURN_LOSS_ENHANCEMENT_DB = 4;
PACKETS_SENT = 5;
PACKETS_RECEIVED = 6;
PACKETS_LOST = 7;
JITTER_RECEIVED_MS = 8;
CURRENT_JITTER_BUFFER_MS = 9;
CURRENT_DELAY_MS = 10;
TOTAL_AUDIO_ENERGY = 11;
TOTAL_SAMPLES_RECEIVED = 12;
CONCEALED_SAMPLES = 13;
EXPAND_RATE = 14;
COUNT_DECODING_CALLS_TO_NETEQ = 15;
COUNT_DECODING_NORMAL = 16;
COUNT_DECODING_PACKET_LOSS_CONCEALMENT = 17;
COUNT_DECODING_COMFORT_NOISE_GENERATED = 18;
COUNT_DECODING_PLCCNG = 19;
COUNT_DECODING_SILENCE_GENERATED = 20;
COUNT_DECODING_MUTED = 21;
SECONDARY_DECODED_RATE = 22;
SECONDARY_DISCARDED_RATE = 23;
ACCELERATE_RATE = 24;
SPEECH_EXPAND_RATE = 25;
PREEMPTIVE_EXPAND_RATE = 26;
ACTUAL_ENCODER_BITRATE = 27;
AVAILABLE_SEND_BANDWIDTH = 28;
RETRANSMIT_BITRATE = 29;
AVAILABLE_RECEIVE_BANDWIDTH = 30;
TARGET_ENCODER_BITRATE = 31;
BUCKET_DELAY_MS = 32;
TRANSMIT_BITRATE = 33;
ECHO_RETURN_LOSS_DB = 34;
AEC_DIVERGENT_FILTER_FRACTION = 35;
NACK_COUNT = 36;
}

message ExpressClientMetric {
required ExpressMetricType type = 1;
required double value = 2;
}

message ExpressStatsFrame {
required ExpressStatsType type = 1;
optional string stream_id = 2;
optional string group_id = 3;
optional string call_id = 4;
optional string profile_id = 5;
optional string ssrc_id = 6;
repeated ExpressClientMetric stats = 7;
}

message AudioControlFrame {
optional bool muted = 1;
}

message AudioMetadataFrame {
repeated AudioProfileState profile_states = 1;
}

message AudioProfileState {
// either volume or muted should be set, not both
optional uint32 audio_stream_id = 1;
optional uint32 volume = 2;
optional bool muted = 3;
optional uint32 signal_strength = 4;
optional fixed64 ntp_timestamp = 5;
}

message AudioStreamIdInfoFrame {
repeated AudioStreamIdInfo streams = 1;
}

message AudioStreamIdInfo {
optional uint32 audio_stream_id = 1;
optional string profile_id = 2;
}

enum PingPongType {
PING = 1;
PONG = 2;
}

message PingPongFrame {
required PingPongType type = 1;
required uint32 ping_id = 2;
}

message AudioStatusFrame {
optional uint32 xrp_status = 1;
}
14 changes: 14 additions & 0 deletions protobuf/video_stats.proto
@@ -0,0 +1,14 @@

message VideoStatsSample {
required uint64 timestamp_ms = 1;
optional uint64 bytes_sent = 2;
optional uint64 bytes_recv = 3;
optional uint64 actual_enc_bitrate = 4;
optional uint64 avail_send_bandwidth = 5;
optional uint64 retransmit_bitrate = 6;
optional uint64 avail_recv_bandwidth = 7;
optional uint64 target_enc_bitrate = 8;
optional uint64 bucket_delay = 9;
optional uint64 transmit_bitrate = 10;
}

0 comments on commit 53146c1

Please sign in to comment.