diff --git a/doc/docs.md b/doc/docs.md
index 1ac7ebe..cbff956 100644
--- a/doc/docs.md
+++ b/doc/docs.md
@@ -117,11 +117,13 @@
- [ServerMessage.TrackForwardingRemoved](#fishjam-ServerMessage-TrackForwardingRemoved)
- [ServerMessage.TrackMetadataUpdated](#fishjam-ServerMessage-TrackMetadataUpdated)
- [ServerMessage.TrackRemoved](#fishjam-ServerMessage-TrackRemoved)
+ - [ServerMessage.VadNotification](#fishjam-ServerMessage-VadNotification)
- [ServerMessage.ViewerConnected](#fishjam-ServerMessage-ViewerConnected)
- [ServerMessage.ViewerDisconnected](#fishjam-ServerMessage-ViewerDisconnected)
- [ServerMessage.EventType](#fishjam-ServerMessage-EventType)
- [ServerMessage.PeerType](#fishjam-ServerMessage-PeerType)
+ - [ServerMessage.VadNotification.Status](#fishjam-ServerMessage-VadNotification-Status)
- [Scalar Value Types](#scalar-value-types)
@@ -1356,6 +1358,7 @@ Defines any type of message passed between FJ and server peer
| channel_removed | [ServerMessage.ChannelRemoved](#fishjam-ServerMessage-ChannelRemoved) | | |
| track_forwarding | [ServerMessage.TrackForwarding](#fishjam-ServerMessage-TrackForwarding) | | |
| track_forwarding_removed | [ServerMessage.TrackForwardingRemoved](#fishjam-ServerMessage-TrackForwardingRemoved) | | |
+| vad_notification | [ServerMessage.VadNotification](#fishjam-ServerMessage-VadNotification) | | |
| viewer_connected | [ServerMessage.ViewerConnected](#fishjam-ServerMessage-ViewerConnected) | | |
| viewer_disconnected | [ServerMessage.ViewerDisconnected](#fishjam-ServerMessage-ViewerDisconnected) | | |
| streamer_connected | [ServerMessage.StreamerConnected](#fishjam-ServerMessage-StreamerConnected) | | |
@@ -1828,6 +1831,24 @@ Notification sent when a track is removed
+
+
+### ServerMessage.VadNotification
+Notification sent when voice activity changes on a track
+
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| room_id | [string](#string) | | |
+| peer_id | [string](#string) | | |
+| track_id | [string](#string) | | |
+| status | [ServerMessage.VadNotification.Status](#fishjam-ServerMessage-VadNotification-Status) | | |
+
+
+
+
+
+
### ServerMessage.ViewerConnected
@@ -1886,6 +1907,19 @@ Defines message groups for which peer can subscribe
| PEER_TYPE_AGENT | 2 | |
+
+
+
+### ServerMessage.VadNotification.Status
+
+
+| Name | Number | Description |
+| ---- | ------ | ----------- |
+| STATUS_UNSPECIFIED | 0 | |
+| STATUS_SILENCE | 1 | |
+| STATUS_SPEECH | 2 | |
+
+
diff --git a/fishjam/server_notifications.proto b/fishjam/server_notifications.proto
index 6cf2b49..9cd8259 100644
--- a/fishjam/server_notifications.proto
+++ b/fishjam/server_notifications.proto
@@ -186,6 +186,20 @@ message ServerMessage {
string input_id = 4;
}
+ // Notification sent when voice activity changes on a track
+ message VadNotification {
+ enum Status {
+ STATUS_UNSPECIFIED = 0;
+ STATUS_SILENCE = 1;
+ STATUS_SPEECH = 2;
+ }
+
+ string room_id = 1;
+ string peer_id = 2;
+ string track_id = 3;
+ Status status = 4;
+ }
+
// Notification sent when streamer successfully connects
message StreamConnected {
string stream_id = 1;
@@ -249,6 +263,7 @@ message ServerMessage {
ChannelRemoved channel_removed = 29;
TrackForwarding track_forwarding = 30;
TrackForwardingRemoved track_forwarding_removed = 31;
+ VadNotification vad_notification = 32;
// Streaming
diff --git a/fishjam_protos/lib/fishjam/server_notifications.pb.ex b/fishjam_protos/lib/fishjam/server_notifications.pb.ex
index f772d9a..d1a7275 100644
--- a/fishjam_protos/lib/fishjam/server_notifications.pb.ex
+++ b/fishjam_protos/lib/fishjam/server_notifications.pb.ex
@@ -25,6 +25,20 @@ defmodule Fishjam.ServerMessage.EventType do
field :EVENT_TYPE_SERVER_NOTIFICATION, 1
end
+defmodule Fishjam.ServerMessage.VadNotification.Status do
+ @moduledoc false
+
+ use Protobuf,
+ enum: true,
+ full_name: "fishjam.ServerMessage.VadNotification.Status",
+ protoc_gen_elixir_version: "0.16.0",
+ syntax: :proto3
+
+ field :STATUS_UNSPECIFIED, 0
+ field :STATUS_SILENCE, 1
+ field :STATUS_SPEECH, 2
+end
+
defmodule Fishjam.ServerMessage.RoomCrashed do
@moduledoc false
@@ -344,6 +358,20 @@ defmodule Fishjam.ServerMessage.TrackForwardingRemoved do
field :input_id, 4, type: :string, json_name: "inputId"
end
+defmodule Fishjam.ServerMessage.VadNotification do
+ @moduledoc false
+
+ use Protobuf,
+ full_name: "fishjam.ServerMessage.VadNotification",
+ protoc_gen_elixir_version: "0.16.0",
+ syntax: :proto3
+
+ field :room_id, 1, type: :string, json_name: "roomId"
+ field :peer_id, 2, type: :string, json_name: "peerId"
+ field :track_id, 3, type: :string, json_name: "trackId"
+ field :status, 4, type: Fishjam.ServerMessage.VadNotification.Status, enum: true
+end
+
defmodule Fishjam.ServerMessage.StreamConnected do
@moduledoc false
@@ -518,6 +546,11 @@ defmodule Fishjam.ServerMessage do
json_name: "trackForwardingRemoved",
oneof: 0
+ field :vad_notification, 32,
+ type: Fishjam.ServerMessage.VadNotification,
+ json_name: "vadNotification",
+ oneof: 0
+
field :viewer_connected, 24,
type: Fishjam.ServerMessage.ViewerConnected,
json_name: "viewerConnected",