Skip to content

Commit df046bd

Browse files
Merge branch 'main' into bump-video-openapi20260225132256
2 parents cf67581 + f75909a commit df046bd

File tree

9 files changed

+490
-438
lines changed

9 files changed

+490
-438
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ MAKEFLAGS += -j$(NPROCS)
88

99
CURRENT_VERSION_MAJOR = 1
1010
CURRENT_VERSION_MINOR = 46
11-
CURRENT_VERSION_BUG = 0
11+
CURRENT_VERSION_BUG = 1
1212

1313
GIT_DESCRIBE := $(shell git describe)
1414
GITHUB_HEAD_REF ?= $(shell git branch --show-current)

jsonschemas/chat/attachment.schema.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"$schema": "https://json-schema.org/draft/2020-12/schema",
33
"$id": "attachment.schema.json",
44
"type": "object",
5-
"additionalProperties": false,
65
"properties": {
76
"type": { "type": "string" },
87
"image_url": { "type": "string", "format": "uri", "pattern": "^https://", "description": "Must be HTTPS and accessible" },

jsonschemas/chat/future_channel_ban.schema.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"properties": {
88
"target_id": { "type": "string" },
99
"created_by": { "type": "string" },
10+
"reason": { "type": "string" },
1011
"shadow": { "type": "boolean" },
1112
"created_at": { "type": "string", "format": "date-time" }
1213
}

jsonschemas/chat/message.schema.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
"created_at": { "type": "string", "format": "date-time" },
1919
"deleted_at": { "type": "string", "format": "date-time" },
2020
"mentioned_users_ids": { "type": "array", "items": { "type": "string" } },
21+
"mentioned_roles": { "type": "array", "items": { "type": "string" } },
22+
"mentioned_channel": { "type": "boolean" },
23+
"mentioned_here": { "type": "boolean" },
24+
"restricted_visibility": { "type": "array", "items": { "type": "string" } },
2125
"quoted_message_id": { "type": "string" },
2226
"pinned_at": { "type": "string", "format": "date-time" },
2327
"pinned_by_id": { "type": "string" },

protobuf/video/sfu/event/events.proto

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ package stream.video.sfu.event;
55
import "video/sfu/models/models.proto";
66
import "video/sfu/signal_rpc/signal.proto";
77

8+
option csharp_namespace = "Stream.Video.v1.Sfu.Events";
89
option go_package = "github.com/GetStream/protocol/protobuf/video/sfu/event";
910
option java_multiple_files = true;
1011
option java_outer_classname = "SfuEventsV1";
11-
option csharp_namespace = "Stream.Video.v1.Sfu.Events";
1212

1313
// SFUEvent is a message that is sent from the SFU to the client.
1414
message SfuEvent {
@@ -89,11 +89,9 @@ message ChangePublishOptions {
8989
string reason = 2;
9090
}
9191

92-
message ChangePublishOptionsComplete {
93-
}
92+
message ChangePublishOptionsComplete {}
9493

95-
message ParticipantMigrationComplete{
96-
}
94+
message ParticipantMigrationComplete {}
9795

9896
message PinsChanged {
9997
// the list of pins in the call.
@@ -130,8 +128,7 @@ message LeaveCallRequest {
130128
string reason = 2;
131129
}
132130

133-
message HealthCheckRequest {
134-
}
131+
message HealthCheckRequest {}
135132

136133
message HealthCheckResponse {
137134
models.ParticipantCount participant_count = 1;
@@ -266,7 +263,7 @@ message DominantSpeakerChanged {
266263
string session_id = 2;
267264
}
268265

269-
message AudioLevel{
266+
message AudioLevel {
270267
string user_id = 1;
271268
string session_id = 2;
272269
// 0.0 means complete silence, 1.0 loudest
@@ -353,4 +350,4 @@ message InboundVideoState {
353350
string session_id = 2;
354351
models.TrackType track_type = 3;
355352
bool paused = 4;
356-
}
353+
}

protobuf/video/sfu/models/models.pb.go

Lines changed: 408 additions & 398 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

protobuf/video/sfu/models/models.proto

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
syntax = "proto3";
22

33
package stream.video.sfu.models;
4+
45
import "google/protobuf/struct.proto";
56
import "google/protobuf/timestamp.proto";
67

8+
option csharp_namespace = "Stream.Video.v1.Sfu.Models";
79
option go_package = "github.com/GetStream/protocol/protobuf/video/sfu/models";
810
option java_multiple_files = true;
911
option java_outer_classname = "SfuModelsV1";
10-
option csharp_namespace = "Stream.Video.v1.Sfu.Models";
1112

1213
enum PeerType {
1314
// todo fix me (marcelo)
@@ -267,6 +268,7 @@ message ClientDetails {
267268
OS os = 2;
268269
Browser browser = 3;
269270
Device device = 4;
271+
string webrtc_version = 5;
270272
}
271273

272274
enum SdkType {
@@ -309,9 +311,9 @@ message RTMPIngress {
309311
double frame_rate = 3;
310312

311313
// Client info
312-
string software = 4; // e.g. "obs-studio"
313-
string version = 5; // e.g. "29.1.3"
314-
string encoder = 6; // e.g. "x264" or "NVIDIA NVENC"
314+
string software = 4; // e.g. "obs-studio"
315+
string version = 5; // e.g. "29.1.3"
316+
string encoder = 6; // e.g. "x264" or "NVIDIA NVENC"
315317

316318
// Connection info
317319
string remote_addr = 7;
@@ -391,7 +393,7 @@ enum WebsocketReconnectStrategy {
391393
WEBSOCKET_RECONNECT_STRATEGY_REJOIN = 3;
392394
// SDK should migrate to a new SFU instance
393395
WEBSOCKET_RECONNECT_STRATEGY_MIGRATE = 4;
394-
};
396+
}
395397

396398
message InputDevices {
397399
repeated string available_devices = 1;
@@ -457,14 +459,14 @@ enum ClientCapability {
457459
CLIENT_CAPABILITY_SUBSCRIBER_VIDEO_PAUSE = 1;
458460
// Instructs SFU that stats will be sent to the coordinator
459461
CLIENT_CAPABILITY_COORDINATOR_STATS = 2;
460-
};
462+
}
461463

462464
// ===================================================================
463465
// BASE (shared by all RTP directions)
464466
// ===================================================================
465467
message RtpBase {
466-
uint32 ssrc = 1; // raw stat["ssrc"]
467-
string kind = 2; // stat["kind"] ("audio","video")
468+
uint32 ssrc = 1; // raw stat["ssrc"]
469+
string kind = 2; // stat["kind"] ("audio","video")
468470
double timestamp_ms = 3; // stat["timestamp"] in milliseconds
469471
}
470472

@@ -474,20 +476,20 @@ message RtpBase {
474476
message InboundRtp {
475477
RtpBase base = 1;
476478

477-
double jitter_seconds = 2; // stat["jitter"]
478-
uint64 packets_received = 3; // stat["packetsReceived"]
479-
uint64 packets_lost = 4; // stat["packetsLost"]
479+
double jitter_seconds = 2; // stat["jitter"]
480+
uint64 packets_received = 3; // stat["packetsReceived"]
481+
uint64 packets_lost = 4; // stat["packetsLost"]
480482
double packet_loss_percent = 5; // (packets_lost / (packets_received + packets_lost)) * 100;skip if denominator <= 0 or counters decreased
481483

482484
// -------- AUDIO METRICS --------
483-
uint32 concealment_events = 10; // stat["concealmentEvents"]
485+
uint32 concealment_events = 10; // stat["concealmentEvents"]
484486
double concealment_percent = 11; // (concealedSamples / totalSamplesReceived) * 100 when totalSamplesReceived >= 96_000 (≈2 s @ 48 kHz)
485487

486488
// -------- VIDEO METRICS --------
487-
double fps = 20; // use delta(framesDecoded)/delta(time) with prev sample
489+
double fps = 20; // use delta(framesDecoded)/delta(time) with prev sample
488490
double freeze_duration_seconds = 21; // stat["totalFreezesDuration"]
489491
double avg_decode_time_seconds = 22; // stat["totalDecodeTime"] / max(1, stat["framesDecoded"])
490-
uint32 min_dimension_px = 23; // min(stat["frameWidth"], stat["frameHeight"]) for video-like tracks
492+
uint32 min_dimension_px = 23; // min(stat["frameWidth"], stat["frameHeight"]) for video-like tracks
491493
}
492494

493495
// ===================================================================
@@ -496,10 +498,10 @@ message InboundRtp {
496498
message OutboundRtp {
497499
RtpBase base = 1;
498500

499-
double fps = 10; // delta(framesEncoded)/delta(time) if missing
501+
double fps = 10; // delta(framesEncoded)/delta(time) if missing
500502
double avg_encode_time_seconds = 11; // stat["totalEncodeTime"] / max(1, stat["framesEncoded"])
501-
double bitrate_bps = 12; // delta(bytesSent)*8 / delta(timeSeconds); requires prev bytes/timestamp; ignore if delta<=0
502-
uint32 min_dimension_px = 13; // min(stat["frameWidth"], stat["frameHeight"])
503+
double bitrate_bps = 12; // delta(bytesSent)*8 / delta(timeSeconds); requires prev bytes/timestamp; ignore if delta<=0
504+
uint32 min_dimension_px = 13; // min(stat["frameWidth"], stat["frameHeight"])
503505
}
504506

505507
// ===================================================================
@@ -508,7 +510,7 @@ message OutboundRtp {
508510
message RemoteInboundRtp {
509511
RtpBase base = 1;
510512

511-
double jitter_seconds = 2; // stat["jitter"]
513+
double jitter_seconds = 2; // stat["jitter"]
512514
double round_trip_time_s = 3; // stat["roundTripTime"]
513515
}
514516

@@ -518,6 +520,6 @@ message RemoteInboundRtp {
518520
message RemoteOutboundRtp {
519521
RtpBase base = 1;
520522

521-
double jitter_seconds = 2; // stat["jitter"] if provided
523+
double jitter_seconds = 2; // stat["jitter"] if provided
522524
double round_trip_time_s = 3; // stat["roundTripTime"]
523525
}

protobuf/video/sfu/models/models_vtproto.pb.go

Lines changed: 43 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

protobuf/video/sfu/signal_rpc/signal.proto

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@ package stream.video.sfu.signal;
44

55
import "video/sfu/models/models.proto";
66

7+
option csharp_namespace = "Stream.Video.v1.Sfu.Signal";
78
option go_package = "github.com/GetStream/protocol/protobuf/video/sfu/signal_rpc";
89
option java_multiple_files = true;
910
option java_outer_classname = "SfuSignalV1";
10-
option csharp_namespace = "Stream.Video.v1.Sfu.Signal";
1111

1212
service SignalServer {
13-
1413
// SetPublisher sends the WebRTC offer for the peer connection used to publish A/V
1514
rpc SetPublisher(SetPublisherRequest) returns (SetPublisherResponse);
1615

@@ -75,9 +74,7 @@ message SendMetricsRequest {
7574
repeated models.RemoteOutboundRtp remote_outbounds = 6;
7675
}
7776

78-
message SendMetricsResponse {
79-
80-
}
77+
message SendMetricsResponse {}
8178

8279
message SendStatsRequest {
8380
string session_id = 1;
@@ -122,16 +119,16 @@ message ICERestartResponse {
122119
models.Error error = 1;
123120
}
124121

125-
message UpdateMuteStatesRequest{
122+
message UpdateMuteStatesRequest {
126123
string session_id = 1;
127124
repeated TrackMuteState mute_states = 3;
128125
}
129126

130-
message UpdateMuteStatesResponse{
127+
message UpdateMuteStatesResponse {
131128
models.Error error = 4;
132129
}
133130

134-
message TrackMuteState{
131+
message TrackMuteState {
135132
models.TrackType track_type = 1;
136133
bool muted = 2;
137134
}
@@ -170,11 +167,10 @@ message SendAnswerResponse {
170167
models.Error error = 4;
171168
}
172169

173-
message ICETrickleResponse{
170+
message ICETrickleResponse {
174171
models.Error error = 4;
175172
}
176173

177-
178174
message SetPublisherRequest {
179175
// sdp offer
180176
string sdp = 1;

0 commit comments

Comments
 (0)