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",