diff --git a/doc/docs.md b/doc/docs.md index 4a61ceb..ad51cca 100644 --- a/doc/docs.md +++ b/doc/docs.md @@ -86,6 +86,7 @@ - [ServerMessage.SubscribeResponse](#fishjam-ServerMessage-SubscribeResponse) - [ServerMessage.Track](#fishjam-ServerMessage-Track) - [ServerMessage.TrackAdded](#fishjam-ServerMessage-TrackAdded) + - [ServerMessage.TrackData](#fishjam-ServerMessage-TrackData) - [ServerMessage.TrackMetadataUpdated](#fishjam-ServerMessage-TrackMetadataUpdated) - [ServerMessage.TrackRemoved](#fishjam-ServerMessage-TrackRemoved) - [ServerMessage.ViewerConnected](#fishjam-ServerMessage-ViewerConnected) @@ -1003,6 +1004,7 @@ Defines any type of message passed between FJ and server peer | stream_disconnected | [ServerMessage.StreamDisconnected](#fishjam-ServerMessage-StreamDisconnected) | | | | viewer_connected | [ServerMessage.ViewerConnected](#fishjam-ServerMessage-ViewerConnected) | | | | viewer_disconnected | [ServerMessage.ViewerDisconnected](#fishjam-ServerMessage-ViewerDisconnected) | | | +| track_data | [ServerMessage.TrackData](#fishjam-ServerMessage-TrackData) | | | @@ -1334,6 +1336,24 @@ Notification sent when peer or component adds new track + + +### ServerMessage.TrackData +Notification containing a chunk of a track's data stream + + +| Field | Type | Label | Description | +| ----- | ---- | ----- | ----------- | +| room_id | [string](#string) | | | +| peer_id | [string](#string) | | | +| track | [ServerMessage.Track](#fishjam-ServerMessage-Track) | | | +| data | [bytes](#bytes) | | | + + + + + + ### ServerMessage.TrackMetadataUpdated diff --git a/fishjam/server_notifications.proto b/fishjam/server_notifications.proto index 94ceaf6..385afab 100644 --- a/fishjam/server_notifications.proto +++ b/fishjam/server_notifications.proto @@ -148,6 +148,14 @@ message ServerMessage { Track track = 4; } + // Notification containing a chunk of a track's data stream + message TrackData { + string room_id = 1; + string peer_id = 2; + Track track = 3; + bytes data = 4; + } + // Notification sent when streamer successfully connects message StreamConnected { string stream_id = 1; @@ -197,5 +205,6 @@ message ServerMessage { StreamDisconnected stream_disconnected = 23; ViewerConnected viewer_connected = 24; ViewerDisconnected viewer_disconnected = 25; + TrackData track_data = 26; } } diff --git a/fishjam_protos/lib/fishjam/server_notifications.pb.ex b/fishjam_protos/lib/fishjam/server_notifications.pb.ex index 83bc9d6..f0debf7 100644 --- a/fishjam_protos/lib/fishjam/server_notifications.pb.ex +++ b/fishjam_protos/lib/fishjam/server_notifications.pb.ex @@ -210,6 +210,17 @@ defmodule Fishjam.ServerMessage.TrackMetadataUpdated do field :track, 4, type: Fishjam.ServerMessage.Track end +defmodule Fishjam.ServerMessage.TrackData do + @moduledoc false + + use Protobuf, protoc_gen_elixir_version: "0.15.0", syntax: :proto3 + + field :room_id, 1, type: :string, json_name: "roomId" + field :peer_id, 2, type: :string, json_name: "peerId" + field :track, 3, type: Fishjam.ServerMessage.Track + field :data, 4, type: :bytes +end + defmodule Fishjam.ServerMessage.StreamConnected do @moduledoc false @@ -364,4 +375,6 @@ defmodule Fishjam.ServerMessage do type: Fishjam.ServerMessage.ViewerDisconnected, json_name: "viewerDisconnected", oneof: 0 + + field :track_data, 26, type: Fishjam.ServerMessage.TrackData, json_name: "trackData", oneof: 0 end